Which fps to set: TikTok 23-60, YouTube list, Sume's 24/25/30/60
Sume Timeline fps can be 24, 25, 30 or 60, and every one is in TikTok's 23 to 60 window and on YouTube's list. Leave fps unset to match your sources.

All four values Sume can set (24, 25, 30 and 60) fit both vendor rules: TikTok's media transfer guide gives 23 to 60 FPS, and YouTube's encoding page lists 24, 25, 30, 48, 50 and 60. In Timeline 1.0, output.fps is 24, 25, 30 or 60; if you omit it, the render uses the rate of the sources, and 30 applies only when no source has a rate.
| Source | Allowed or listed rates |
|---|---|
| TikTok media transfer guide | 23 to 60 FPS |
| YouTube recommended encoding | 24, 25, 30, 48, 50, 60 (match the original recording rate) |
| Sume Timeline output.fps | 24, 25, 30, 60, or omit to match the sources |
| Sume video-trim output.fps (exact only) | 24, 25, 30, 60; otherwise the source values |
Setting versus omitting
Forcing a rate that differs from the source makes the job repeat or drop a frame every few frames, which shows up as judder on motion. Sume reports this as output_fps_resamples_sources and names the rate the sources wanted. That warning is the reason to leave fps unset when all your clips share a rate.
YouTube's page says the frame rate should match the original recording. Sume cannot output 48 or 50, so a 48 or 50 fps source forced into 60 or 24 is resampled. Omitting output.fps keeps the source rate instead.
A rate picker
The snippet returns the Sume values that pass both vendor rules, which is a quick way to prove the overlap to yourself.
sume = {24, 25, 30, 60}
tiktok = set(range(23, 61))
youtube = {24, 25, 30, 48, 50, 60}
print(sorted(sume & tiktok & youtube))Sources
Related posts
More in Developers
- Gemini Omni edit returns 400: the five field mistakes on Sume
A video_url edit on gemini-omni-flash-1.1 fails with 400 when you add aspect_ratio, generate_audio false, bitrate_mode, reference audio, or other media. Fixes.
- Generate 100 images with the Sume Image API: async jobs and polling
Submit each image with mode async, collect job ids, then poll status. Each job bills only if it completes; failed jobs use no credits.
- Generate Grok Imagine clips from an agent with the generate_video tool
Hosted MCP exposes generate_video, which replaced video-router_create. How an agent should call it for grok-imagine-video-1.5 and what to read first.
- Can the Sume Image API output SVG? Not today; formats you get
No: output_format svg is in the schema for parity, but no catalog model advertises it, so the request is rejected. Sume returns png, jpeg or webp.
Written by Sume