Review a 96-second Short in 24 stills: video frames fps 0.25

fps 0.25 on a 96-second Short returns 24 stills at seconds 2, 6, 10 and on to 94. Video frames takes 24 per call, so one job covers the whole cut.

5 min readSume
All posts

Set fps to 0.25 on a 96-second clip and video frames returns exactly 24 stills, at seconds 2, 6, 10, 14 and so on to 94. That is the call's 24-frame cap met with no waste, one still every 4 seconds, and the whole cut is covered in a single job.

A 96-second clip fits a YouTube Short: the Shorts page (read 2026-10-09) allows up to three minutes with a square or vertical aspect ratio. It also says a Short over one minute with an active copyright claim of any type is blocked globally. A 96-second cut is over that line, so this review is where you check which scenes carry licensed audio or footage.

Where the stills land

The video frames doc says fps expands to mid-bin samples at 0.5/fps, 1.5/fps, 2.5/fps and so on, with a limit of 24 frames. At 0.25 fps the bin is 4 seconds, so the first sample is 0.5 / 0.25 = 2 seconds, and sample k is (k + 0.5) / 0.25 = 4k + 2. For k from 0 to 23 the last is 94. The list of times is also given back as frames[{t, url, width, height}], so you do not need to compute it.

Sample times for fps 0.25 on a 96 s clip (arithmetic from the video frames doc, read 2026-10-08)
kTime t (s)Covers
020 to 4 s
164 to 8 s
114644 to 48 s
229088 to 92 s
239492 to 96 s

What you pay and what you get

Video frames is not a fixed-price job. It reserves its Modal compute ceiling at submit and bills the job's own container seconds times the Modal list times 1.25, plus the platform fee, never more than the hold. The docs give no per-job price, so check GET /v1/catalog for the live rate rather than assuming one. Stills are durable media.sume.com artifacts at the source frame size unless you send max_edge (16 to 2160), and the format is jpeg by default or png.

If one instant fails to extract, that frame has url null and the job does not fail. Always filter nulls before you build a contact sheet.

Picking the right tool

Video inspect is the other option: it returns a probe, eight mid-bin stills by default, and optional speech-to-text. Its stills default to a 768-pixel long edge; video frames does not clamp. For a review where a logo or a caption must be legible, use video frames. For a quick look at a long clip, inspect with seek set to fast.

If you want a different spacing, use at[] with up to 24 explicit times. For example, at [0, 1, 59, 60, 61, 95] lets you inspect the opening, the one-minute line and the last second, which is where claims and cutoffs bite. Times must satisfy 0 <= t < duration, or the worker fails the job with frame_time_out_of_range.

The request

POST /v1/video-frames always returns 202; poll GET /v1/video-frames/{id} until resource_status is ready.

{
  "video_url": "https://media.sume.com/artifacts/artf_demo/short.mp4",
  "fps": 0.25,
  "format": "jpeg"
}

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume