video-frames fps limit: 24 frames, fps up to 2, what it covers
Sume video-frames takes fps from just above 0 up to 2 and caps each call at 24 frames at mid-bin times. Table of sample times and the span 24 frames reach.

On Sume's video-frames, fps must be above 0 and at most 2, and every call returns at most 24 frames. Samples sit at the middle of each bin, at 0.5/fps, 1.5/fps and so on (Video frames). So 24 frames at 2 fps cover 12 seconds of clip, and a slower rate stretches the same 24 frames across more of it.
Sample times and span
The span column is 24 divided by fps, my arithmetic from the mid-bin rule.
| `fps` | First three sample times (s) | Span of 24 frames |
|---|---|---|
| 2 | 0.25, 0.75, 1.25 | 12 s |
| 1 | 0.5, 1.5, 2.5 | 24 s |
| 0.5 | 1, 3, 5 | 48 s |
| 0.2 | 2.5, 7.5, 12.5 | 120 s |
| 0.1 | 5, 15, 25 | 240 s |
Choosing between fps and at
Send exactly one of them; both together, or neither, is a 400. Use fps for an even contact sheet, and at[] when you already know the moments, for example from a transcript.
curl -X POST https://api.sume.com/v1/video-frames \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: sheet-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/talk.mp4",
"fps": 0.2,
"format": "png"
}'Limits
- Source up to 300 s; longer fails with
duration_out_of_range. - A source over 90 s can add the warning
low_confidence_long_video, which does not fail the job. - Need a probe and a transcript too? That is video inspect.
- Billing is metered: the job reserves its Modal compute ceiling at submit and is billed at its own container seconds times the Modal list times 1.25, plus the platform fee, never more than the hold. There is no flat per-frame price, so this post quotes none.
- Stills keep the source frame size unless you send max_edge (16 to 2160). If one instant fails, that frame has a null url and the job still completes.
Sources
Related posts
More in Media tools
- Group TTS sentences into 5 to 14.8 second lip-sync segments in Python
A short Python planner that groups sentence durations into segments the Sume H3 Max lip-sync route accepts (5 to 14.8 s) and prints the 768p cost of each.
- H3 Max lip sync: 480p drafts then a 1080p final for a 6-second line
A 6-second line costs $0.375 at 480p and $1.20 at 1080p on Sume H3 Max lip sync. Drafting pays only past 1.45 expected attempts. The math, with code.
- Holiday music bed under a voice: soundtrack duck_db 0 to 20
Sume Timeline takes a soundtrack bed with gain_db, loop, fade_out_seconds up to 10 and duck_db 0 to 20 under a voice spine. Python plan call and errors.
- How many words fit a 5 to 14.8 s lip-sync segment: measure first
At the 2.8 words a second Sume's avatar planner assumes, 5 to 14.8 s is 14 to 41 words. TTS pace varies: measure the audio before setting duration_seconds.
Written by Sume