Timeline error too_many_chained_transitions: how to fix it

Timeline 1.0 refuses more than 8 adjacent fades with too_many_chained_transitions. Insert a hard cut. Also transition_too_long, transition_not_frame_aligned.

4 min readSume
All posts

too_many_chained_transitions means a Timeline 1.0 render has more than 8 adjacent fades in a row. The fix in the docs is to insert a hard cut, that is, a slot with no transition, somewhere in the run so no chain exceeds 8.

Codes and rules come from Timeline 1.0, read 2026-09-29. Run POST /v1/timeline-1.0/plan first: it is an unbilled compile preflight, so you see the refusal before you reserve any spend.

Which transition errors exist?

Transition refusals, from Timeline 1.0, read 2026-09-29.
CodeCauseFix
too_many_chained_transitionsMore than 8 adjacent fadesInsert a hard cut
transition_too_longDuration over 1 s, or over 50% of the shorter neighborShorten it
transition_not_frame_alignedDuration is not a whole output framePick a length that is a multiple of a frame at your output.fps
transition_on_first_segmentvideo[0].transition was setRemove it; transitions go on slots after the first

How do I add a hard cut?

Leave transition off every ninth slot (or any slot that suits the edit). A cut costs no time, and the declared start values stay authoritative: the compiler compensates for the transitions, it never shifts your starts.

What transitions are available?

fade, wipeleft, wiperight, slideup, slidedown and dissolve. Duration is at most 1 second and at least one output frame. See transitions in the API.

Can chunking help?

Not with this error. render.strategy auto already chunks past 12 segments, and single is refused above 12 slots with render_strategy_unsafe. Those are separate limits from the chained-transition cap. The render is $0.10 per output minute either way.

How do I preflight a transition-heavy timeline?

Send the same body you would render to POST /v1/timeline-1.0/plan. It runs the schema and URL checks and the compiler, and returns duration_seconds, segment_count, billable_minutes, estimated_cost_usd_micros and a filtergraph_summary. It creates no job and reserves nothing. It cannot predict warnings such as padded or looped short sources.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume