A diagnostic manual for AI video

Stop paying twice for the same shot

You generated it four times. It came back wrong four times. This is the 41 reasons why, organised by the model that did it.

Why It Came Back Wrong
seedance-2.5costs a re-rollmeasured

The label came back as melted letters. The clock on the dashboard is scribble. You re-roll and get different scribble.

What is actually happening

Type that sits small in the frame does not resolve. The same words render cleanly when the camera is close enough for them to be large.

The fix

Reframe so the words fill a good part of the frame - a close-up of the phone, not the phone across the room. If the words cannot be large, leave them out of the generation and add them in your editor over the finished clip, which costs no generation at all.

On another platform

This is how the model draws, so we expect it to travel - but it is our observation on one route, not a law. Output resolution is set by the route: if your platform sends 1080p where ours sent 720p, borderline type may survive. Check what resolution your platform actually requests.

Measured, on fal. Measured 19 Sep 2026 across $16.10 of takes on fal: the phone close-up came back legible on every attempt; the dashboard clock and the distant phone screen came back as gibberish on every attempt.

One of the 41, exactly as it appears inside

“I changed a word and tried again. I don’t actually know what was wrong.”

That is the loop. Something fails, you adjust a word, you spend another generation, and you still do not know what happened. Do it four times and you have paid four times for one shot.

Your model is not broken. It is doing something specific, and that something has a name and a cause. This manual is 41 of them.

41findings
26measured, not guessed
22fixes that cost nothing
7providers

Two more, in full

Not excerpts and not a teaser. These are complete entries. If they are not worth $29 to you, the other 39 will not be either — better you find that out now.

Why It Came Back Wrong
seedance-2.5costs a re-rollmeasured

You wrote "locked off, no camera movement" three times and the camera still floats around. But the change you asked for at 2 seconds does arrive at 2 seconds.

What is actually happening

A timecode in the prompt does place an event at that second. A request to hold the camera still is ignored, however many times you write it.

The fix

Write every beat as a different move - "0-2s slow pan left, 2-4s push in to medium" - never as a move against stillness. For a beat that truly has to be locked, generate that one shot on seedance-1.x with camera_fixed switched on, which is a real parameter, and cut it in.

On another platform

The timecode behaviour and the refusal to hold still look like properties of the model, so we expect them to travel, but this was one 4-second take on one route - read the 80% figure as one measurement, not a rate. The camera_fixed escape hatch only exists if your platform exposes seedance-1.x with that switch; many interfaces do not surface it.

Measured, on fal. Measured 20 Sep 2026 on fal, $1.84, one 4s take scored frame by frame: motion jumped 0.493 to 0.890 between 2.00s and 2.17s at exactly the stated second, and the second half ran 2.63x the first. "LOCKED OFF", stated three times, was ignored: motion started at 0.17s, and frames at 0.00s and 1.90s differed by 32.8/255 where the prompt said identical.

Why It Came Back Wrong
cross-providerfree fix

Same model, same clip, and one platform's bill is a third bigger than the other's.

What is actually happening

The same model is resold at different per-second rates depending on where you buy it.

The fix

Price the clip on every route you already have access to before committing a batch. On our routes, seedance 2.5 at 1080p was $0.68/s through Runway against $1.1372/s through fal - roughly $14 on a single 30-second take. Runway adds 15 credits per second when you attach a reference video, so re-price a reference-heavy job rather than assuming the discount holds.

On another platform

Resale prices move, and these were read on 27 Aug 2026. A subscription platform hides the per-second rate behind credits, so the comparison there is credits per clip, not dollars per second. We priced fal and Runway only; we did not price Higgsfield, OpenArt or the provider apps for this model beyond one Higgsfield data point.

Documented, on fal and Runway, read from each one's OpenAPI. Both sides verified during the 27 Aug 2026 Runway audit against docs.dev.runwayml.com/openapi.json, Runway credits at $0.01 each: seedance 2.5 720p $0.30/s Runway vs $0.4730/s fal, 1080p $0.68/s vs $1.1372/s. Same table: Veo 3.1 no-audio $0.20/s Runway vs $0.40/s fal.

Why it names the route every single time

We measured on fal and on Runway. You may be on Higgsfield, OpenArt or a provider’s own app, where access and gating differ — the same model can refuse a face on one route and accept it on another.

So every finding says where it was measured, and every finding carries an On another platform line telling you what could be different for you and how to check in about ten seconds. A manual that claimed to cover every platform would be one you could disprove before lunch.

Cost is counted in re-rolls, not dollars, for the same reason. An 8-second 720p Seedance clip is about $3.78 on a direct API route and about $2.55 on a Higgsfield plan where credits expire monthly. One dollar figure would be wrong for nearly everyone. A wasted generation is a wasted generation everywhere.

Buy it if

  • You generate AI video and re-roll more than you would like
  • You want to know why it failed, not just try again
  • You pay per generation, or burn a monthly credit allowance

Do not buy it if

  • You want prompts to copy — there are none in here
  • You have never generated a video and want a beginner’s guide
  • You need guaranteed behaviour on a platform nobody has tested

$29USD · one payment · yours to keep

Buy the manual Want to see the work first? Open the camera-move tool. It costs nothing and needs no email.

Checkout by Stripe, the merchant of record — your statement reads LINK.COM
Local currency and any tax shown at checkout · instant download, no account
Not useful? Email me within 30 days and I refund it in full

Questions

Will these work on my platform?
Some will, some may not, and each entry tells you which. Every finding names the route it was measured on and what could differ for you. That is the honest answer, and it is more useful than a confident one that turns out to be wrong.
What does “measured” actually mean?
We ran it and have the number or the price. 26 of the 41 are measured. The other 15 are read from a provider’s schema or its own documentation, and the entry says so instead of dressing one up as the other.
Is this a prompt pack?
No. There are no prompts to copy. It is 41 failures with their causes, and in 22 cases the fix does not involve generating anything.
What if it is not useful?
Email me within 30 days and I refund it in full — not a partial refund, and no form to fill in. If you are in the EU or UK you also have statutory rights this does not affect.
How do I get it?
A download link by email, straight after payment. No account, no login. Yours to keep, and it works offline.