Character Consistency: Same Face Across Scenes (Wrong vs Right)
A children’s-book author is producing a 24-page picture book about a five-year-old girl named Mia and her tin robot dog, Bolt. Every spread needs the same girl: round face, olive skin, a black bob with one cowlick, and a mustard raincoat that never changes. The first three spreads look great. By spread nine, Mia is a different child, Bolt has grown a second pair of ears, and on spread fourteen Bolt is somehow a cat. The prompts were descriptive, just not anchored.
Midjourney draws what each prompt literally says. If nothing in the prompt pins the face, the model re-invents it on every generation, and a picture book is a sequence of generations. Consistency is not a style problem; it is a specification problem.
Where the Face Falls Apart
The failure is gradual, which is what makes it expensive. Page one establishes a look, page two drifts ten percent, page five uses a fresh seed and a shorter haircut, and by the middle of the book you have a cast instead of a character. Nothing in a typical prompt says “this is the same girl as before,” because the model keeps no memory of the previous page.
Three things break first: the face (eyes, jaw, apparent age), the wardrobe (colors and proportions), and the named props (the robot dog’s chipped ear, the patch on its flank). A prompt that lists adjectives such as cute, soft, and children's book style describes a mood, not a person. Moods are allowed to vary; faces are not.
An Unguided Prompt vs an Anchored Prompt
Both prompts below request the same spread, page seven, where Mia shows Bolt an earthworm in the vegetable garden. The first is written page by page with fresh wording. The second carries a fixed character sheet and a fixed seed.
a little girl and her robot dog in a garden, children's book
illustration, cute, colorful, soft, warm, storybook styleChildren's picture-book illustration, warm gouache and colored-pencil
texture, soft pastel palette.
Character sheet (keep identical on every page):
- MIA: 5-year-old girl, round face, olive skin, short black bob with
one cowlick on the right, small gap in front teeth. Wears a
mustard-yellow raincoat with three wooden buttons and red boots.
- BOLT: knee-high tin robot dog, brushed silver body, one chipped
left ear, glowing amber eye-ring, leather patch stitched on the
right flank.
Scene (page 7): Mia kneels in a rain-soaked vegetable garden and
points at an earthworm; Bolt tilts its head, one paw lifted.
Composition: eye-level view, both characters fully in frame, garden
rows leading to a wooden fence. Overcast morning light, soft shadows.
Whitespace at the top for text.
Same characters as previous pages. No other people or animals.
--ar 3:2 --style raw --stylize 120 --seed 884213 --v 7The first prompt is a wish. The second is a contract. It states who the characters are, what they wear, what they are doing, how the shot is framed, and which random seed produced the last acceptable image, so the model has almost nothing left to invent.
Why the Anchored Prompt Holds the Face
- The character sheet is verbatim, not paraphrased. The same words for Mia’s bob, cowlick, and raincoat recur on every page, so the same visual tokens recur. Rewrite those words and the face changes with them.
- A fixed seed removes the largest source of drift. Reusing
--seed 884213keeps the underlying noise map stable, so the described character lands in the same place on the canvas. - Distinguishing marks are named. The chipped ear and flank patch are the visual anchors that let a reader recognize Bolt even when he is small or partly cropped.
- Wardrobe is locked. Naming three buttons and a color stops the model from restyling the raincoat into a cardigan by page twelve.
- Framing is constrained. “Both characters fully in frame” prevents the crop where Bolt becomes an unrecognizable metal shape at the page edge.
Notice the prompt never asks Midjourney to “be consistent.” It removes the variables that cause inconsistency, then uses a reference to hold whatever is left.
The Anchors That Carry a Character Across a Book
| Anchor | What it fixes | Mia and Bolt example |
|---|---|---|
| Written character sheet | Face, age, wardrobe | Bob with cowlick; mustard raincoat |
| Fixed seed | Pixel-level placement | --seed 884213 on every page |
| Character reference | Face across large gaps | v6 --cref with --cw; v7 Omni Reference |
| Style reference | Illustration style drift | --sref pointed at page one |
| Named props | Losing signature details | Chipped ear, flank patch |
| Wardrobe lock | Outfit changes mid-book | Three wooden buttons, red boots |
Reference flags are the closest thing to a memory that Midjourney offers, and they differ by version: v6 uses --cref with --cw to control how much of the reference carries over, while v7 leans on Omni Reference. Whatever the flag, it supplements the written sheet rather than replacing it; a reference image paired with a vague prompt still drifts.
Write Your Own Consistency Prompt
Build the prompt once as a reusable block, then change only the scene paragraph for each page. That is what makes a book feel illustrated by one hand rather than assembled from a folder of near-misses.
- Write the character sheet first. Six to ten concrete details per character, chosen so no two characters could be confused.
- Freeze a seed from the strongest early page. Reuse it for every spread unless a scene needs a very different composition.
- Add a reference when the face matters most. Point a character reference or Omni Reference at your best page-one render.
- Keep the scene paragraph the only thing that changes. Same style line, same character sheet, same seed, new action.
{{book style}}, {{medium and palette}}.
Character sheet (keep identical on every page):
- {{NAME}}: {{age, face, skin, hair, distinguishing feature}},
wearing {{fixed outfit with 2-3 details}}.
- {{NAME 2}}: {{species, material, size, distinguishing marks}}.
Scene (page {{n}}): {{what happens, where, time of day}}.
{{lighting and mood}}. {{camera and framing}}. Whitespace for text.
Same characters as previous pages.
--ar {{ratio}} --style raw --stylize {{100-150}} --seed {{fixed}} --v 7Run page one, and if Mia is right, save that seed and treat the character sheet as frozen. If a later page drifts, the culprit is almost always a paraphrased character line or a missing scene constraint, not the model. Restore the exact wording and re-run. When you later want the finished volume to read as one continuous book, the same discipline that keeps a face stable is what keeps the cover, the spreads, and the back matter in one visual family, and the wider character-prompt playbook is worth reading to extend the sheet with secondary characters and crowd scenes.
Sources & Notes
Prompt behavior described here reflects Midjourney v6 and v7 as used through 2025; reference flags and defaults change between versions, so verify the current syntax before publishing a book. The picture-book characters Mia and Bolt are fictional and used for illustration only. Written character sheets and fixed seeds improve consistency but do not guarantee pixel-identical faces. Internal references: Midjourney Character Prompts, Midjourney Scene Prompts, Midjourney v7 Prompt Guide.
