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.

5 min readSume
All posts

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.

TikTok non-Spark limits and Timeline 1.0 limits, as of 2026-10-08
LimitValueSource
TikTok max duration10 minutes (600 s)TikTok specification page
TikTok max file size500 MBTikTok specification page
Timeline audio spine1 to 1,800 sTimeline docs
Timeline video slots1 to 200Timeline 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

All Developers posts

Written by Sume