Video frames fps on Sume: mid-bin sampling and the 24-frame cap

Sume video frames with fps 0.5 samples at 1 s, 3 s, 5 s and so on, capped at 24 frames per call, at source size. Use at[] for exact instants.

5 min readSume
All posts

With fps: 0.5, Sume video frames samples mid-bin instants, 0.5/fps, 1.5/fps and so on, so the stills land at 1, 3, 5 seconds, not at 0. The call returns at most 24 frames, fps must be above 0 and no more than 2, and the clip must be 300 seconds or shorter. For exact instants send at[] instead. Source: Video frames, read 2026-10-06.

How do at[] and fps differ?

Send only one of them.

Video frames program fields, read 2026-10-06 from docs.sume.com.
ProgramValuesResult
at[]1 to 24 seconds, each at least 0 and below the durationOne still per instant; out of range gives frame_time_out_of_range
fpsAbove 0, at most 2Mid-bin samples, limit 24 frames
formatjpeg (default) or pngLossless with png
max_edge16 to 2160Omit it and frames keep the source size

When do I use video frames and not video inspect?

Video inspect samples 8 mid-bin stills with a default max_edge of 768. Video frames does not clamp unless you send max_edge, so use it when you need the source size, such as an OCR pass or a check of a first frame. A submit always returns 202, because the job is pinned to async, and you read GET /v1/video-frames/:id until resource_status is ready.

  • A failed instant has url: null and does not fail the job.
  • Over 90 seconds, warnings[] can carry low_confidence_long_video.
  • Billing is by the job's Modal compute, never more than the reserved hold.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume