AI Character Consistency: Why the Face Changes Between Shots
AI video models generate every clip from scratch with no memory of the last one, so a character described only in words is re-invented on each shot. The fix is to stop describing the character and start referencing them: create the character once, generate a locked identity still, and attach that image to every shot they appear in — labelled with the role it fills so the model knows whose face is whose.
What’s actually going wrong
Text is a lossy way to specify a human being. "Late-thirties man, short beard, tired eyes" is a constraint, not an identity — it describes a set of millions of people, and a video model samples a different member of that set every time you run it. Your first clip looked right because one of those millions happened to be good. Your second clip drew again.
This is why the problem feels random. It isn’t drift in the usual sense of a value slowly sliding; it’s a fresh draw from the same distribution. Which is also why the common instinct — write more adjectives — produces diminishing returns fast. You are shrinking a very large set to a slightly less large set.
The fix: identity lives in an image
Every serious AI video pipeline solves this the same way: the character exists as a durable record with reference images attached, and those images ride along with every generation. The prompt then describes what the character is doing, while the reference carries who they are.
- Create the character once. Name, description, age, build — stored at project level, not typed into a shot.
- Generate and lock an identity still. A clean, evenly-lit, front-facing frame. Re-roll until it’s right, then lock it — everything downstream inherits this face, so it is worth ten minutes.
- Add the angles and wardrobe you’ll need. Three-quarter and profile views for shots that turn away from camera; a wardrobe variant per costume the story requires.
- Reference by name in every shot.
Mention the character with an
@slugand the pipeline attaches their references automatically — you never re-describe the face.
The failure mode nobody warns you about: unlabelled references
Sending references is necessary but not sufficient. A shot with two characters sends two face images, and if they arrive as an anonymous list the model has to guess the mapping. In practice it often doesn’t guess — it applies the strongest reference to both people, and you get a supporting character wearing the lead’s face.
The correction is a reference legend: each image is passed with an explicit role — this image is the first character, that one is the second, this one is the location plate, that one is the start frame. It costs nothing and it eliminates an entire class of bug that otherwise looks like model unreliability.
Diagnostic. If the wrong face appears on the right body, it’s a labelling problem. If a plausible but unfamiliar face appears, it’s a missing-reference problem. They look similar on screen and have completely different fixes.
Separate identity from appearance
Stories change how people look. Characters get soaked, injured, dressed for a wedding, or aged ten years between acts. If those changes are baked into the identity reference, you have to choose between continuity and story.
Keep them in separate layers. Identity — face, build, distinguishing marks — is fixed for the whole production. Appearance — wardrobe, condition, hair — is a variant that inherits identity and overrides only the surface. A scar authored as a distinguishing mark stays welded to the character wherever they show up; a torn shirt applies only to the scenes after the fight.
Consistency across episodes, not just shots
Shot-to-shot consistency is the easy half. The failure that kills series is episode two being built from a fresh cast, because the copy step brought the character names across but not their reference images. Verify, on any tool you commit a series to, that duplicating or continuing a project carries the actual reference files — not just the text records that point at them.
How ShowMaker Studio handles it
Characters are first-class records in a cast library, each with locked identity stills, wardrobe variants, distinguishing marks, and a voice. Writing @leo in a shot attaches Leo’s references automatically, with an explicit role legend so a two-hander never swaps faces. Wardrobe and condition are layered variants, so a character can change across the story without changing person. Copying a project into episode two brings the images, not just the names.
The result is the thing that actually matters: the same recognisable performer in shot eighty as in shot one.
Related questions
Why does my AI character's face change between shots?
Because each clip is generated independently. The model reads your text prompt, invents a person who satisfies it, and forgets that person the moment the clip finishes. A description like "a woman in her thirties with dark hair" has millions of valid solutions, and you get a different one every time. Nothing about the second generation is connected to the first unless you connect it yourself with a reference image.
Does writing a more detailed prompt fix character consistency?
No, and this is the most common wasted effort in AI video. Detail narrows the range of faces the model can produce, but it never collapses it to one. Twenty words of facial description still leaves thousands of distinct people, and the drift you see between shots lives inside that remaining range. Identity has to be carried by an image, not by words.
How many reference images do I need per character?
One clean, well-lit, front-facing identity still is the minimum and does most of the work. Adding a three-quarter and a profile view helps when your shots turn the character away from camera, and a full-body reference helps when wardrobe matters. Beyond about four, extra references mostly add cost rather than fidelity.
Why does one character sometimes come out with another character's face?
Because the references were sent to the model unlabelled. If a two-hander shot passes two face images with no indication of which is which, the model is free to assign either face to either body — and it frequently gives the more prominent reference to both. The fix is labelling each reference with the role it fills so the model knows which face belongs to which character.
How do I keep a character consistent across a whole series?
Store the character once at the project or library level, not per shot. A cast record holds the identity stills, the wardrobe variants, distinguishing marks, and the voice, and every shot that mentions that character pulls from the same record. Copying a character between episodes should copy the references too, otherwise episode two quietly re-invents your lead.
Can I keep a character consistent when their appearance is supposed to change?
Yes, and this is why wardrobe and condition need to be separate from identity. Identity is the face and build, which stays fixed. Wardrobe, injuries, ageing, and dirt are variants layered on top of that identity, each with its own reference. That way a character can be bloodied in act three and still be recognisably the same person from act one.
Every fix on this page is a feature, not a workaround.
ShowMaker Studio is built around these problems — reference-locked casting, location look signatures, coverage-based scenes, delivery-timed captions, and per-shot model routing. Three free films a month, no card.