Three seconds into the clip, the guy’s red jacket turns pink. His jawline quietly redraws itself somewhere around frame forty. It’s the exact kind of glitch that’s been driving anyone who touches AI video prompts a little insane lately. A Redditor going by u/dependent_berozgar posted the fix this week in r/PromptEngineering, and it’s not the fix most people try first.
Here’s the instinct everyone has, including this poster for most of last month: the face melts, so you add “stable face.” The jacket changes color, so you add “consistent clothing.” The hands look wrong, so you tack on “perfect anatomy, cinematic lighting, ultra-realistic 8K masterpiece.” The prompt gets longer. The output does not get more consistent. I’ve watched this exact spiral happen to smart people, and it’s oddly satisfying to see someone finally name why it doesn’t work.
🎬 Why It Matters
The original poster’s breakthrough is simple once you hear it: you can’t ask a motion prompt to repair an identity that was never established in the first place. If the first frame or character reference is already unstable, another paragraph of adjectives doesn’t fix the source. It just hands the video model more constraints to juggle at once, and it juggles them badly.
What you’ll get from this post is a five-step workflow for separating “who the character is” from “what the character does,” so when a shot fails, you actually know which piece broke. It won’t make your videos perfect. It will make the failures a lot easier to diagnose, which honestly might be more valuable.
🎭 The Workflow
1. One shot, one primary action. The author’s old prompts tried to do everything at once:
ultra-realistic 8K, a man in a red jacket walking down a neon street, he turns around, smiles, takes a sip of coffee, dynamic camera movement, perfect anatomy
That single prompt asks the model to invent a character, preserve a jacket, animate walking, turn the body, change the expression, animate a hand-object interaction, and move the camera, all in one breath. When it failed, there was no way to tell which layer broke. Now the poster picks the one action a shot actually needs and splits the rest into separate shots.
2. Establish the character before asking for motion. The video model, it turns out, is a bad place to invent a character and animate it simultaneously. The fix: generate a turnaround sheet first, in a separate image model, using something like:
character turnaround sheet, front view, side view and back view of [character description], wearing [specific clothing], [specific hairstyle], neutral white background, flat studio lighting, consistent facial structure and body proportions
Don’t trust the sheet blindly. Check face shape, hair silhouette, jacket seams and closures, color palette, body proportions, and any accessory that might vanish between views. If one angle disagrees with the others, regenerate it or cut it. Only approved views go into the reference set.
3. Make the motion prompt boring. Once the reference is stable, the motion prompt should shrink, not grow:
eye-level medium tracking shot. The subject walks slowly forward at a constant pace. The camera maintains the same distance. No turning, no dialogue, no change of expression.
Every phrase here has one job. Framing, camera relationship, primary action, pace, and a couple of negative constraints to block anything you didn’t ask for. The character description lives in the reference image now, not in a paragraph you retype every time.
4. Change one variable per run. This is the one the author calls the most useful habit of the whole workflow. Changing camera, action, and lighting together, then seeing an improvement, tells you nothing about what actually fixed it. Keep a baseline. Change one thing (camera position, action speed, reference strength, duration) per test.
5. Keep the test environment consistent. With image generation and video generation running on different models, the author ended up routing both through the same API layer to cut down on setup friction between tests. Worth flagging: this step didn’t improve consistency on its own. It just removed some plumbing that was getting in the way of comparing results.
🛠 Tips & Tricks
- Label failures specifically instead of marking a clip “bad.” Facial drift, wardrobe drift, ignored camera instruction, and background geometry drift are all different bugs with different fixes.
- Keep discarded reference generations separate from the approved set. Nothing conflicting goes downstream.
- A detailed prompt isn’t the enemy. A prompt where every phrase controls something observable is fine. A prompt padded with adjectives hoping one of them sticks is the actual problem.
- If you’re testing systematically, track model version, reference set version, primary action, changed variable, and failure label per run. The author is building a spreadsheet around exactly this.
🚀 Give It a Shot
The original poster is still asking the community what else is worth tracking, and whether turnaround sheets, fixed seeds, or reference-to-video conditioning made the biggest difference for anyone else. Worth reading the full thread and the linked clip before you burn another afternoon stacking adjectives onto a prompt that was never going to fix itself.
Longer video prompts weren’t fixing identity drift. Character references helped more.
by u/dependent_berozgar in PromptEngineering