Mux animated GIF: 10 s and 640 px caps vs a Sume trimmed clip

Mux animated.gif and animated.webp stop at 10 seconds, 640 px and 30 fps. Sume trim can return a clip up to 900 seconds as MP4, with no GIF or WebP.

5 min readSume
All posts

Mux's animated images top out at 10 seconds, 640 pixels and 30 frames per second, and its throttle is one GIF per 10 seconds of asset duration. Sume has no animated-image output at all, but its video trim cuts a range of up to 900 seconds into a new MP4, so the real question is whether you need an image file or a clip.

Mux's figures are from Get images from a video and Sume's from the video trim doc, both read on 2026-10-03.

What are the Mux animated image limits?

Mux serves https://image.mux.com/{PLAYBACK_ID}/animated.gif or animated.webp, with start and end in seconds. Its page states that the maximum total duration of a GIF is 10 seconds and the minimum is 250 ms. Signed playback IDs require signed image requests.

Mux animated image limits (read 2026-10-03)
ParameterLimit or default
widthMax 640 px, default 320 px
heightMax 640 px
fpsMax 30, default 15
Total duration250 ms minimum, 10 s maximum
Throttle1 thumbnail and 1 GIF per 10 s of asset duration; 10 each under 100 s

What does Sume do instead?

Sume trim returns a new MP4 and leaves the source untouched. You pass start and exactly one of end or duration. A cut can be 0.2 to 900 seconds, the source can be up to 1800 seconds, and the public rate is $0.02 per job (confirm in GET /v1/catalog).

An end past the source clamps and the result carries the warning trim_clamped_to_source, which is a warning and not a failure. Keyframe precision starts the cut up to one GOP early, so read actual_start_seconds from the result. If you want a cut on the exact frame, keep the default precision: exact.

Which Mux limit has no Sume counterpart?

Three Mux limits have no equivalent. Sume has no 640 px width cap on a trim, because output accepts widths and heights from 256 to 2160. Sume has no per-asset throttle in the trim doc, though normal job concurrency and credits apply. And Sume has no webp or gif option, which means a pipeline that embeds animated.webp in an email or a README needs a conversion step outside Sume.

In the other direction, Mux has no trim to a new file in this guide: the image routes only render previews, and the video stays as the original asset.

curl -X POST https://api.sume.com/v1/video-trim \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: preview-cut-001" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/talk.mp4",
    "start": 12,
    "end": 22,
    "audio": "drop",
    "precision": "exact"
  }'

How do you check the cut before you publish it?

Once the trim job is complete, the result gives duration_seconds, actual_start_seconds, precision, audio and output. Compare duration_seconds with what you asked for, and if you used precision: keyframe, re-base against actual_start_seconds rather than your requested start.

To eyeball the framing, send the result video_url to video frames with a few at values. That gives you stills at source size, so you can spot a bad first frame or a cut that lands mid-word before the clip reaches a page or an ad upload.

Which should you choose for a hover preview?

For a hover preview on a page that streams from Mux, use Mux's animated image. It is a URL, it has a 10 second ceiling that suits a hover, and a 640 px cap that suits a card. For a preview that has to be a video file, such as an ad creative, a chat attachment or a shot in an edit, cut it with Sume trim and then read the artifact URL from the job result.

The job flow is the standard one: submit, then poll GET /v1/jobs/:id/status until result_ready, then fetch the result. The jobs and results doc covers mode, webhooks and polling.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume