Mux thumbnail time and fit_mode vs Sume video frames at and max_edge
Mux gets a thumbnail from a playback ID URL with time, width and fit_mode. Sume video-frames takes at[] times or fps and returns durable image files.
To pull a still from a video, Mux builds it from a URL query string (time, width, height, fit_mode), while Sume's video frames takes a JSON program: at[] seconds (1 to 24 values) or an fps, plus format and max_edge, and returns durable image artifacts. Mux answers with an image at a URL; Sume answers with a job you poll.
Mux facts come from its Get images from a video guide, read 2026-10-02. Sume facts come from the video frames docs.
What can the Mux thumbnail URL do?
Per the guide, a request to image.mux.com/{PLAYBACK_ID}/thumbnail.png accepts time (seconds; default is the asset's thumbnail time or the middle of the video), width and height, rotate (90, 180 or 270), fit_mode (preserve, stretch, crop, smartcrop, pad), and flip_v / flip_h. The guide also states a default limit of one thumbnail and one GIF per 10 seconds of duration per asset, and ten of each for assets under 100 seconds.
What does Sume video frames take?
POST /v1/video-frames needs video_url on media.sume.com and exactly one of at[] or fps (0 < fps <= 2, mid-bin samples, capped at 24 frames). format is jpeg (default) or png; max_edge is 16 to 2160 and, when omitted, keeps the source size. Submit is always 202, and extraction is unbilled. An at value outside [0, duration) fails as frame_time_out_of_range.
There are no rotate, flip or fit options on this route. A crop or pad belongs in video filter on the clip or in an image step on the still.
curl -X POST https://api.sume.com/v1/video-frames \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: thumb-35s-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/talk.mp4",
"at": [35],
"format": "png",
"max_edge": 1280
}'How do the two line up?
Poll GET /v1/video-frames/:id until resource_status is ready, then read frames[{t,url,width,height}].
| Need | Mux thumbnail URL | Sume video frames |
|---|---|---|
| Pick the instant | time | at[], 1 to 24 values |
| Size | width, height | max_edge, 16 to 2160 |
| Format | File extension on the URL | format: jpeg or png |
| Many stills | One URL each | at[] or fps in one job |
| Rotate or flip | rotate, flip_v, flip_h | Not on this route |
Sources
Related posts
More in Comparisons
- Nano Banana 2: five characters, 14 objects vs Sume reference slots
Google says Nano Banana 2 keeps up to five characters and 14 objects consistent. Sume caps reference images per model; see what you can send and where it stops.
- Novita AI API alternative for video and image jobs: Sume
Novita offers model APIs, agent sandboxes and GPU deployment. Sume offers managed media jobs only. Where they overlap and where Novita does more.
- NVIDIA LipSync NIM: de/es/fr models vs Sume lip sync
NVIDIA's LipSync NIM re-times mouths in existing video to new audio. Sume lip sync starts from a still and an audio file, so existing footage is not re-synced.
- Open video model licenses: Wan 2.2, Mochi, Hunyuan and LTX-2.5
Apache 2.0 for Wan 2.2 and Mochi, a territory limit for HunyuanVideo-1.5, a revenue cap for LTX-2.5. A side-by-side read of each repository's own license.
Written by Sume