video-inspect vs video-frames: which returns the still you need

Video inspect gives a probe, 8 default stills at 768 px and optional STT for clips up to 1800 s; video frames gives exact stills at source size up to 300 s.

3 min readSume
All posts

Use video inspect to learn what a clip is (duration, audio, a sample of stills, optionally a transcript) and video frames to pull exact frames at the source size. Inspect reads sources up to 1800 s and returns 8 mid-bin stills at a default max_edge of 768; frames reads sources up to 300 s and keeps the source frame size unless you clamp it (Video inspect, Video frames).

Side by side

Sume docs, read 2026-10-08
video-inspectvideo-frames
RoutePOST /v1/video-inspectPOST /v1/video-frames
Default modesync, waits up to 30 salways 202, poll
Source cap1800 s300 s
Stills per callUp to 24 (8 by default)1 to 24
Default image sizemax_edge 768Source size
Also returnsProbe, optional transcriptFrames only
Fast seekseek: "fast" (keyframe at or before)Not offered

A quick look then an exact frame

Probe first with frames: false, which returns only the probe facts, including probe.has_audio. Then pull the one frame you care about with video frames, which always returns 202 and is polled.

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

# then the exact frame, at source size
curl -X POST https://api.sume.com/v1/video-frames \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: frame-001" \
  -d '{"video_url": "https://media.sume.com/artifacts/artf_demo/talk.mp4", "at": [2.5], "format": "png"}'

Seek mode

Inspect's seek: "fast" moves each still to the keyframe at or before its instant, so it can be earlier by up to one GOP and is never later. Keep the default precise whenever a timestamp has to be accurate.

Billing and sources

Both routes read a media.sume.com clip of your workspace; import other URLs first. Video frames is billed by its Modal compute plus the platform fee, and the bill never exceeds the hold taken at submit. If one instant fails, that frame has a null url and the job does not fail. For at values the rule is 0 <= t < duration; a time outside it fails with frame_time_out_of_range.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume