Video inspect seek fast vs precise: stills up to one GOP early
Sume video inspect seek: fast snaps each still to the keyframe at or before the time, about 0-5 s early on typical sources. precise decodes the exact instant.

Set frames.seek to fast on Sume video inspect when you only want a quick look: each still moves to the keyframe at or before its requested time, so it can show a moment up to one GOP earlier (about 0 to 5 seconds on typical sources) but never a later one. Leave it at precise, the default, when the timestamp has to be accurate.
Both modes return the same quality, resolution and transcript; only the position of the still differs. The behavior is described on the video inspect page.
How the two modes differ
seek lives on the frames object, next to at[] or fps. An object must carry exactly one of at[] (1 to 24 values) or fps (above 0, at most 2, mid-bin, limited to 24 stills).
| seek | How each still is found | Can be earlier than requested? | Use for |
|---|---|---|---|
| precise (default) | Decodes to the accurate instant | No | Explicit at[] instants and the default 8 mid-bin stills |
| fast | Keyframe at or before the instant, no decode | Yes, by at most one GOP | A quick look at a clip |
Reading the response
With fast, each grid reports seek: "fast". sample_times are the instants that the tiles actually show, and requested_times are the instants in your program. Compare the two before you quote a timestamp to anyone.
Example: you ask for at: [60] on a clip with a keyframe every 4 seconds starting at 0. The nearest keyframe at or before 60 is 60 itself, so nothing moves; ask for 62 and the still comes from 60. With keyframes every 5 seconds, a request at 64.9 shows 60.
{
"video_url": "https://media.sume.com/artifacts/artf_demo/talk.mp4",
"frames": { "fps": 0.2, "seek": "fast", "max_edge": 512 }
}Limits that still apply
The source must be 1800 seconds or shorter, and a call returns at most 24 stills. The image edge defaults to 768 and accepts 64 to 2160. The call must use a media.sume.com clip your workspace already owns; import other files first. Sume bills probe and stills by their Modal compute, so there is no fixed per-call price to quote here.
If you need the exact frame at the source size, video frames is the better route, with its own 16 to 2160 edge clamp.
When to use precise anyway
Pick precise for anything a person will quote: a transcript check, a caption timing review or a frame you will paste into a ticket. The cost of precise is decoding time, which is why the docs offer fast only for rough looks.
A useful split is a two-pass review. First pass: fps: 0.2 with seek: fast across a 10-minute file gives 0.2 x 600 = 120 candidates, which the call caps at 24, so lower the rate to 0.04 to get 24 stills spread across the file. Second pass: use precise with at[] set to the few instants you found interesting.
- 24 stills is the ceiling per call, for both at[] and fps.
- fps above 2 is rejected; fps below the ceiling spreads the stills evenly.
- Transcription is a separate flag billed at the STT rate of $0.01 per audio minute.
Sources
Related posts
More in Media tools
- Video inspect seek fast vs precise: stills up to one keyframe early
Set seek fast to get stills from the keyframe at or before each time, skipping the decode. Stills can be early by a GOP, about 0 to 5 s, never later.
- Video inspect transcribe: no duration hint reserves 1 minute
Sume video inspect with transcribe true bills $0.01 per audio minute. With no duration_seconds it reserves 1 minute; the hint maxes at 600 s (10 min = $0.10).
- Video inspect transcript for an 8-minute clip: $0.08 plus compute
transcribe true in video inspect adds STT at $0.01 per audio minute. An 8-minute clip is $0.08 plus compute; duration_seconds hints up to 600 s of reserve.
- Video upscale API: a 12-second clip is $0.108, the cap is 30 seconds
Sume Video Upscale 1.0 bills $0.009 per input second, up to 30 seconds ($0.27). Factor 1.1 to 4, three tiers, and a 5-second default reserve.
Written by Sume