You got it. Image one, third attempt — exactly the character you had in your head. So you wrote the next prompt, changed "standing in a doorway" to "sitting at a table," hit generate, and got a stranger. Same hair colour. Same age, roughly. Completely different person.

So you made the description longer. Added cheekbones, jaw shape, the exact shade of the eyes. It got worse.

Why the same face won't stick

AI character consistency doesn't come from better descriptions — it comes from reference images, fixed seeds, and a short locked descriptor block, used together. The reason longer prompts fail is structural: every generation is independent. The model isn't remembering your character between images; it's re-rolling a face that satisfies your text. "Woman, 30s, brown hair, green eyes, sharp jawline" describes several million people, and you get a different one from that set each time. Description can't be identity, because description is a category and identity is a specific. The fix is to stop describing and start showing — feed the model the face instead of an account of it.

Description is a category, not a person

Here's the thing worth internalising: your prompt is a filter, not a memory.

When you write a character description, you're narrowing the space of possible faces. A long description narrows it more. But narrowing a set never gets you to one member of it — and past a certain length, extra detail actively backfires, because models start dropping or blending attributes when you overload them. Somewhere around 50 to 60 words of appearance description, adding more makes results less stable, not more. You end up with a face that has some of your traits, plus some it invented to fill gaps.

This is why the intuitive move — describe harder — is exactly wrong. You're trying to specify a point using a description of a region.

The 2026 shift: show, don't describe

The workflow that replaced long prompts is reference-first, and it's the single biggest change in how people actually use these tools now.

Instead of describing the face, you generate one image you're happy with and then pass that image into every subsequent generation as a reference. The model compares against real pixels rather than your account of them. Your text prompt shrinks to describing only what's changing — the pose, the setting, the light.

Three levers, in order of power:

1. Reference images. The heavy lifter. Most current tools accept a character or subject reference; some accept several at once, which is stronger still — a front view plus a three-quarter view plus a profile gives the model actual geometry instead of one flat impression.

2. Seeds. A seed is the starting random number. Same seed, same prompt, same settings gives you the same image. Hold the seed and change one word, and you get a controlled variation rather than a fresh roll of the dice. This is how you explore around an image you like instead of away from it.

3. A locked descriptor block. A short, fixed paragraph you paste identically every time, never reworded. Not because it holds the face on its own — it doesn't — but because varying your wording between generations adds drift on top of everything else. Keep it under 40 words and treat it as a constant.

Note what's not on the list: writing more. Once you have a reference, your prompt should get shorter.

Flag syntax for reference parameters changes between versions and tools, so check current docs rather than copying a flag from an article — including this one.


The prompts

1. The character sheet builder

Character reference sheet, same person in all panels: front view, three-quarter
view, profile. Neutral expression, even flat lighting, plain mid-grey
background, no shadows. Consistent facial structure across all three.

[your locked descriptor block]

Photorealistic, sharp focus, no stylisation.

Why it's built this way: flat light and a plain background strip out everything that isn't the face, which is what makes this usable as a reference later. Shadows and mood are the enemy here — they get baked into the reference and follow you into every subsequent image. Swap in: your descriptor block. Generate this first, before any real scene.

2. The locked descriptor block

[Name], [age] years old, [heritage/skin tone], [hair: length, texture,
colour, how it's worn], [eye colour], [face shape], [one distinctive
feature], [build].

Why it's built this way: under 40 words, always in this order, never reworded. The "one distinctive feature" slot does disproportionate work — a scar, a gap tooth, a specific mole gives the model an anchor that generic attributes don't. Swap in: your character. Then save it in a note and paste it byte-identical every single time. Rewording it is the most common self-inflicted cause of drift.

3. The scene prompt, once you have a reference

[reference image attached]

Same person. Sitting at a café table by a window, afternoon light from
the left, holding a paper cup, looking off-frame. 50mm, f/2.0.

Why it's built this way: notice what's absent — the face isn't described at all. The reference carries identity; the text carries only change. This is the whole technique, and the discipline is resisting the urge to re-describe. Swap in: the scene. Keep it to what's different.

4. The product lock

[clean reference shot attached]

Same product, unchanged. Placed on a raw linen surface, morning window
light from the right, soft shadow falling left, a sprig of eucalyptus
out of focus behind. Do not alter the product's label, proportions,
colour or text.

Why it's built this way: products are harder than faces because errors are more legible — a wrong logo reads as fake instantly where a slightly different cheekbone doesn't. The explicit "do not alter" clause helps, though it isn't a guarantee. Start from a clean shot on white. Swap in: the scene only. For anything with readable text on the packaging, plan to composite the real product in — no current model renders small label text reliably enough to trust.

5. The turnaround expander

[reference image attached]

Same person, same clothing, same lighting setup. Generate: (a) from
behind, (b) three-quarter from the right, (c) full body, standing.
Keep facial structure, hair and outfit identical across all three.

Why it's built this way: asking for multiple views in one generation forces the model to reconcile them against each other, which usually holds better than three separate calls. Swap in: the angles you need. Use the outputs as additional references and your consistency compounds.

6. The drift diagnostic

[image A attached] [image B attached]

These should be the same person. List every specific difference you can
see in facial structure, proportions, hair and skin. Be forensic and
literal. Then tell me which single attribute in my prompt is most likely
causing the drift.

My prompt: [paste it]

Why it's built this way: you stop seeing the drift after an hour of looking at near-identical faces. Making the model do a literal comparison catches what your eye has normalised, and pointing it at your prompt usually surfaces one vague word doing the damage. Swap in: your two worst-matching images.


Where each lever actually helps

Lever Holds identity Effort Use it when
Reference image Strongest Low, once you have one Always. This is the default now
Multiple references Strongest — gives real geometry Medium Faces you'll reuse dozens of times
Seed lock Moderate — holds the roll, not the face Low Exploring variations around an image you like
Locked descriptor block Weak alone, useful combined Low Every time, as a constant — never reworded
Longer description Actively harmful past ~60 words High Never. This is the trap
Compositing in an editor Absolute High Product labels, logos, anything with readable text

The honest hierarchy: reference image first, seed second, descriptor block as hygiene. If you're still fighting after those three, the answer isn't a better prompt — it's an editor.

What still doesn't work

Worth being straight about the ceiling.

Small readable text — labels, logos, packaging copy — is unreliable everywhere, though it's improved a lot. If the text has to be right, composite it.

Perfect identity across very different lighting drifts. A face lit softly from a window and the same face under hard noon sun will read as slightly different people, because lighting changes the apparent geometry your reference was carrying.

Long sequences. Consistency degrades as you chain generations, especially if you start using outputs as references for further outputs. Copy-of-a-copy drift is real. Keep going back to your original reference rather than the most recent image.

And the sharpest trade-off: the model with the best aesthetics often isn't the one that holds identity best. Prettiness and fidelity are separate axes, and for a batch of thirty, fidelity is what you need.

Related guides

Generate the sheet first

The habit that fixes this permanently is boring: before you make a single real image, make the character sheet. Flat light, plain background, three angles. It takes one extra generation and it turns every subsequent image from a gamble into a variation.

Portrait prompts on PromptThisOne — the full set, ready to copy.