40-clip montage Reel: how Timeline chunks a render past 12 slots
Timeline 1.0 accepts up to 200 slots and chunks automatically past 12; forcing single is refused. What that means for a fast-cut Reel and its $0.10 per minute.

A fast-cut Reel with 40 clips renders in one Timeline 1.0 job, which accepts 1 to 200 video[] slots. With render.strategy left at auto, Sume chunks the render once it passes 12 segments, and single is refused above 12 slots with render_strategy_unsafe. The price does not depend on the slot count: it is $0.10 per output minute, rounded up.
Why slot count matters on a Reel
The Reels guide (read 2026-10-03) puts quick transitions and trends in the 3 to 15 second range, where cuts come fast; and Metricool (read 2026-10-03) reports Reels can now reach 3 minutes. A 90-second montage at one cut per 2.25 seconds is 40 slots, well past the point where one ffmpeg graph is safe.
Strategy values
The render.strategy field is the only knob.
| Value | Behaviour |
|---|---|
| auto (default) | Chunks past 12 segments |
| chunked | Always chunked |
| single | Refused above 12 slots (render_strategy_unsafe) |
Build the slot list
The slot list below makes 40 equal slots on a 90-second spine. video[0].start must be 0, later starts must increase, and coverage may trail the spine by at most 0.5 seconds. Call the unbilled plan endpoint first to read billable_minutes (2 for 90 seconds, so $0.20).
def slots(urls, total_s):
step = total_s / len(urls)
return [
{
"source_url": u,
"start": round(i * step, 3),
"duration": round(step, 3),
}
for i, u in enumerate(urls)
]
urls = ["https://media.sume.com/artifacts/artf_demo/c%02d.mp4" % i for i in range(40)]
video = slots(urls, 90)
print(len(video), video[0], video[-1])Transitions and limits
Transitions go on slots after the first, last at most 1 second and no more than 50 percent of the shorter neighbour. More than 8 adjacent fades fails with too_many_chained_transitions; put a hard cut in between. Warnings such as padded or looped short sources are not failures, but read them in the result.
What Sume does not do
Sume does not choose clip order or pick beat-matched cut points, and chunking is not something you pay extra for or can inspect in the price. Every URL must already be on your media host, so import the 40 clips first.
Sources
Related posts
More in Developers
- Retry by error code, not by 5xx: Sume's 502 is your input
Sume's 502 attachment_fetch_failed means fix your URL, not retry. A retry policy keyed on status and code, with a table of which create errors repeat safely.
- 9:16 story image from Sume, then resize to 1080x1920 with Pillow
The v1 image API does not serve explicit pixel sizes, so ask for 9:16, then cover-crop to 1080x1920 in Pillow. Includes the script, models and prices.
- ADK 2.11 abort_signal and /run_sse cancel: Sume job keeps billing
Google ADK 2.11.0 can abort a run and cancels /run_sse on disconnect. A Sume job started by that run is not cancelled by it.
- ADK 2.11 tool nodes pause for approval: gate Sume paid tools
Google ADK 2.11.0 tool nodes can pause for user approval via RequestInput. Use it so a Sume paid tool call waits for a person before it spends.
Written by Sume