TikTok Spark Ads have no duration limit: what file to post

TikTok's ad specs list mp4 or mov and no duration limit for Spark Ads, with captions taken from the organic post. Cut the post, not the ad.

4 min readSume
All posts

TikTok's spec page lists no duration restriction for Spark Ads, which promote an existing organic post, while non-Spark ads are capped at 10 minutes. Because a Spark Ad borrows the organic post, the file you prepare is the post itself. Its caption, up to four lines, comes from that post too.

How do Spark and non-Spark specs differ? (read 2026-10-09)

TikTok auction in-feed ads, last updated June 2026 (read 2026-10-09)
ItemSpark AdsNon-Spark ads
Formats.mp4 or .mov.mp4, .mov, .mpeg, .3gp, .avi
DurationNo restrictionUp to 10 minutes
SizeNot listed on the page500 MB or less
CaptionFrom the organic post, max 4 linesWhite uniform font, not customizable
Minimum sizeNot listed on the page9:16 540x960, 16:9 960x540, 1:1 640x640

What does that change in the edit?

For Spark, the cut decisions are the organic post's cut decisions: length, ratio and burned-in text are all part of the file you publish. For a long video, Timeline 1.0 can assemble up to 1800 seconds in one render at $0.10 per output minute, rounded up. A 10-minute master is $1.00.

If you also run the same story as a non-Spark ad, trim a copy to 600 seconds or less with video_trim ($0.02 per job); that route is covered in a 10-minute TikTok ad from one master.

Where do the captions live?

The page says Spark captions are extracted from the organic video's captions, at most four lines. Text burned into the video is part of the file and stays regardless. If you want burned text on a silent clip, video_captions cues put it on screen without speech recognition ($0.20 per job for clips of 60 s or less).

What should you check before posting?

Remember that a Spark Ad starts life as an organic post. Decide the length for viewers of the post first, and only then think about the ad. A long file with no limit is allowed by the page, but nothing on it says that long files perform better, so cut to the shortest version that tells the story.

  • Container: the video_inspect probe returns a container field; the page names mp4 and mov for Spark.
  • Size: size_bytes from the same probe.
  • Ratio: width and height from the probe against the vertical 9:16 ratio.
  • Posting is done in the TikTok app; Sume prepares the file.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume