cd /news/generative-ai/my-ai-drew-the-hero-as-a-different-m… Β· home β€Ί topics β€Ί generative-ai β€Ί article
[ARTICLE Β· art-97556] src=dev.to β†— pub= topic=generative-ai verified=true sentiment=Β· neutral

My AI drew the hero as a different man in every scene. It's one guy's life story

A developer building fully automated explainer videos discovered that their AI-generated hero changed appearance in every scene, along with historical inaccuracies such as anachronistic ships and crowns. They solved the consistency problem by declaring character and setting details once in a 'character card' that gets injected into every prompt, and by adding a vision-capable AI checkpoint that inspects generated images and regenerates failing scenes. This approach eliminated the need to beg the AI for consistency and caught errors that negative instructions could not.

read3 min views1 publishedAug 15, 2026

I build explainer videos fully automatically. For each scene, a local image-generation AI draws that moment, one frame at a time. I was making one about an ancient Roman general β€” the whole life of a single man.

When it was done, I watched it back from the top, scene by scene. And then I froze.

The hero is a different person in every scene.

In one shot, a king wearing a crown. In the next, a young soldier in a plumed helmet. After that, a white-bearded old man. ...The same guy, supposedly. A biography of one man, and the lead's face changes every time. That's a fatal wound.

And when I looked closer, history had gotten sloppy too. An ancient naval battle β€” but the ship is a tall sailing ship from the Age of Exploration (not an oar-driven ancient galley; we're off by more than a thousand years). A figure from the Roman Republic wearing a crown (Rome executed people just for wanting to be king. The irony is a bit much). A dome in the distant cityscape that has no business being there. And on the stone arch, broken pseudo-Latin carved into it.

Why does this happen? The answer was simple.

I was writing each scene's prompt independently. I'd ask for scene 1's image, then ask for scene 2's, and so on β€” each one a separate request. So the AI re-imagines the hero's face, and the historical setting, from zero every single time. Asking independently means drifting every single time.

Praying "draw the same person" in words, every time, gets you nowhere. The pictures don't listen.

The first move was reuse of a declaration.

The hero's appearance β€” age, hair and beard, armor, cloak, right down to "wears no crown" β€” gets written in one place, once. I call it the character card. Then each scene's prompt just references the character with a placeholder. Right before generation, the card's contents get auto-injected into every scene.

The shared historical constraints (ancient era, galley not tall ship, no crown, no dome...) get declared once the same way and injected into every prompt.

With that, the hero landed at a level where you can recognize him as "the same person." The ships became galleys. The crown vanished. Because the appearance lives in one place, if I want to change something, I edit one line and it takes effect across every scene. The chore of rewriting it by hand every time β€” gone.

But some things didn't go away no matter what I declared. Write "don't draw a dome," write "don't draw text," and the model calmly draws a dome and carves a fake inscription into the arch.

Negative instructions ("don't do X") had, for this model, roughly the force of "it'd be nice if you honored this." Declaring a thing and enforcing a thing are two different things.

So the move I made was a checkpoint on the pixels.

Before the heavy step of rendering the video, I have a vision-capable AI inspect the generated image itself. Not the prompt string β€” the pixels that came out. "Any broken fake text? Any anachronisms (modern tall ships, crowns, domes)? Does the lead look like the same person? Does the picture actually depict this scene's narration?" Only the scenes that fail get regenerated with a new random seed. Loop until they pass.

That checkpoint caught exactly the things declaration couldn't kill. The fake inscription on the arch, and the dome in the background. Reroll the seed, redraw, and they were gone.

The funny part: this is really just the thing I did by hand first β€” glaring at each scene one at a time β€” turned into a mechanism. I replaced human visual QA with an AI visual gate.

I stopped begging the AI to "draw the same person every time." Write the character card once, and place a checkpoint that doubts the pictures that come out. That alone keeps the hero wearing the same face, still standing, all the way to the final scene.

── more in #generative-ai 4 stories Β· sorted by recency
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/my-ai-drew-the-hero-…] indexed:0 read:3min 2026-08-15 Β· β€”