TikTok non-Spark ad file check: 500 MB, 10 minutes, 516 kbps floor

TikTok's non-Spark spec: 9:16 at 540x960 or more, up to 10 minutes, 500 MB or less, 516 kbps minimum. A 15-second 1080p cut sits far inside the limits.

5 min readSume
All posts

A TikTok in-feed ad that is not a Spark Ad needs at least 540x960 pixels in 9:16, a duration up to 10 minutes, a file of 500 MB or less, and a bitrate of at least 516 kbps (TikTok Ads Help, read 2026-10-05). Holiday cuts are short, so the one limit most likely to bite is the bitrate floor, not the size cap.

The limits side by side

Spark Ads are different: the same page lists .mp4 or .mov and no duration restriction for them. The table is for the plain in-feed path.

TikTok non-Spark in-feed video spec (read 2026-10-05)
ItemRequirementWhat it means for a 15 s holiday cut
Vertical size9:16, at least 540x960 pxA 1080x1920 render clears it
DurationUp to 10 minutes15 s is 2.5% of the cap
File size500 MB or lessA 15 s clip is nowhere near it
BitrateAt least 516 kbpsThe only floor to measure
Formats.mp4, .mov, .mpeg, .3gp, .aviMP4 is the safe choice

Doing the arithmetic

The 10-minute cap is 600 seconds, so a 15-second ad uses 15 / 600 = 2.5 percent of it. For file size, 500 MB over 15 seconds would be a bitrate of roughly 266 Mbps, which no ad render approaches. In practice you never hit the size cap on a short ad; you check that the encoder did not squeeze the stream below the floor.

Caption copy has its own rule on the same page: ad text is displayed in white in a uniform font that cannot be customized, and it does not support clickable links, @ symbols, or hashtags. Keep the offer inside the video frame as burned text and the post text plain.

Why the bitrate floor is the real check

Encoders for short clips often target a low bitrate, and a flat-colored holiday graphic can compress below 516 kbps without looking bad. That is exactly the file TikTok will refuse. If a probe shows a rate under the floor, re-render rather than uploading and hoping.

Duration and size checks are the same at any length, which is why the table keeps the 15-second column: it shows your real margin against each cap.

Trim, then probe

If a longer master has the hook you want, cut it with POST /v1/video-trim ($0.02 per job). It accepts a media.sume.com clip, a start, and one of end or duration (0.2 to 900 seconds), and returns a new MP4. The default precision is exact, a frame-accurate re-encode, which is what you want for an ad cut. Import the source first with POST /v1/media-imports, since the API does not fetch from the open internet.

Then check the finished file's probed bitrate against 516 kbps before uploading. A preflight takes seconds; a rejected upload on launch morning does not.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume