How to keep the same character consistent across AI images
Consistent characters in AI images: write a character sheet, fix descriptors, use seeds and reference images, and understand Midjourney --cref and --sref.
The AnyToPrompt team · · 5 min read
Image models generate every picture from scratch. They have no memory of the character you made five minutes ago, so “the same woman as before” means nothing to them. Consistency has to come from what you give the model each time: the same words, the same references and, where possible, the same settings.
No method gives perfect identity across every image, but combining the techniques below gets you close enough for comics, storyboards, children’s books and recurring brand mascots.
Write a character sheet in prose
Before generating anything, write down who the character is in concrete, visual terms. This is the single most useful step, and it works in every model.
A good character sheet covers:
- Age range and build: “woman in her late thirties, tall and lean”.
- Face: shape, distinctive features, eye colour, eyebrows, any scars, freckles or glasses.
- Hair: colour, length, texture and style, as precisely as possible.
- Skin tone: described plainly and specifically.
- Signature outfit: two or three garments with colours and materials.
- One or two unique accessories: the details that make the character recognisable at a glance.
Before: a young explorer girl
After: a ten-year-old girl with a round face, dense freckles across her nose, gap in her front teeth, short copper-red hair in a messy bob with a cowlick at the crown, mustard-yellow raincoat with wooden toggle buttons, green rubber boots, a brass compass on a leather cord around her neck
The first prompt will give a different girl every time. The second describes enough specific features that each new image has to land in a much narrower range.
Fix your descriptors and never paraphrase them
Once the sheet is written, copy it into every prompt word for word. Changing “copper-red hair” to “ginger hair” or “auburn hair” is a different instruction to the model, even if it sounds the same to you.
Keep the character block at the start of the prompt and add the scene after it:
[CHARACTER BLOCK], sitting on a mossy log in a pine forest, reading a map, soft overcast light, watercolour illustration
[CHARACTER BLOCK], running along a rainy harbour wall, seen from behind, gulls overhead, watercolour illustration
Keep the style line fixed too. A character that is consistent in watercolour can look like a different person when switched to 3D render.
Anchor with outfit and hair
Faces are the hardest thing to keep identical; models drift on subtle facial proportions. Clothing, hair and accessories are much more stable, and readers recognise characters by them anyway. That is why cartoon characters wear the same outfit in every episode.
Choose anchors that are:
- High contrast with the rest of the palette, such as a bright raincoat in a muted scene.
- Simple in shape, like a bob, a single braid or a round pair of glasses.
- Unusual enough that the model does not confuse them with a default, for example a brass compass rather than “a necklace”.
Avoid tiny details such as small tattoos, logos or patterned fabric; they change from image to image and draw attention when they do.
Seeds and settings
A seed is the starting noise an image is generated from. With the same seed, prompt and settings, many tools produce the same or very similar image. Changing a few words while keeping the seed often preserves much of the composition and look.
- Stable Diffusion interfaces show the seed for each image and let you reuse it. Keep the checkpoint, sampler, steps and resolution fixed too.
- Midjourney accepts
--seedfollowed by a number. It helps with similar compositions but is not a character identity tool on its own. - Flux and Gemini handle seeds differently depending on the app you use them in, and many consumer interfaces don’t expose one.
Seeds help most when the scene changes only slightly. For a new pose or setting, references are more effective.
Reference images
The strongest consistency method is giving the model an image of the character alongside the text.
Midjourney character and style references
Midjourney has offered two related ideas. A character reference (--cref followed by an image URL, introduced with version 6) asks the model to keep the person in the reference: face, hair and, depending on the character weight --cw, clothing. A low --cw keeps mainly the face, so you can change the outfit; a high value tries to keep everything. In version 7, Midjourney introduced Omni Reference (--oref) as the broader replacement for putting a specific character or object into a new image. Check which reference options your selected version supports, because they change between versions.
A style reference (--sref) is different: it copies the look of an image, such as colour, texture and rendering, but not its content. Use both together when you want the same character in the same visual style. The Midjourney parameters guide covers --sref and the other flags in more detail, and our Midjourney prompt generator formats the text part for you.
the girl in the yellow raincoat crouching to look at a crab in a rock pool, low tide, watercolour illustration --cref [character image URL] --cw 100 --sref [style image URL] --ar 3:2
Other models
- Stable Diffusion: reference adapters such as IP-Adapter, or a small LoRA trained on images of your character, give the most control. A LoRA takes effort to train but is the most reliable route for long projects.
- Flux: editing-capable versions accept an input image and can place the same character in a new scene from a text instruction.
- Gemini (Nano Banana): upload the character image and describe the change you want, such as a new pose or setting, in plain sentences. The Nano Banana prompt generator writes prompts in that instruction style.
Build a reference set first
Generate one strong image of the character in a neutral pose, plain background and even light. Then make a small reference set: front view, three-quarter view, side view, and a full-body shot. Use these as references for every later scene.
If you have a drawing or photo you own and want to describe it, the image describer gives you a detailed written version to start your character sheet from.
Common pitfalls
- Paraphrasing the character block. Every synonym is a new instruction.
- Changing the style mid-project. Style and identity are entangled in most models.
- Overloading the scene. A busy prompt pushes the character description down and reduces its influence. Keep scenes short.
- Multiple characters in one image. Models often blend features between people. Describe each character in its own clause, and place them clearly: “on the left”, “on the right”.
- Using real people. Don’t build characters from real people’s faces without their permission. Invented characters avoid the problem entirely.
Lighting also affects how recognisable a face is: harsh side light changes apparent face shape. Keeping the light similar between scenes helps, and the lighting prompts guide has the vocabulary.
Consistency checklist
- Written character sheet with face, hair, skin tone, build, outfit and accessories.
- Character block pasted verbatim at the start of every prompt.
- Fixed style line and similar lighting across scenes.
- Strong outfit and hair anchors, no tiny details.
- A neutral reference set in several angles.
- Reference images through
--cref,--oref, IP-Adapter, a LoRA or image input, depending on your tool. - Seeds reused for small variations.