How to keep an AI character consistent across every image

Why image models redraw a character differently every time, and the reference-based approach that keeps one mascot on-model across poses, props and animations.

Updated 5 August 2026

Why the same prompt gives you a different character

Describe a friendly orange fox to an image model twice and you get two different foxes. Not variations of one design: two designs. The model is not remembering anything between calls, so each render is an independent interpretation of the same sentence, and a sentence cannot pin down the hundred small decisions that make a character recognisable.

This is fine for illustration and fatal for a mascot. A mascot is only doing its job when someone recognises it on the empty state, the error page and the onboarding screen as the same character. Anything less reads as clip art.

Seeds are not the answer

Fixing the seed reproduces the same image, not the same character in a new pose. The moment you change the prompt to describe a different action, the seed no longer holds identity, because you have changed the thing it was deterministic about.

Lock the design, then reference it

The approach that works is to stop asking for the character again. Generate it once, keep that render, and pass it as a reference image on every subsequent generation. The model is no longer interpreting a description; it is being shown the design and asked to redraw it doing something else.

MascotLab does this by locking a mascot at creation. The stored render becomes the reference for every pose, prop arrangement and animation built on it, and the mascot row itself is immutable, so the anchor cannot drift after the fact.

  • Generate the character once and keep the render
  • Send that render as a reference on every later image
  • Keep the written description too, since words and image reinforce each other
  • Never regenerate the character from the description to get a variant

The written description still matters

A reference image does most of the work, but not all of it. The description travels alongside it on every generation, and the two disagreeing is a real failure mode.

A concrete example from this product. Two characters were put in one frame: one described as "fluffy round mascot", the other described only as "a light blue version of this mascot". The first kept its shaggy fur outline exactly. The second lost its fur, gained a belly patch it never had, and gained differently coloured feet. Fluffy and round is what the words said, and fluffy and round is what survived. The other description contained no appearance at all, so there was nothing for the image to be reinforced by.

Describe the character's appearance, even when what you are asking for is a change to an existing one.

Where consistency gets harder

Two characters in one image

With two characters the model has to keep both designs apart, and the usual failure is blending: one borrows the other's colours or silhouette. Passing exactly one reference per character, in a known order, and telling the model which is which, is what keeps them separate.

Animation

Video drifts more than stills because the model is generating many frames from one starting image. Pinning the last frame as well as the first bounds that drift: the clip has to arrive somewhere specific instead of wherever it wandered. A clip that ends on its own opening frame loops with no visible cut, which is what you want for a UI animation.

Next