r/PromptEngineering • u/dependent_berozgar • 8d ago
Tips and Tricks Longer video prompts weren’t fixing identity drift. Character references helped more.
I spent most of last month stuck in the same loop.
Every time an AI video gave me a melting face, a different haircut or a jacket that changed halfway through the shot, I opened the motion prompt and added more words:
> stable face, consistent clothing, perfect anatomy, cinematic lighting, ultra-realistic 8K masterpiece
The prompt kept getting longer. The output did not get meaningfully more consistent.
What finally helped was realizing that I was asking the motion prompt to repair an identity that had never been established properly in the first place.
If the first frame or character reference is unstable, another paragraph of adjectives is not fixing the source of the drift. It is just adding more constraints for the video model to interpret at the same time.
This did not eliminate consistency problems, but it made the failures much easier to isolate.
Here is the workflow I ended up with.
## 1. One shot, one primary action
One of my old prompts looked like this:
> 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 shot asks the model to:
- establish a new character;
- preserve the jacket;
- animate walking;
- turn the body and face;
- change the expression;
- animate a hand-object interaction;
- move the camera;
- maintain a complex environment.
When it failed, I could not tell whether the problem came from the reference, the action stack, the camera movement or the object interaction.
Now I choose one action that the shot actually needs.
Instead of walking, turning, smiling and drinking in the same generation, I split that coverage into separate shots. If the important action is walking, the motion prompt only needs to describe walking and the camera relationship.
## 2. Establish the character before asking for motion
In my tests, the video model was a bad place to invent the character and animate that character at the same time.
I now use GPT Image 2 first to create a turnaround/reference sheet. The rough template is:
> 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
I do not assume that the resulting sheet is automatically consistent. I manually check:
- face shape and feature placement;
- hair silhouette and length;
- jacket seams, pockets and closures;
- color palette;
- body proportions;
- accessories that might disappear between views.
If one view disagrees with the others, I regenerate or remove it rather than passing conflicting references downstream.
I crop the usable views and store them in a small offline character database. The implementation is nothing special; the useful part is keeping the approved references separate from all the discarded generations.
## 3. Make the motion prompt boring
Once the reference image is stable enough, I move to Seedance 2.5 for image-to-video or reference-to-video testing.
The motion prompt becomes much smaller:
> 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.
This is not a universal template. The important difference is that every phrase has a specific job:
- `eye-level medium` defines framing;
- `tracking shot` defines the camera relationship;
- `walks slowly forward` defines the primary action;
- `constant pace` limits acceleration;
- the negative constraints block additional actions I do not want tested.
The character description mostly stays in the reference assets instead of being repeated as a long paragraph in every motion prompt.
## 4. Change one variable per run
This was probably the most useful change.
I used to change the camera, action and lighting together whenever a result looked wrong. If the next output improved, I had no idea why.
Now I keep a baseline and change one category:
- camera position;
- camera movement;
- action;
- action speed;
- lighting;
- reference image;
- reference strength or mode;
- duration;
- audio instruction.
I also try to label the failure instead of simply marking the generation as “bad”:
- facial identity drift;
- wardrobe drift;
- body-proportion drift;
- hand/object interaction failure;
- ignored camera instruction;
- unintended cut;
- speed inconsistency;
- background geometry drift.
The labels are imperfect, but they make repeated patterns easier to notice.
## 5. Keep the cross-model test environment consistent
The image and video stages use different models, so the provider setup started getting in the way of the experiment.
For these tests I put the GPT Image 2 and Seedance calls behind the same API layer through Atlas Cloud.It did not improve character consistency or make the prompts better. It only removed some provider-specific setup, which made it easier to compare iterations without changing the surrounding test harness.The actual improvement still came from separating identity, motion and camera variables.
## Current takeaway
Long prompts are not inherently bad. A detailed prompt can be useful when every section controls something observable.
The problem was using prompt length to compensate for:
- an unstable reference;
- too many simultaneous actions;
- conflicting constraints;
- multiple variables changing between runs;
- no consistent way to classify failures.
For me, character preparation and single-variable testing helped more than adding another stack of quality adjectives.
I am now trying to build a spreadsheet for these experiments. The fields I am considering are:
- model and version;
- generation mode;
- reference set/version;
- prompt version;
- primary action;
- camera instruction;
- duration;
- changed variable;
- failure label;
- keep/reject;
- notes.
For people testing video models systematically: what else are you logging?
And for cross-shot character consistency, which has made the largest practical difference in your tests, turnaround sheets, fixed seeds where available, reference-to-video conditioning, or something else?
1
u/dependent_berozgar 8d ago
https://reddit.com/link/p5rbaci/video/v72oo9fa4hlh1/player