How to Add a Second AI Character That Matches Your First

How to Add a Second AI Character That Matches Your First

Short answer: lock your first character's style in a reference sheet, create a sub-collection that inherits from it, and generate the second character against that reference rather than describing the style again in words. Prompts don't hold style between generations — references do. Then pick your animation model by motion type: consistency-stable models for walk and run cycles, motion-capable models for attacks and throws.

That's the whole method. The rest of this is why each step matters and where it breaks.

Why does AI keep changing my character between generations?

Because a text prompt is re-interpreted every time you run it. "Painterly fantasy medic with a satchel" describes a space of images, not one image. Each generation samples that space again, so hair length shifts, insignia disappear, palettes drift.

This is fine for concept exploration and fatal for a game, where a character has to be recognizably the same across an idle, a run, an attack, and a death animation.

The fix is to stop describing the style and start referencing it. A reference sheet is an image the model looks at, not words it reads.

Should my second character match the first?

No, and this is the mistake that quietly ruins rosters.

Two characters in the same game should read like siblings, not twins. Same universe, obviously related, clearly distinct. If a player can swap one for the other and not notice, the second character had no reason to exist.

When we added a medic alongside an existing scavenger, we prompted explicitly for contrast: a palette that reads starkly different from the reference. Several early generations came back looking like the same character in a different color, technically consistent, creatively useless.

The thing to hold constant is the style: brush treatment, lighting logic, level of detail, palette family. The thing to vary is the silhouette and read.

The workflow, step by step

  1. Lock character one. Get a reference sheet you're happy with. Everything downstream inherits from it, so a weak reference compounds.
  2. Create a sub-collection for character two inside the parent collection. This is what makes inheritance automatic rather than a thing you re-describe.
  3. Add character one's concept art as reference images in that sub-collection.
  4. Generate concept art with an explicit contrast instruction — name what should differ, not just what should match.
  5. Extract a clean reference sheet for character two from the concept art you chose.
  6. Generate animations from the reference sheet, never from a prompt alone.
  7. Normalize sprite scale before wiring anything into the game.

Which AI model should I use for character animation?

Model choice matters more by motion type than by overall quality. We ran the same eight preset animations through two models:

Complex motion (throws, sword swings)Simple loops (walk, run, jump)Character consistency
Omni FlashStrongAdequateDrifts — hair length changes, insignia vanish between takes
Veo 3.1StrugglesStrongHolds

Neither is better. The practical rule:

  • Attacks, throws, anything with an arc or a prop → Omni Flash, and expect to regenerate a few times until the motion and the character are both right in the same take.
  • Walk, run, jump, idle → Veo 3.1, usually right the first time.

Budget your regenerations accordingly. The complex animations are where the credits go.

Does the highest quality setting produce the best image?

Not reliably. We generated the same four poses three ways:

SettingCreditsResult
GPT Image 2, high thinking, 2K318More incidental detail — debris, a more convincing sense of motion
GPT Image 2, medium, 2K80Cleaner. Preferred for several poses, including the one we shipped
GPT Image 2, medium, 1K24Good enough to judge composition

High thinking added texture — imperfections that read as realism in some poses and as noise in others. For the flask-throwing pose, the 80-credit output was the better image.

The workflow that follows from this: iterate at the cheapest setting until you know exactly which pose and composition you want, then spend once. Treating fidelity as a default rather than a decision costs roughly 4× for an outcome that isn't reliably better.

Why do my characters end up different sizes in-game?

Because animation generations don't share a canvas scale. Our medic arrived visibly larger than the scavenger — obvious the moment both were on screen.

Fix it before integration, not after: pick one animation as the size reference, then match every other animation for that character to it. Doing this after you've wired things into the game means re-testing collision and hitboxes for no reason.

Frequently asked

Can I keep AI characters consistent without a reference sheet? Not reliably. Prompt-only consistency degrades with every generation because the prompt is re-interpreted each time. A reference sheet gives the model something fixed to match.

How many reference images does a second character need? Two to four pieces of concept art from the parent collection is enough to establish inheritance. More helps less than picking good ones.

Why do my two characters look almost identical? You've optimised for matching instead of family resemblance. Prompt explicitly for contrast in palette and silhouette while holding the style constant.

Which animations need regenerating most? Complex motion — attacks and throws. Consistency-stable models handle loops in one pass; motion-capable models need several takes before character and motion are both right.


We built this on camera, start to finish: https://www.youtube.com/watch?v=o3XBIeTFmis