TikTok API frame rate 23-60 fps: conform a clip with Video trim
TikTok's Content Posting API accepts 23-60 fps video. Check the clip's rate, then conform it to 24, 25, 30 or 60 fps with Sume's Video trim output field.

TikTok's Content Posting API takes video between 23 and 60 frames per second, so a 24, 25, 30 or 60 fps clip is inside the range and a 15 fps or 120 fps clip is not. If a clip falls outside it, conform it before you call the API: Sume's Video trim accepts an output.fps of 24, 25, 30 or 60 and re-encodes to that rate in the same job that cuts the clip.
TikTok's own Get Post Status page lists frame rate among the technical reasons a post can fail, next to file format, duration and picture size. That makes frame rate worth fixing up front, because the failure shows up after the upload, not at the request that started it.
What frame rates does TikTok accept?
The Media Transfer Guide gives the video spec as 23-60 FPS, with MP4 recommended, WebM and MOV also supported, H.264 recommended, and a maximum duration of 10 minutes through the API. The Get Post Status page names frame rate as one of the failure categories when processing rejects a file.
The page does not publish a table of which exact frame rates inside the window are best for the For You feed, so this post does not claim one. It only says what is accepted.
| Source frame rate | Inside TikTok's 23-60 range | What to do |
|---|---|---|
| 15 fps | No | Conform to 24 or 30 before posting |
| 24, 25, 30 fps | Yes | Post as is, or leave output unset |
| 60 fps | Yes | Post as is, or conform to 30 to shrink the file |
| 120 fps | No | Conform to 60 or 30 |
How do you conform the frame rate with Sume?
Video trim takes one clip on media.sume.com, a start, and exactly one of end or duration, and returns a new MP4. The optional output object takes width, height and fps, where fps is 24, 25, 30 or 60. It works only with precision: "exact", which is the default frame-accurate re-encode; pairing output with precision: "keyframe" is refused with video_trim_output_requires_exact.
The request below keeps the first 20 seconds of a clip and conforms it to 30 fps. Idempotency-Key is required, and the default mode is async, so you poll the job.
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-fps-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/talk.mp4",
"start": 0,
"duration": 20,
"output": { "fps": 30 }
}'Where do you read the new file?
Poll GET /v1/jobs/:id/status, then GET /v1/jobs/:id/result. A finished trim returns kind: video_trim with a new video_url, duration_seconds and optional warnings[]; the source is never modified. The flow is the same one described in Jobs and results.
Video trim only reads clips that are already on the Sume media host. A clip from elsewhere has to be imported first through POST /v1/media-imports, and an off-host URL is rejected with unsupported_media_source.
What does Sume not do here?
Sume does not post to TikTok and does not call the Content Posting API for you; you take the finished MP4 URL to your own TikTok app or tool. Video trim also does not offer arbitrary frame rates: only 24, 25, 30 and 60 are accepted, and a client that sends ffmpeg-style fields such as vf, codec or crf gets ffmpeg_fields_rejected.
Video trim costs a flat $0.02 per job according to the docs, and the docs say to confirm the live rate in GET /v1/catalog. Treat that number as the documented rate, not a quote.
Sources
Related posts
More in Media tools
- TikTok API video resolution 360-4096 px: size an AI clip first
TikTok's Content Posting API wants width and height between 360 and 4096 pixels. Sume's Video trim output allows 256-2160, so keep your values at 360 or more.
- TikTok API video codecs: H.264, H.265, VP8, VP9 and Video trim modes
TikTok lists H.264, H.265, VP8 and VP9 for API uploads. Sume's exact trim re-encodes to libx264 yuv420p; keyframe trim copies the source stream unchanged.
- TikTok photo post image formats: WebP or JPEG, not PNG
TikTok's photo post API lists WebP and JPEG, 20 MB per image, up to 1080p. If your AI images default to PNG, set Sume's output_format to jpeg or webp first.
- TikTok trending video transcripts via API: what summary_mode returns
Can you get a transcript with Sume's trending video search? summary_mode transcript returns metadata plus an unsupported warning. What to do for the words.
Written by Sume