Which TikTok ad placements take a 10-minute video? Only auction
TikTok's auction non-Spark page allows up to 10 minutes; reservation in-feed and TopView stop at 60 seconds. Pick the placement first, then cut with video-trim.

Only the auction non-Spark spec allows a long video. On TikTok's ad help pages, auction in-feed non-Spark videos can be up to 10 minutes, Spark Ads list no duration restriction, and reservation in-feed and TopView both stop at 60 seconds (read 2026-10-07). Choose the placement before you choose the edit, or you will cut a 3-minute film for a 60-second slot.
Sume's video-trim and Timeline handle either length; the choice is yours.
Four placements, one table
Read from the auction page, the reservation page, and the TopView page.
| Placement | Duration | Max size | Min bitrate |
|---|---|---|---|
| Auction in-feed, non-Spark | up to 10 minutes | 500 MB | 516 kbps |
| Auction in-feed, Spark Ads | no restrictions | not stated on the page | not stated |
| Reservation in-feed | 5-60 s | 500 MB | 2,500 kbps |
| TopView | 5-60 s | 500 MB | 2,500 kbps |
What each choice means for the cut
A 10-minute non-Spark ad is a film, so keep the master and trim only for the hook. A reservation or TopView ad is a short, so take the master down with video trim to 9-15 seconds, or assemble a fresh 15-second cut in Timeline 1.0 from the best shots.
The Spark row says duration has no restriction on the page, and that is all I read. Another TikTok page may cap sparked videos, so check that before you assume.
A placement guard
This function takes a probe's duration and size and says which placements the file satisfies on duration and size only. It does not check bitrate, aspect ratio, or audio.
def placements(duration_s, size_bytes):
ok = []
if duration_s <= 600 and size_bytes <= 500_000_000:
ok.append("auction non-Spark")
if 5 <= duration_s <= 60 and size_bytes <= 500_000_000:
ok.append("reservation in-feed")
ok.append("TopView")
return ok
for d, s in ((14.0, 9_000_000), (300.0, 120_000_000), (2.0, 1_000_000)):
print(d, s, placements(d, s) or "none")Probe before you commit
Run video inspect on the final file and feed duration_seconds and size_bytes to the guard. The decimal megabyte is my assumption, since the pages say MB without a definition.
Why the long limit rarely helps
A 10-minute ceiling does not make a 10-minute ad a good idea. The same auction page lists a 516 kbps floor, and a long file at a low bitrate can be small while still failing on picture quality. Use the ceiling for the rare long-form case, such as a demo or a lecture clip, and not as a default.
For most campaigns the 60-second lines on the reservation pages are the practical constraint, and the 9-15 second recommendation is the one to design to.
Sources
Related posts
More in Comparisons
- Zoom in on a small product in frame: AI recompose or crop and upscale
Product too small in the photo? A Pillow crop plus Sume Image Upscale ($0.20) keeps real pixels; an Ideogram 4.5 recompose edit costs $0.075 and redraws them.
- Sume vs Argil: AI avatar video and video agents compared
Argil makes AI-avatar and story videos with a chat agent, Director; Sume is a video agent with a multi-model API. Avatars, API, pricing, and limits compared.
- Sume vs fal: a generative media API or a video agent platform
fal runs 1,000+ image, video, and audio models behind one API. Sume adds a video agent, Formats, and avatars to a multi-model API. How the two surfaces differ.
- HeyGen alternatives with an API: price units, limits, and fit
HeyGen alternatives with an API: Synthesia, Creatify, Argil, Arcads, and Sume compared by price unit, API shape, limits, and live vs rendered avatars.
Written by Sume