TikTok ad at 9:40 and 516 kbps: 37.4 MB and a $1.00 Sume render
A 580-second TikTok ad at the 516 kbps floor is about 37.4 MB, far under the 500 MB cap. The 10-minute limit binds first. Sume renders it for $1.00.

A 9 minute 40 second TikTok ad (580 seconds) encoded at the 516 kbps minimum is about 37.4 MB, so the 500 MB file cap never matters; the 10-minute length limit and the bitrate floor do. On Sume, a Timeline 1.0 render of 580 seconds bills 10 minutes at $0.10 per minute, which is $1.00.
The TikTok limits
TikTok's help page for non-Spark video ads lists vertical 9:16 at 540 by 960 pixels or more, horizontal 16:9 at 960 by 540 or more, square 1:1 at 640 by 640 or more, formats .mp4, .mov, .mpeg, .3gp and .avi, a duration of up to 10 minutes, a file size of 500 MB or less, and a bitrate of 516 kbps or more (read 2026-10-09).
Which limit binds first? At the lowest allowed bitrate, size grows with length. Compute it: 580 seconds times 516 kilobits is 299,280 kilobits, divided by 8 is 37,410 kilobytes, about 37.4 MB. Reaching 500 MB at 516 kbps would take roughly 7,752 seconds, so the 600-second cap ends the ad long before the size cap does. A higher bitrate changes this: 500 MB over 580 seconds allows about 6.9 Mbps.
| Length | Arithmetic | Size at 516 kbps | Under 500 MB |
|---|---|---|---|
| 60 s | 60 x 516 / 8 | 3.87 MB | yes |
| 300 s | 300 x 516 / 8 | 19.35 MB | yes |
| 580 s | 580 x 516 / 8 | 37.41 MB | yes |
| 600 s | 600 x 516 / 8 | 38.70 MB | yes |
Rendering a 580-second ad
Timeline 1.0 takes one audio spine up to 1,800 seconds and 1 to 200 video slots, and returns one MP4. The default output is 1080 by 1920, which clears the 540 by 960 vertical minimum. The spine length sets the output length, so set audio.duration_seconds to 580. The reserve is the ceiling of seconds over 60, which is 10 minutes, so the render costs $1.00.
POST /v1/timeline-1.0/plan is the free preflight. It returns duration_seconds, billable_minutes and estimated_cost_usd_micros without creating a job, so run it first and confirm 10 billable minutes.
- Render: $0.10 per output minute, rounded up, so 580 s and 600 s both bill $1.00.
- Plan preflight: unbilled.
- Slots: up to 200, and the render runs chunked above 12 segments.
Check the finished file
The render does not expose bitrate controls, so probe the result with video inspect. Its probe is free and reports the clip properties. If the average bitrate lands under 516 kbps, a very static ad can encode low; check before uploading rather than after review rejects it. If the file passes, upload it as a non-Spark ad.
A practical note
A final caution about bitrate. The 516 kbps number is a floor, and platforms may re-encode your file, so do not target the floor. If the render comes back near 516 kbps, a fast-moving ad may look soft after TikTok processes it. Check the probe from video inspect, keep a copy of the exact file you upload, and compare the ad in the Ads Manager preview. If you must cut file size, shorten the ad rather than lowering quality, since the 10-minute cap is the limit that already binds.
Sources
Related posts
More in Use cases
- TikTok ad text is fixed white; a brand typeface must be burned in
TikTok shows ad text in white, fixed font, no links, @ or hashtags. A brand typeface must be burned into the video; what Sume's caption API can set.
- Real footage trimmed and captioned on Sume: TikTok AI disclaimer?
TikTok requires an AI disclaimer for fully AI-generated or significantly AI-modified media. Which Sume jobs use no generative model, and which ones do not.
- TikTok Ad Teardown Before You Remake It: Trending Search and Ingest
Research what works on TikTok, then read one reference clip into shots, on-screen text and audio facts before a remake brief. Sume costs and dest-first limits.
- TikTok Non-Spark Ad Upload Specs: Check Your Render Before You Upload
TikTok non-Spark ads need 9:16 at 540x960 or more, up to 500 MB, 516 kbps or higher. Use Timeline 1.0, video trim and video inspect to meet and check them.
Written by Sume