TikTok API 10-minute video limit: trim a longer video with Sume
TikTok's media guide says a developer can send at most 10 minutes through initialize upload. Sume video-trim cuts up to 900 s from a 1800 s source into an MP4.

Cut the video to 600 seconds or less with POST /v1/video-trim (duration: 600), because TikTok says "The longest video a developer can send via the initialize Upload Video endpoint is 10 minutes." Sume's trim accepts an output of up to 900 seconds from a source of up to 1800 seconds.
What are TikTok's length numbers?
The media transfer guide gives a tiered picture: "All TikTok creators can post 3-minute videos, while some have access to post 5-minute or 10-minute videos." The developer cap is 10 minutes, so the effective limit for a given creator can be lower.
| Item | Value | Source |
|---|---|---|
| All creators | 3 minutes | TikTok media guide |
| Some creators | 5 or 10 minutes | TikTok media guide |
| Developer upload maximum | 10 minutes (600 s) | TikTok media guide |
| Trim output | 0.2 to 900 s | Sume video-trim |
| Trim source | 1800 s or less | Sume video-trim |
How do I cut to 600 seconds?
Send start and exactly one of end or duration. A 600 second cut fits inside the 900 second output cap, and the source can be up to 1800 seconds. The default precision is exact, a frame-accurate re-encode to H.264 in yuv420p; keyframe copies the stream and may begin a GOP early.
curl -X POST https://api.sume.com/v1/video-trim \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: tiktok-cut-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/long.mp4",
"start": 0,
"duration": 600
}'What if I need a 10-minute video from several clips?
Assemble them with https://docs.sume.com/models/timeline, which takes an audio spine of 1 to 1800 seconds and up to 200 video slots. Set audio.duration_seconds to 600 to match the cap. Timeline is priced at $0.10 per output minute, and its plan route is unbilled if you want to preflight.
What does this not check?
Sume does not know which tier a TikTok creator has, so it cannot tell you whether 600 seconds is allowed for that account. Read the creator's allowed maximum from TikTok, then cut to that. Re-read the guide before shipping, since tiers change.
How do I verify the length before upload?
Trim's result reports duration_seconds and actual_start_seconds, so check the first against your limit before starting a TikTok upload. If the cut warns trim_clamped_to_source, the source ended before your end and the file is shorter than planned. Both fields come back from GET /v1/jobs/:id/result as kind: video_trim.
- Compare
duration_secondswith the creator's allowed maximum. - Treat any
warnings[]entry as a reason to look before posting. - Keep the source untouched; the trim writes a new
artf_MP4.
Sources
Related posts
More in Use cases
- TikTok API accepts MP4, WebM or MOV: which format Sume returns
TikTok's media guide lists MP4 (recommended), WebM and MOV. Sume video trim and timeline write an MP4, so a Sume result already matches the recommended type.
- TikTok upload chunk size: 5-64 MB and 1000 chunks for AI video
TikTok's media guide sets 5 MB to 64 MB chunks, 1 to 1000 chunks and a 4GB maximum. Sume gives no file size control, so measure the MP4 before you split it.
- TikTok title 2200 UTF-16 runes vs burned-in captions from Sume
TikTok's Direct Post title allows 2200 UTF-16 runes. Burned-in captions are separate video pixels: Sume's video-captions job burns the exact cues text you pass.
- TikTok video_cover_timestamp_ms: pick the cover frame in seconds
TikTok's Direct Post field video_cover_timestamp_ms takes milliseconds. Preview candidate frames with Sume video-frames, then multiply the chosen time by 1000.
Written by Sume