A diagnostic manual for AI video
You generated it four times. It came back wrong four times. This is the 41 reasons why, organised by the model that did it.
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.
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.
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.
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.
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.
$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