Timeline refuses more than 8 chained fades: fix a vertical montage
A Sume Timeline montage with nine fades in a row returns too_many_chained_transitions. Insert a hard cut and the 3-minute Short renders. Limits explained.

Sume Timeline 1.0 refuses a request with more than 8 adjacent fades and returns too_many_chained_transitions. The fix is a hard cut: leave transition off one slot in the chain, and the render goes through.
The rule is listed in the refusals table of the Timeline 1.0 docs (read 2026-10-06): "More than 8 adjacent fades. Insert a hard cut." It matters most in fast vertical montages for Shorts and Reels, where it is tempting to fade every cut.
Which transition rules can a montage hit?
Several refusals live next to each other, so it helps to see them in one place.
| Rule | Limit | Error code |
|---|---|---|
| Where a transition may sit | Only on slots after the first | transition_on_first_segment |
| Transition length | At most 1 second and at most 50% of the shorter neighbor | transition_too_long |
| Chain length | No more than 8 adjacent fades | too_many_chained_transitions |
| Types | fade, wipeleft, wiperight, slideup, slidedown, dissolve | Schema error otherwise |
How do I fix a nine-fade montage?
Say you have 12 slots and every slot after the first carries "transition": {"type": "fade", "duration": 0.25}. That is 11 adjacent fades, so the request is refused. Remove the transition key from slot 7 (and, in a longer montage, from every eighth slot after that). Slots without a transition cut hard, and the chain count resets.
Keep the declared start values as they are. The docs say declared starts are authoritative and the compiler compensates for the overlap, so removing a transition does not mean re-timing the other slots.
Does a long montage still render?
Yes. With render.strategy left at auto, Sume chunks the render past 12 segments. Only single is refused above 12 slots (render_strategy_unsafe). A 3-minute Short, which is YouTube's limit, can use up to 200 video[] slots.
Run the body through POST /v1/timeline-1.0/plan first. It runs the same schema checks and the pure compiler without creating a job or reserving credits, so a chained-fade error shows up before you pay for anything.
Sources
Related posts
More in Developers
- Sume Timeline output: H.264, AAC 192k and 1-second keyframes
What a Timeline 1.0 MP4 contains for a Reel, Short or TikTok upload: libx264 CRF 20, yuv420p, AAC 192k, faststart, 1-second keyframes, and what you cannot set.
- Timeline 400 on codec, crf or ffmpeg_args: what a Reel spec can send
Sume Timeline refuses codec, crf, preset, filter_complex and ffmpeg_args with a 400. Which output fields it does accept for a 9:16 Reel or Short and why.
- Timeline segment_source_short_looped vs padded: loop or freeze a clip
When a clip is shorter than its slot, Sume Timeline either loops it or holds its last frame. How render.pad_mode auto, loop and freeze decide, with thresholds.
- Timeline mode sync for a 30-second Short: handle both 200 and 202
Sume Timeline mode sync waits up to 30 seconds and returns 200 if the render finished, else 202. Why a Short client must handle both, with a Python poll loop.
Written by Sume