A 10-minute TikTok ad from 120 five-second slots: 600 s, $1.00
Timeline takes up to 200 slots and 1,800 s. 120 slots of 5 s make exactly 600 s, which meets TikTok's 10-minute ad limit and bills 10 minutes, $1.00.

A Timeline 1.0 render of 120 five-second slots is exactly 600 seconds, the 10-minute ceiling for a non-Spark TikTok in-feed ad, and bills 10 started minutes: $1.00. The render accepts up to 200 slots and up to 1,800 seconds of audio spine, so the slot count is not the limit here; the TikTok cap is.
Limits side by side
TikTok's specification page (read 2026-10-08) lists non-Spark video of up to 10 minutes, at most 500 MB, a bitrate of at least 516 kbps, and mp4, mov, mpeg, 3gp or avi. Timeline limits come from its docs page.
| Limit | Value | Source |
|---|---|---|
| TikTok max duration | 10 minutes (600 s) | TikTok specification page |
| TikTok max file size | 500 MB | TikTok specification page |
| Timeline audio spine | 1 to 1,800 s | Timeline docs |
| Timeline video slots | 1 to 200 | Timeline docs |
| Timeline price | $0.10 per ceil(output minute) | Timeline docs |
The arithmetic
120 slots x 5 s = 600 s. ceil(600 / 60) = 10 minutes. 10 x $0.10 = $1.00.
At 601 s the ceil is 11 minutes, $1.10, and the file is over TikTok's cap. So set audio.duration_seconds to 600 and make the last slot end at or before the end of the spine. A slot's duration is at least 0.2 s, and coverage may stop at most 0.5 s before the spine ends.
How a long render is built
With render.strategy left at auto, Timeline chunks the render once it passes 12 segments, and Sume refuses single above 12 slots (render_strategy_unsafe). A 120-slot job therefore runs chunked. You do not change anything for that.
Each video[].start must increase, and video[0].start must be 0. Declared starts are authoritative, so with 5 s slots the starts are 0, 5, 10 and so on up to 595. More than 8 adjacent fades in a row are refused (too_many_chained_transitions); put a hard cut between groups.
Preflight
POST /v1/timeline-1.0/plan is unbilled. It returns duration_seconds, segment_count and billable_minutes, so you can confirm 120 segments and 10 minutes before spending the dollar. A plan cannot predict short-source pad or loop warnings, so a slot cut from a 3 s source with a 5 s duration will warn at render time.
After the render, check size and duration against the TikTok limits. The run result carries duration_seconds, and video inspect gives a full probe. At roughly the 516 kbps floor 600 s is about 38.7 MB; the 500 MB cap would need about 6.67 Mbps sustained, so size is rarely the binding limit at this length.
Where the 120 slots stop
Timeline 1.0 takes 1 to 200 video slots and an audio spine of 1 to 1800 seconds, so a 10-minute ad of 120 five-second slots is inside both limits. The render strategy auto splits the render into chunks once a timeline passes 12 segments, which a 120-slot plan does, so the render is not one long job. The plan endpoint is unbilled, so you can check the segment count and the billable minutes before you submit.
The price is only the Timeline step: 600 seconds is exactly 10 minutes, so ceil(600 / 60) = 10 and 10 x $0.10 = $1.00. At 601 seconds it becomes 11 minutes and $1.10, which is why the audio spine is the number to watch. The 120 clips themselves are billed separately by their own model.
What the clips cost
For scale, 120 Wan 3.0 clips of 5 seconds at 720p are 120 x 63 cents = $75.60, and the Timeline render adds $1.00 for $76.60. That total is arithmetic on catalog prices and not a recommendation; a 10-minute ad is also unusual, since TikTok's non-Spark page allows up to 10 minutes but does not say what performs.
Keep the file limits in mind: the same page caps a non-Spark file at 500 MB and wants at least 516 kbps. Ten minutes at 516 kbps is 600 x 0.516 = 309.6 megabits, about 39 MB, so the size cap only matters at much higher bitrates.
Sources
Related posts
More in Developers
- 100 Omni clips on Sume Pro: queue_full after 24 jobs
Sume Pro runs 4 jobs at once and accepts 24 in total. Submitting 100 Omni clips at once returns 429 queue_full. A Python wave loop that retries safely.
- Re-render 100 Sora prompts at 8s 720p 9:16: six Sume models priced
A 100-prompt library of 8-second 720p vertical clips costs $60.00 to $242.00 on Sume depending on the model. Exact per-clip cents and the arithmetic.
- A 12s 1080p clip from two 6s Omni clips: 236 cents with the join
Gemini Omni Flash 1.1 stops at 10 seconds, so a 12-second 1080p shot is two 6-second clips at 113 cents each plus a Timeline join: 236 cents on Sume.
- 1,200 SKUs as 12 bulk queues of 100: keys, concurrency, replays
Format bulk runs take 1 to 100 items, so 1,200 SKUs are 12 queues. Use 12 distinct Idempotency-Keys: a replayed key returns 202 with the old queue.
Written by Sume