This is the first real wall people hit. Single images go well, then you need the same character in six scenes for a story, a brand, or a set — and every generation returns a different person who merely matches the description.
Why description alone can't work
'A woman in her thirties with dark curly hair and green eyes' does not describe a person. It describes a category containing millions of people, and the model samples from it fresh each time. Adding detail narrows the category but never collapses it to one identity — you can specify twelve attributes and still get twelve different faces that satisfy all twelve. Identity lives in proportions and micro-geometry that no natural-language description reaches.
Fixing the seed doesn't solve this either. A fixed seed with a changed prompt gives you a related composition, not a preserved identity — as soon as the scene changes meaningfully, so does the face.
What works, in order of reliability
- 1.Reference-image editing. Generate or choose one canonical image of the character, then feed it back as a reference for every subsequent generation, changing only the scene. This is what gpt-image-2's and Nano Banana 2's edit endpoints do, and it is by a wide margin the most reliable method available without training anything. It's also the mechanism behind most image-guided prompts on this site.
- 2.A frozen character block. Write the character description once and paste it byte-identical into every prompt, with only the scene text changing. Any rewording — even a synonym — shifts the sampled identity. Treat it as a fixed string, not prose you're free to polish.
- 3.A character sheet first. Generate one image with several views of the same person (front, three-quarter, profile) in a single frame, then use that sheet as your reference. It gives the reference-based methods far more to work with than a single frontal shot.
- 4.LoRA or fine-tuning. Train a small adapter on 15–30 images of the character. Highest fidelity by a distance, and the only approach that survives radical scene and style changes — but it needs an open-weights model, some setup, and the images to train on.
The consistency budget
Even done well, not everything holds equally. Realistic expectations for reference-based work:
| Attribute | How well it holds |
|---|---|
| Overall face structure | Good — recognisably the same person |
| Hair colour and rough style | Good |
| Age and build | Good |
| Exact hairstyle detail | Drifts across scenes |
| Clothing specifics — buttons, patterns, logos | Drifts noticeably; re-specify every time |
| Small permanent marks — freckles, scars, a specific tattoo | Poor; usually lost or reinvented |
| Eye colour | Middling; state it explicitly in every prompt |
The practical response is to design around it. Give the character a silhouette rather than a detailed outfit — 'a long mustard coat' survives; 'a mustard coat with six brass buttons and a frayed left cuff' does not. Avoid distinguishing features that live in a few pixels. And when a generation is close but not right, edit from the reference again rather than regenerating from text, which restarts the identity lottery.
- Holding a consistent style across a set — The other half of the consistency problem
- Browse by model — See the same kind of prompt across all three engines we publish with
- Browse the gallery — Reference-guided prompts are marked in each parameter table