TikTok in-feed ad minimums: 540x960 and 516 kbps for a Sume MP4

TikTok non-Spark in-feed ads need 9:16 at 540x960 or more, 500 MB or less and 516 kbps or more. Sume's default 1080x1920 clears the size floor; check bitrate.

4 min readSume
All posts

TikTok's non-Spark in-feed video ads need a vertical 9:16 file of at least 540x960, up to 10 minutes, 500 MB or less, at 516 kbps or more. Sume's Timeline 1.0 renders 1080x1920 by default, which is twice the minimum on each side. The docs do not state a bitrate for that output, so measure it before you upload.

The spec

TikTok Ads Help, video ads specifications, read 2026-10-05
ItemNon-Spark in-feed ad
Vertical 9:16At least 540x960
Horizontal 16:9At least 960x540
Square 1:1At least 640x640
Formats.mp4, .mov, .mpeg, .3gp, .avi
DurationUp to 10 minutes
File size500 MB or less
Bitrate516 kbps or more
CaptionsWhite, fixed font, no links, @ or hashtags

Spark Ads differ

Spark Ads accept .mp4 or .mov with no duration limit, and the caption is taken from the organic video (maximum 4 lines). The page publishes downloadable safe-zone files and does not mention AI-generated content, so disclosure is a separate question.

What a Sume file gives you

Timeline 1.0 defaults to 1080x1920 MP4 and accepts output.width and output.height as even integers from 256 to 2160. 1080x1920 is 2x the 540x960 floor in each dimension, so the pixel minimum is met by default. Do not set a width below 540 for a 9:16 ad.

Length is bounded too: audio.duration_seconds is 1 to 1800 on the timeline, and the ad limit is 10 minutes (600 seconds), so a timeline longer than 600 seconds is over the ad cap.

Check bitrate and size yourself

Video inspect returns a probe and stills and never re-encodes. The docs name only probe.has_audio among its fields, so this post does not promise a bitrate field there. Download the file and read it with ffprobe, which prints the container bit rate in bits per second:

ffprobe -v error -show_entries stream=width,height:format=bit_rate,size -of default=nw=1 clip.mp4
# bit_rate must be at least 516000; size must be at most 500000000 bytes

A pre-upload gate

Turn the spec into a pass or fail test. Width and height at or above 540x960 for 9:16; duration at or below 600 seconds; size at or below 500 MB; bit rate at or above 516 kbps; container one of the listed formats. The ffprobe line above gives the first, fourth and size values in one call. A file that fails any line goes back for a re-render before it reaches the ad account.

Captions have their own rules on the same page: white text, a fixed font, and no links, @ or hashtags. If you burn captions into an ad, keep them to plain words.

Arithmetic check

500 MB at 516 kbps is far longer than any ad allows (516,000 bits per second is 64,500 bytes per second, so 500 MB lasts about 7,752 seconds), so the 10-minute cap bites long before the size cap does at the minimum bitrate. A higher bitrate changes that: at 8 Mbps (1 MB per second), a 500 MB file would last 500 seconds, which is under the 600-second limit. Always check the actual file.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume