All posts

Craft · 12 September 2026 · 6 min read

Why your AI character looks like a different person in every scene

Image models have no memory between generations. Here is what actually causes visual drift, and the one structural fix that works.

You write a careful description. Brown hair, green jacket, round glasses. The first image is perfect. The eighth image is a stranger wearing a similar jacket.

This is the single most common reason faceless long-form videos look amateur, and it is not a prompt-writing problem.

Text is a lossy description of a face

A prompt is maybe forty words. A face is thousands of tiny decisions — the exact width of a jaw, how high the ears sit, the specific curve of a nose. Forty words cannot pin those down, so the model fills the gaps differently every time.

Adding more words does not fix it. It narrows the range slightly and makes the prompt brittle, but the gaps remain, because language is simply not a dense enough format for a face.

The fix is to stop describing and start referencing

Generate the character once. Keep that image. Then generate every subsequent image conditioned on it rather than on the description.

The model is no longer interpreting forty words — it is looking at a picture of the person and being asked to draw them from a different angle. That is a much easier task, and it is the reason animation studios build model sheets before a single frame is drawn.

Why one reference is not enough

A single front-facing image tells the model nothing about the back of the head, the profile, or how the character looks mid-stride. Ask for a side view conditioned only on a front view and the model invents the parts it cannot see.

A handful of views across different angles and poses covers far more of that space. Not twenty — models use a few references usefully and ignore the rest — but enough that the common shots are all represented.

Lock it before you commit

Once a sheet is right, it should become immutable. The failure mode otherwise is regenerating the base halfway through a series, getting a slightly different character, and having a library that no longer matches.

Locking costs nothing and prevents the one mistake that is genuinely unrecoverable.

See it applied to a real video.

Every example in the showcase includes the sentence that started it and every stage in between.

Open the showcase