Video inspect on a 60 s clip: stills at 3.75 s, then every 7.5 s

With no frames program, video inspect returns 8 mid-bin stills. On a 60-second clip they land at 3.75, 11.25, 18.75 seconds and on, 768 px on the long edge.

5 min readSume
All posts

If you call video inspect on a 60-second clip and send no frames program, you get 8 stills at 3.75, 11.25, 18.75, 26.25, 33.75, 41.25, 48.75 and 56.25 seconds. The 60 seconds are cut into 8 slices of 7.5 seconds and each still is taken from the middle of its slice. Each is at most 768 pixels on the long edge, and the call also returns probe facts for the clip.

Where the default stills land

The docs say that omitting frames gives 8 mid-bin stills, and that a clip shorter than 8 seconds is sampled at 1 fps. The table applies the 8-slice rule to four clip lengths.

Default frames program, 8 mid-bin stills. Rule from the Sume docs page, read 2026-10-09; times computed as (slice index + 0.5) x duration / 8.
Clip lengthSliceFirst stillLast still
30 s3.75 s1.875 s28.125 s
60 s7.5 s3.75 s56.25 s
120 s15 s7.5 s112.5 s
1,800 s (maximum)225 s112.5 s1,687.5 s

Changing the program

You can pass frames as false for the probe only, as an object with at (1 to 24 explicit seconds), or as an object with fps (0 to 2, capped at 24 stills). The object takes only one of at and fps. Optional keys are format (jpeg or png), max_edge (64 to 2160, default 768) and seek.

  • seek precise (default) decodes to the accurate instant.
  • seek fast moves each still to the keyframe at or before its time, up to about one GOP earlier, never later.
  • A source can be up to 1,800 seconds, and the call allows 24 stills at most.

The call and the wait

The default mode is sync: the handler waits up to 30 seconds and returns 200 with the result, or 202 with a queued job to poll. A request must carry an Idempotency-Key.

curl -X POST https://api.sume.com/v1/video-inspect \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: inspect-60s-001" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/talk.mp4"
  }'

Transcript add-on

Adding transcribe true runs Sume STT at $0.01 per audio minute. Without a duration_seconds hint, Sume reserves 1 minute. A 60-second clip therefore holds $0.01 for the transcript, and a clip with no audio track fails with inspect_source_has_no_audio. Read probe.has_audio first if you are unsure.

Why mid-bin

Placing each still in the middle of its slice avoids the first and last frames of a clip, which are often fades or black. On a 60-second clip with the default, the first still is 3.75 seconds in and the last is 3.75 seconds from the end, so the set is symmetric. If you need the opening frame, ask for it with at [0].

For a quick look at a long recording, seek fast trades accuracy for speed: stills snap to a keyframe at or before their time, so a still planned for 56.25 seconds could come from a few seconds earlier. Use precise when the timestamp has to be exact.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume