TikTok Spark Ads: MP4 or MOV only; non-Spark lists five containers
Spark Ads list .mp4 or .mov with no duration limit; non-Spark lists five containers and 10 minutes. Sume trim and Timeline write MP4, so both fit.

TikTok's video ad specifications (read 2026-10-09) give two lists. Spark Ads (pull) accept .mp4 or .mov, with no duration restrictions, and take their caption from the organic video, with a maximum of 4 lines shown. Non-Spark ads accept .mp4, .mov, .mpeg, .3gp and .avi, up to 10 minutes, 500 MB or less and 516 kbps or more. Sume's video trim and Timeline outputs are MP4, which is on both lists.
So the format is never the blocker; length is. A Spark post has no limit on the page, while a non-Spark ad stops at 10 minutes. For a 14-minute webinar, you cut for the non-Spark route and you leave it whole for Spark.
The two lists side by side
| Line | Spark Ads (pull) | Non-Spark ads |
|---|---|---|
| Containers | .mp4, .mov | .mp4, .mov, .mpeg, .3gp, .avi |
| Duration | no restrictions | up to 10 minutes |
| File size | not stated | 500 MB or less |
| Bitrate | not stated | 516 kbps or more |
| Captions | from the organic video, max 4 lines shown | white, uniform font, not customizable |
Cutting the 14-minute source
Video trim accepts sources up to 1,800 seconds and writes up to 900 seconds. For a 14-minute (840 second) webinar, a cut to 600 seconds is one job at $0.02: start 0, duration 600. The result is a new MP4 and the source is untouched. Exact precision, the default, is a frame-accurate re-encode with H.264 and AAC audio.
A cut to the first 10 minutes is rarely the best 10 minutes. Pull stills with video frames at times across the clip (up to 24 per call, source 300 seconds or less) or use video inspect (source up to 1,800 seconds) to decide the start. The inspect default is eight stills, and it can add speech-to-text at $0.01 per audio minute.
A decision rule
Use the non-Spark route when the ad is a new creative you upload for the ad account, and the format rules above apply. Use Spark when the video is already a post and you want to promote it. In the first case Sume helps with the file; in the second, the file is already on TikTok, so the page's Spark column says little about the media itself.
For the first case, a typical sequence is trim to length ($0.02), conform to a size, burn captions if you want your own style, and assemble in a Timeline if there are several clips. Captions are a separate $0.20 job for clips up to 60 seconds. TikTok's page says non-Spark captions are displayed in white in a uniform font that cannot be customized, which is about the ad caption field, not text burned into the video.
What the page does not say
The Spark column leaves out file size and bitrate. Do not read that as no limit; read it as not stated on that page. If you intend to run an organic post as a Spark Ad, the organic video's own upload limits on TikTok apply first, and this page does not describe them. Also, the page does not name resolution for Spark Ads, only for non-Spark.
For non-Spark, the resolution minimums are 540x960 for 9:16, 960x540 for 16:9 and 640x640 for 1:1. Anything above passes, and Sume can output any even size from 256 to 2160 on a side.
Sources
Related posts
More in Media tools
- 13 video slots in one render: strategy single is refused above 12
A Sume timeline render accepts 1 to 200 video slots, but render.strategy single is refused above 12. Use auto or chunked; the price stays $0.10 a minute.
- Timeline audio mp3 adds padding at every edge: keep wav to rejoin
Sume timeline audio outputs wav (default, sample-exact) or mp3, which adds priming padding at each edge. Re-joined mp3 parts leave gaps.
- Split a voice track into 20 files for 1 cent: timeline audio split
Sume timeline audio split cuts one audio file into up to 20 ranges in a single $0.01 job, with wav output by default. 20 separate jobs would cost $0.20.
- Timeline compose overlay on 1080x1920: a 972 px plate, 96 px margin
Overlay compose defaults width_ratio 0.9 and margin_ratio 0.05: on a 1080x1920 frame, a 972 px plate and a 96 px margin. Stack splits 50/50. $0.02 a job.
Written by Sume