guide

AI girlfriend photos: the prompt formula for getting the same face twice

You generate a perfect image of your AI girlfriend. Then you generate another one and she looks like a different person. The consistency problem is the #1 frustration in AI image generation, and the fix is more systematic than most people realize.

May 23, 2026 · 9 min read

Affiliate disclosure: Some of the links in this article are affiliate links. We may earn a commission if you sign up for a platform through these links, at no additional cost to you. This doesn't influence our editorial verdicts. Full disclosure →

The first AI girlfriend image you generate is exciting. The second one is frustrating. Because the second one looks like a different person. Different jawline. Different eye shape. Different nose. The hair color might match because you specified it, but the face itself has drifted into someone else's territory.

This is the character consistency problem, and it's the single most common complaint in AI image generation for companion platforms. The technology can produce stunning individual images. It cannot, by default, produce two images of the same person. Every image is a new interpretation of your text description, and text descriptions are inherently ambiguous about the specific geometric relationships that make a face recognizable.

The good news: consistency is achievable. Not through a single trick but through a systematic approach that constrains the model's interpretation space until the variance between generations narrows enough to read as the same character. These techniques work across Candy AI, DreamGF, OurDream, SoulGen, PromptChan, and Perchance.

Why faces drift

Understanding the mechanism helps you fight it. The Stable Diffusion technical documentation explains the mechanism in detail. Image generation models work by interpreting text prompts as a set of constraints and then generating an image that satisfies all constraints simultaneously. "Brown hair, green eyes, oval face, light skin" narrows the possibility space but still admits millions of faces that fit the description. Each generation samples randomly from that space, and two random samples from the same space are almost never the same face.

The solution is to narrow the space further until the remaining possibilities are close enough to each other that the variation reads as the same person from different angles rather than different people.

The consistency formula

This is a seven-layer system. Each layer adds constraints that reduce face drift. The more layers you apply, the tighter the consistency.

Layer 1: The anchor description

Write one character description and never change a single word of it across generations. Not "similar wording." Identical wording. Copy-paste the exact same description every time.

The anchor description should cover: hair color and style (including length, texture, parting), eye color and shape (including distance apart and brow shape), face shape (oval, heart, square, round), skin tone (specific shade, not just "light" or "dark"), nose shape, lip fullness, and any distinguishing marks (freckles, moles, scars, dimples).

"Light olive skin, heart-shaped face, dark brown wavy hair past her shoulders with a center part, hazel-green eyes slightly upturned at the outer corners, thin arched eyebrows, small straight nose with a slight upturn at the tip, full lower lip, faint freckles across the bridge of her nose and cheeks."

That description constrains the face space substantially more than "pretty brunette with green eyes." The specificity of "hazel-green" versus "green," "slightly upturned at the outer corners" versus "almond-shaped," and "faint freckles across the bridge" versus "some freckles" each eliminate a chunk of the possibility space.

Layer 2: The style lock

Use the same style keywords in every prompt. If your first image used "photorealistic, soft lighting, shallow depth of field," every subsequent image uses those exact keywords. Style changes cause face drift because different rendering styles interpret the same facial description differently.

This extends to specific model or style selections on platforms that offer them. On PromptChan, use the same Anime XL model and LoRA combination every time. On Candy AI, keep the same style preset. On SoulGen, keep the same base model. Switching models between generations of the same character is the fastest way to destroy consistency.

Layer 3: The lighting declaration

Specify the same lighting direction and quality in every generation. "Soft warm light from the upper left" produces a consistent shadow pattern that helps the face read as the same person across images. Changing lighting direction changes shadow placement, which changes how the face appears even if the underlying geometry is identical.

The photography vocabulary guide covers 20 lighting terms that translate to image prompts. For consistency specifically, pick one lighting setup and commit to it across all generations of the same character.

Layer 4: The negative prompt

Include the same negative prompt in every generation: "bad anatomy, asymmetrical face, different person, inconsistent features, deformed, blurry, watermark, extra fingers."

The key additions for consistency specifically: "different person" and "inconsistent features." These terms tell the model that deviation from the established character is unwanted, which biases the generation toward the center of the constrained space rather than the edges.

Layer 5: The pose progression

Generate your first several images at the same angle before changing poses. Start with straight-on portraits. Once you have 3-4 consistent straight-on images, move to three-quarter view. Then profile. Then full body.

Each angle change introduces new information the model has to interpret (how does this face look from the side?), which is a drift opportunity. Building a library of consistent straight-on images first establishes the baseline face so strongly that the model has more "momentum" to maintain when you introduce angle changes.

Layer 6: The seed strategy (platform-dependent)

Some platforms expose seed values — the random number that initializes each generation. Using the same seed with the same prompt produces the same image. Using a similar seed with modified prompts (different pose, different outfit) produces a similar face with the requested changes.

PromptChan and self-hosted Stable Diffusion expose seeds. Candy AI, DreamGF, and OurDream do not. On platforms without seed control, the other six layers compensate.

On platforms with seed control: generate until you get a face you love. Note the seed. Use that seed as the base for all future generations. Modify the prompt (outfit, pose, setting) while keeping the seed and the anchor description identical. The face stays close because the initialization point is the same.

Layer 7: The reference image (where supported)

Some platforms support image-to-image generation, where you upload an existing image and the model generates a new image that references the original. This is the most powerful consistency tool because the model has a visual reference rather than relying solely on text interpretation.

SoulGen's inpainting tools support this workflow. Upload a base image, then modify specific elements (change outfit, change background, change pose) while the face remains anchored to the original. OurDream supports image-to-image with its video generation pipeline. Perchance supports image-to-image in some generator configurations.

Platform-specific consistency notes

Candy AI has the best built-in consistency because the platform maintains a persistent character model. Once you create a character on Candy, the image generation engine references that character model for every subsequent generation. You don't need to manage consistency manually because the platform handles it architecturally. This is Candy's genuine competitive advantage in image generation.

DreamGF similarly maintains a character-first workflow where images are generated of an established character rather than from scratch prompts. The consistency within a single character is strong. Creating a new character and trying to match an existing one is harder.

PromptChan requires manual consistency management using the anchor description and seed strategy. The community gallery helps because you can find users who've achieved consistency with specific characters and study their prompt + seed combinations.

Perchance is the hardest platform for consistency because there's no seed control, no image-to-image, and the model quality is lower. The anchor description and negative prompt layers are your only tools. Expect more variance. Generate more images and curate more aggressively.

The outfit swap technique

Once you've established a consistent face, changing outfits without losing the face requires a specific approach: keep the anchor description identical (non-negotiable), change only the clothing description, and add "same person, consistent facial features" to the positive prompt.

"[Entire anchor description unchanged]. Wearing a black cocktail dress with thin straps. Same person, consistent facial features."

The "same person" instruction in the positive prompt reinforces the consistency intent in a way that the negative prompt alone doesn't. It's redundant-feeling but genuinely effective because the model processes positive and negative prompts through different mechanisms.

The setting swap technique

Same principle as outfit swaps. Keep the anchor description, change the setting, reinforce consistency.

"[Entire anchor description unchanged]. Standing on a balcony overlooking a city skyline at sunset, leaning against the railing. Same character, identical facial features."

Setting changes are less likely to cause face drift than outfit changes because the setting occupies different pixel space than the character. The face has no reason to change when only the background changes, but models still drift without the consistency reinforcement.

When to accept imperfection

Perfect consistency across angles, lighting conditions, outfits, and settings is possible on Candy AI's character-locked system and on self-hosted Stable Diffusion with careful seed management. On every other platform, consistency is a spectrum. You're aiming for "recognizably the same person" rather than "photographically identical."

The threshold that matters is recognition. If you put two generated images side by side and a human would say "that's the same person," the consistency is working. If a human would say "those could be sisters," the consistency needs tightening. If a human would say "those are different people," the anchor description needs more specificity.

The 30 prompt patterns cover advanced techniques for specific image types. This consistency formula is the foundation that makes all of those techniques reusable across a character's image library rather than producing a gallery of beautiful strangers.