Sume allows 256 px output; TikTok's API minimum is 360
Sume Timeline outputs can be as small as 256 px, below the 360 px minimum on TikTok's media transfer guide. Clamp sizes in your own code before upload.

Yes, the two ranges disagree: Sume accepts output width and height from 256 to 2160, while TikTok's media transfer guide gives a minimum of 360 px and a maximum of 4096 px. Sizes from 256 to 359 would render in Sume and then fall under TikTok's minimum. Sume's own ceiling of 2160 never reaches TikTok's 4096.
| Source | Minimum | Maximum | Note |
|---|---|---|---|
| Sume Timeline output width/height | 256 | 2160 | Even integers |
| Sume video-trim conform (exact only) | 256 | 2160 | Optional output block |
| TikTok media transfer guide | 360 px | 4096 px | Stated for both dimensions |
Where the gap bites
The default Timeline output is 1080x1920, so a caller who omits output is safe. The gap only matters when you shrink on purpose, for example to make a small preview, and then reuse the same body for a TikTok upload. The trim docs show the same 256 to 2160 range on the optional output conform, which is also exact-precision only (a keyframe cut with output returns video_trim_output_requires_exact).
Nothing in Sume's docs says it will raise a size to 360 for you, and the API does not know where you will upload the file. Add the check in your own code.
A guard to run before upload
This function returns the sizes that Sume will render but TikTok's guide would not accept. It only compares numbers, so it runs anywhere.
def tiktok_ok(width, height, lo=360, hi=4096):
return lo <= width <= hi and lo <= height <= hi
def sume_ok(width, height):
return all(256 <= v <= 2160 and v % 2 == 0 for v in (width, height))
for size in [(1080, 1920), (360, 640), (256, 454), (720, 1280)]:
print(size, "sume", sume_ok(*size), "tiktok", tiktok_ok(*size))What else the guide says
The same page lists MP4 (recommended), WebM and MOV, codecs H.264 (recommended), H.265, VP8 and VP9, a frame rate of 23 to 60, durations up to 10 minutes via the API and a 4 GB file limit. It adds that individual users may have lower limits.
Sources
Related posts
More in Developers
- Sume TTS Router: Eleven rows have no timestamps or avatar voice
On Sume's TTS Router, Eleven rows refuse timestamps, segmentation, transcript_source and avatar selectors. Sonic rows accept them. Pick by the fields you need.
- Sume TTS Router output formats: WAV on Sonic, MP3 on Eleven
Sume's Sonic rows return mp3 or wav up to 48 kHz. Eleven rows return mp3 only, and three of them only mp3_44100_128. Pick by the format you need.
- Sume TTS Router voices: the sonic and eleven families
GET /v1/tts-router/voices lists voices for one family, sonic or eleven. A model speaks only with voices from its own family, so pick the model first.
- Sume webhook Send test vs Redeliver: only one replays a real job
Send test posts a dummy webhook.test payload to a URL you type. Redeliver re-sends the real terminal event for one job with a fresh signature. Do not swap them.
Written by Sume