Punch-in zoom on video by API: crop or zoompan, no keyframes

Sume has no auto zoom switch. Use a crop op for a fixed punch-in or the allowlisted zoompan filter in a video-filter graph; there are no keyframes.

4 min readSume
All posts

Sume does not detect moments and zoom on them. What POST /v1/video-filter offers is a fixed punch-in through a crop op, or a zoompan filter you write yourself in a filtergraph. There is no keyframed zoom parameter.

Submagic's create-project docs list a magicZooms boolean that is set per project. Sume's side, from Video filter and the compiler's filter allowlist, read 2026-10-01, is lower level.

How do I get a static punch-in?

Use a crop op. It takes fractions of the source frame: x, y in 0 to 1, width, height from 0.05 to 1, and each edge must stay inside the frame. Cropping to 0.8 by 0.8 centered is a 1.25x punch-in. The output is the smaller cropped frame, so add a scale step in the graph if you need the original size. Cut the range first with video trim if only seconds 4 to 6 should zoom.

curl -X POST https://api.sume.com/v1/video-filter/check \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/talk.mp4",
    "ops": [{ "op": "crop", "x": 0.1, "y": 0.1, "width": 0.8, "height": 0.8 }]
  }'

Can I animate the zoom?

zoompan is in VIDEO_FILTER_GRAPH_ALLOWED_FILTERS, so a graph may name it, and it is ffmpeg's own zoom-and-pan filter. The program contract has no keyframe list, though: any motion has to be an ffmpeg expression inside the string. The docs say a program that passes /check can still fail on the worker for a bad expression, memory or time, so test on a short trimmed clip.

What are the limits?

Video filter limits from the Sume docs, read 2026-10-01.
ItemLimit
ops[]Max 8, applied before the filtergraph
Filtergraph2048 chars, 32 named filters, filters only
Source length300 seconds
Price$0.02 per encode job; /check is free
Not allowedtrim, setpts, drawtext, lut3d, anything reading a file

Where do the zoom moments come from?

You choose them. Find timestamps with video_inspect stills or a transcript, then split the clip around them with trim and apply the crop to those pieces. The filter allowlist post lists what else a graph can do.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume