TikTok Ad Network video: up to 10 minutes, 500 MB, 720x720 allowed
TikTok Ad Network (Pangle) video ads accept 1280x720, 720x1280 or 720x720, up to 10 minutes and 500 MB. Cut each size with Sume video trim.

TikTok Ad Network, formerly Pangle, takes video in three sizes: 1280 x 720, 720 x 1280 and 720 x 720, up to 10 minutes long, at most 500 MB, as .mp4, .mov, .mpeg or .avi (read 2026-10-03). The same video spec applies to all five formats on the page: interstitial, rewarded, app open, native and banner. That makes it easy to prepare one set of three files and reuse them, and Sume can cut each of the sizes from one hosted clip.
The square 720 x 720 size is the one many teams forget, because the main TikTok feed is vertical. Here is how the three sizes line up and how to produce them.
Same video spec, five formats
TikTok's page groups assets by format. Every one of the five lists the same video row. Images and playables differ: interstitial and rewarded also take a playable .zip at 1280 x 720 or 720 x 1280 up to 5 MB, and carousel and image assets are 1200 x 628, 640 x 640 or 720 x 1280 as .jpg, .jpeg or .png up to 100 MB. Banner adds three exclusive image sizes, 600 x 500, 640 x 200 and 640 x 100 (read 2026-10-03). The page lists no bitrate, so there is nothing to match there.
| Format | Video sizes | Length and file |
|---|---|---|
| Interstitial | 1280x720, 720x1280, 720x720 | Up to 10 minutes, 500 MB |
| Rewarded | 1280x720, 720x1280, 720x720 | Up to 10 minutes, 500 MB |
| App Open | 1280x720, 720x1280, 720x720 | Up to 10 minutes, 500 MB |
| Native | 1280x720, 720x1280, 720x720 | Up to 10 minutes, 500 MB |
| Banner | 1280x720, 720x1280, 720x720 | Up to 10 minutes, 500 MB |
Cut three sizes from one source
Video trim takes one clip hosted on media.sume.com and returns a new MP4 with the output size you ask for, from 256 to 2160 per edge. All three of TikTok's sizes are in range. The docs do not describe how a mismatched aspect ratio is handled, so for a source that is not already close to the target shape, prepare the crop first, with video filter crop fractions or a separate source, then trim.
The script cuts a 30-second segment into all three sizes with one idempotency key each. Trim costs $0.02 per job under the current public rate, so three sizes are three jobs (confirm in GET /v1/catalog).
import os, time, requests
BASE = "https://api.sume.com"
H = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
def run(path, body, key):
r = requests.post(BASE + path, headers={**H, "Idempotency-Key": key}, json=body)
r.raise_for_status()
job = r.json()["request_id"]
while True:
s = requests.get(f"{BASE}/v1/jobs/{job}/status", headers=H).json()["status"]
if s in ("completed", "failed", "canceled"):
break
time.sleep(3)
return s, (requests.get(f"{BASE}/v1/jobs/{job}/result", headers=H).json() if s == "completed" else None)
SRC = "https://media.sume.com/artifacts/artf_demo/ad-master.mp4"
for name, w, h in [("land", 1280, 720), ("port", 720, 1280), ("sq", 720, 720)]:
status, res = run("/v1/video-trim", {
"video_url": SRC, "start": 0, "duration": 30,
"output": {"width": w, "height": h, "fps": 30}}, f"ad-network-{name}-001")
print(name, status, res and res["video_url"])
Choosing which of the three to make
Not every campaign needs all three. A rewarded game ad is usually watched full-screen on a phone, so the vertical 720 x 1280 file is the natural choice, while a landscape 1280 x 720 file suits placements where the app is played sideways. The square 720 x 720 file is a compromise that works in both orientations, but it leaves the most unused screen on a tall phone.
A practical order: start with 720 x 1280 because it is also the shape TikTok's in-feed placements prefer, add 1280 x 720 if your game or app runs in landscape, and make the square only when a placement shows a letterboxed result. Keep each file's name tied to its size so reports from the ad platform map back to a specific render.
The 10-minute limit is generous next to most social specs, and TikTok's page does not recommend a length. A short, clear ad usually earns more attention than a long one, so use the limit as a ceiling rather than a target. If your master is much longer than you need, use the start and duration fields on the trim request to take only the part that explains the offer.
Check the files before upload
Read each result with video inspect and frames: false, which returns the probe without stills. Compare the width and height against the three TikTok sizes, check the length is under 10 minutes, and look at the byte size of the file against 500 MB. For a 30-second ad the size limit is not a concern, but a long product demo can reach it.
If you plan a rewarded or interstitial placement, also read TikTok's own page for the playable: that is a separate zip, covered by a different spec, and Sume does not build it. A square 720 x 720 file is worth testing in the native and banner placements, where a vertical video can look oversized.
Sources
Related posts
More in Use cases
- TikTok ads ban QR codes: how to check a video for one
TikTok's ad policy says ad content must not contain QR codes, with exceptions. How to pull stills from an AI-made ad video with Sume and look before upload.
- TikTok ad static image rule: 50% of the video, and AI slideshows
TikTok's ad policy says still images should not fill more than 50% of a video ad and the ad needs clear audio. How to check an AI clip before you upload.
- Swipe up text in a TikTok ad: why it breaks policy, what to use
TikTok's ad policy names 'Swipe up to learn more' as an unsupported gesture. Keep fake gestures out of AI ad video and burn a real call to action with Sume.
- Misspelled or garbled text in an AI ad: TikTok's rule and the fix
TikTok's ad policy bans spelling mistakes in captions and illegible or unclear visuals. Stop AI video models from drawing text: burn authored cues with Sume.
Written by Sume