The 5-step consistency workflow
One face stays the same when you stop letting the AI guess. Do these five things and drift disappears.
1
Build a character sheet (the DNA)Write one detailed description of the face: shape, eyes, nose, lips, skin, hair, build and one or two signature marks. This block is your character's DNA. save it in a note you can paste from
2
Reuse the identical description every timePaste the exact same wording into every prompt and change only the scene, pose or outfit. Same words in, same face out. Even small edits to the description nudge the face into a new person. copy, do not retype
3
Anchor it with a reference imageMake one clean, front-facing master portrait first, then point every later shot back at it. A picture pins the face far tighter than words alone. Midjourney --cref, or IP-Adapter / InstantID in FLUX and SD
4
Lock a seed where it is supportedThe seed is the random starting point. Fix it and results become repeatable instead of a fresh roll. Works in FLUX and Stable Diffusion, not in ChatGPT, Gemini or Nano Banana. same seed + same prompt = same base
5
Use each model's own consistency toolEvery model has a purpose-built way to hold a face: Midjourney --cref, Nano Banana keep-the-face edits, reference upload in ChatGPT and Gemini, a LoRA in Stable Diffusion. Reach for it instead of hoping. see the per-model card below
The character bible template
Fill this in once, save it, and paste the whole block into every prompt. Keep wardrobe OUT of it so you can change clothes without changing the face.
CHARACTER: [name or code, e.g. MIA-01]
AGE: [range, e.g. mid-20s]
FACE: [shape + jaw, e.g. oval face, soft jaw]
EYES: [color + shape, e.g. warm hazel, almond]
BROWS: [e.g. soft, medium-thick, gently arched]
NOSE: [e.g. small, straight bridge]
LIPS: [e.g. full, natural rose]
SKIN: [tone + texture + marks, e.g. warm fair, light freckles across the nose]
HAIR: [color + length + texture + part, e.g. light-brown, past shoulders, soft waves, center part]
BUILD: [e.g. slim athletic, average height]
SIGNATURE MARK: [1 or 2 only, e.g. small mole above the left lip]
VIBE: [default expression, e.g. warm, approachable]
ALWAYS ADD: keep this exact same face and features, consistent character, photorealistic
WARDROBE (swap freely, keep separate): [outfit for this one shot]
Filled example, ready to paste
MIA-01, mid-20s woman, oval face with a soft jaw, warm hazel almond eyes, soft gently arched brows, small straight nose, full natural rose lips, warm fair skin with light freckles across the nose, light-brown hair past the shoulders in soft waves with a center part, slim athletic build, small mole above the left lip, warm approachable expression, keep this exact same face and features, consistent character, photorealistic
The identity anchor (reuse word for word)
This is the one line you paste every time. Only the bracketed scene part changes.
[paste your full character bible], [NEW SCENE OR POSE], [LIGHTING TO MATCH THE SCENE], keep the exact same face, consistent character, photorealistic
Weak, the face will drift
a young woman named Mia at a coffee shop
Strong, the face holds
MIA-01, mid-20s woman, oval face, warm hazel almond eyes, small straight nose, full lips, warm fair skin with light freckles, light-brown shoulder-length soft waves, small mole above the left lip, sitting by a bright cafe window, soft morning light, keep the exact same face, consistent character, photorealistic
Per-model consistency tools
Midjourney
--cref [master image url] copies the face. --cw 100 = full face, hair and clothes. --cw 30-60 = keep the face, let outfit and scene change. V7 adds omni-reference --oref [url] --ow.
Nano Banana (Gemini image)
Upload your master photo, then ask it to change ONLY the scene, pose or outfit and "keep the same face and person". Great at edit-in-place. Reuse the same reference each turn.
ChatGPT (GPT image)
Upload a reference image, then say "same character, keep this exact face". Reuse identical wording and re-attach the reference each new image. No seed control, so lean on the reference.
Gemini
Give it one or more reference images plus your locked description and ask for "the same person, consistent character". Feed multiple angles when you can for tougher poses.
FLUX and Stable Diffusion
Load the master portrait into IP-Adapter or InstantID for face-lock, keep the SAME seed, paste the identical description. For a whole cast, train a small LoRA on 15-30 images.
DALL-E and others
No public seed or face-lock, so consistency rides on the reference image plus identical wording. Generate a few, keep the closest match, and feed THAT back as the next reference.
Common mistakes that break the face
Trusting the name"A woman named Mia" means nothing to the model. It only draws what you describe, so the face lives in the description, never the name.
Rewording the description each timeEven tiny changes ("hazel" to "brown", "wavy" to "curly") pull the face toward a new person. Copy the exact block, do not retype it.
Piling on ten distinctive featuresToo many strong details get averaged into mush. Pick three to five clear anchors (eyes, nose, hair, one mark) and let them carry.
Baking the outfit into the identityIf the red jacket is in your bible, every shot fights to keep it. Keep face and wardrobe separate so clothes can change and the face cannot.
Cranking Midjourney --cw to 100, then wanting a new outfit--cw 100 copies the clothes too. Drop it to about 40 when you want the same face in different clothing.
Judging consistency across mismatched anglesA front face and a side profile always look "off". Compare at the same angle and lighting first, then branch out with a turnaround sheet.
Never saving the master and seedIf you lose the reference image and seed number, you can never rebuild that exact person. Save both the day you nail the face.
Questions
How do I keep the same face in every AI image?
Do three things together: write one detailed description and reuse it word for word, feed a master reference image into the model, and lock the seed where the tool supports it. Same words plus same reference plus same seed holds one face steady across a whole set. The character's name does nothing on its own, the model only draws the description.
Which AI tools can hold a consistent character?
Midjourney (--cref and --cw), Nano Banana keep-the-face edits, reference upload in ChatGPT and Gemini, and IP-Adapter, InstantID or a trained LoRA plus a fixed seed in FLUX and Stable Diffusion.
What is a character bible?
One saved block of text listing the fixed features: face, eyes, nose, lips, skin, hair, build and one or two marks. Paste the identical block into every prompt and change only the scene. Keep wardrobe out of it so you can change clothes without changing the face.