Check an episode against TikTok upload specs before you post

TikTok's media guide lists MP4/H.264, 360 to 4096 px a side, 23 to 60 FPS and a 4GB cap. Use Sume video inspect to read your file's probe before uploading.

5 min readSume
All posts

Before you upload an episode, check it against TikTok's published specs: MP4 and H.264 recommended, 360 to 4096 pixels per side, 23 to 60 FPS and at most 4GB. Sume's video inspect reads a file's probe without re-encoding it, and a probe-only call returns width, height, fps, video_codec, container, size_bytes, duration_seconds and has_audio. Compare them to the table below, then upload.

The specs come from the TikTok media transfer guide, read on 2026-10-03. The guide is for the Content Posting API; the app can differ.

TikTok's stated limits

These are quoted from the guide, not from Sume.

TikTok video requirements (read 2026-10-03)
ItemStated
Max size4GB
FormatsMP4 (recommended), WebM, MOV
CodecsH.264 (recommended), H.265, VP8, VP9
Pixels per side360 to 4096
Frame rate23 to 60 FPS
LengthAll creators 3 minutes; some 5 or 10; upload endpoint up to 10 minutes

Probe the file

Send one media.sume.com URL. With frames set to false it is a probe only, with no stills. The job id is the resource id, and you read it with a GET.

curl -X POST https://api.sume.com/v1/video-inspect \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: ep7-inspect" \
  -d '{"video_url":"https://media.sume.com/artifacts/artf_ep7/ep7.mp4","frames":false}'
# then GET /v1/video-inspect/$REQUEST_ID and read probe

What Sume outputs by default

Timeline 1.0 renders 1080x1920 MP4 by default, which sits inside the 360 to 4096 range. If you do not set output.fps, it matches the rate of the sources, with 30 as the fallback when none has one. Frame rate in 23 to 60 is only a risk if a source runs lower; set output.fps to 24, 25, 30 or 60 to be certain.

A mismatch between a source's rate and the output repeats or drops frames, which can judder.

What to do when it fails

If the length is over what your account can post, trim with video trim, or split into episodes. If the codec is not on the list, re-render through Timeline. Sume does not post for you, so the final upload is yours.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume