Quick answer
Diagnose before you rewrite. An output that ignores your reference completely is almost always a wiring problem, not a prompt problem. Repeated identical failures with a generic internal error are often a content refusal, so retrying wastes every attempt. Blurry or warped motion usually traces to the word fast. A rushed middle means no beat structure. And a subject that will not hold still is a property of generative video that no prompt fixes.
Most troubleshooting advice for AI video amounts to "change one thing and try again." That is correct and useless on its own, because the hard part is knowing which thing.
The useful move is to sort the failure into a class first. A wiring bug, a content refusal, a prompt conflict, a bad source photo and a hard model limit all look similar from the outside (you asked for something and did not get it) and they need completely different responses. Retrying is right for exactly one of them.
This guide is the debugging half of the Seedance prompt handbook. It comes out of running a production pipeline with an automated failure classifier, thousands of paid generations, and the refunds that taught us to tell these classes apart. That pipeline runs Seedance 2.0, not 2.5, and provider behaviour varies, so treat the provider-specific items as patterns to check rather than universal truths.
The five classes
| Class | It looks like | Retrying helps? |
|---|---|---|
| Plumbing | The output ignored an input entirely | No. Fix the wiring. |
| Moderation | Repeated identical failures, generic error | No. It will refuse every time. |
| Prompt | Most of it worked, one instruction lost | Only with a change. |
| Input photo | Likeness drifts, subject will not settle | No. Change the photo. |
| Model limit | It has never worked, for anyone | No. Change the approach. |
The single most expensive mistake is treating a moderation refusal or a plumbing bug as a transient error and retrying. Those attempts are guaranteed to fail, and on a paid API they are guaranteed to cost.
The fault finder
The output ignored my reference photo completely. Different subject, different setting, like it never saw it.Plumbing
What's actually happening
Change this one thing
The wrong reference got used. It applied the location as the character, or the style image as the subject.Plumbing
What's actually happening
Change this one thing
It keeps failing with a generic Internal Error, please try again later.Moderation
What's actually happening
Change this one thing
One specific photo fails every time. Everything else works.Moderation
What's actually happening
Change this one thing
Motion looks blurry, smeared or warped whenever anything moves quickly.Prompt
What's actually happening
Change this one thing
The clip rushes through the middle and lingers on the last shot.Prompt
What's actually happening
Change this one thing
Locations morph into each other instead of cutting.Prompt
What's actually happening
Change this one thing
The camera ignored my direction completely.Prompt
What's actually happening
Change this one thing
The output drifted toward illustration or animation when I wanted photoreal.Prompt
What's actually happening
Change this one thing
The video came back with Chinese dialogue I never asked for.Prompt
What's actually happening
Change this one thing
My long negative prompt is not working, or made things worse.Prompt
What's actually happening
Change this one thing
The face drifts even though I attached a good reference.Input photo
What's actually happening
Change this one thing
My subject will not hold still, no matter how forcefully I write frozen or does not move.Input photo
What's actually happening
Change this one thing
Text, logos and signage come back garbled.Model limit
What's actually happening
Change this one thing
Audio is generic ambience even though I enabled it.Model limit
What's actually happening
Change this one thing
The discipline that makes debugging cheap
Change one variable at a time, and fix the seed while you do it. If a generation is 90% right and you rewrite the whole prompt, you have introduced five new variables to fix one problem. Find the failure, change the single instruction connected to it, regenerate. Controlled iteration teaches you how the model behaves; wholesale rewriting teaches you nothing.
Draft cheap. Iterate at the lowest resolution the provider offers and finalise higher. Billing is per second, and on Seedance 2.5 it also scales with reference count, so a heavy reference stack makes every draft more expensive. That is one more argument for nine references rather than forty.
Keep a second model on the same provider. When something fails in a way you cannot explain, throwing the identical prompt at a different model is the fastest way to separate a model problem from a provider problem. Kie.ai carries Seedance and MiniMax H3 through one API, which makes that comparison a one-line change rather than a new integration.
Things Seedance will not do
Honest limits, so you stop spending money proving them:
- Hold a subject completely frozen while the camera moves. Covered above. These models animate people. Prompting harder does not help; a different rendering technique does.
- Produce reliably correct small text. Signage, scoreboards, UI labels, anything you need spelled right. Composite it afterwards.
- Native 4K. Despite a lot of pages saying otherwise, Seedance 2.5 generates at 480p and 720p with 1080p arriving around now. The 4K on offer is an upscale, which is a different thing and looks like one. If native resolution is your constraint this month, MiniMax H3 does native 2K.
- Hold more than about eight identities in one clip. Past that, restage the shot rather than adding references.
- Read your mind about which reference does what. It will not reliably infer that image 3 is the location. Say so, every time.
Where to go next
- The prompt handbook for the grammar this all sits on
- All 50 reference slots if your problem is reference-shaped
- Keeping a real person's face consistent if it is likeness-shaped
- Writing 30 seconds if it is pacing-shaped
We built an automated failure classifier for Starrd because sorting these classes by hand did not scale past a few hundred generations a week. Most of what is above is that classifier's taxonomy, written out in English.