4:5 still to video: no Sume video model lists 4:5, so pick another
No video model in Sume's catalog lists 4:5. Make the still 3:4 or 1:1, animate it, then crop to 4:5 with a $0.02 video-filter pass.

If you have a 4:5 image and want a clip, none of the video models in Sume's catalog accepts 4:5, so the request would be rejected. Generate or crop the still at 3:4 or 1:1 instead, animate that, and crop the finished clip to 4:5 with the video-filter endpoint for $0.02.
Sume's gpt-image-2 image route accepts 4:5, 5:4 and 9:8 for stills, which is exactly why this surprises people: the image side has the ratio and the video side does not.
Which ratios the video models take
The ratios below come from the video catalog in the repository, the same data GET /v1/videos/models returns.
| Model | Ratios listed |
|---|---|
| Seedance 2.5, 2, 2 Fast, 2 Mini | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 |
| MiniMax H3 and H3 Max | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 |
| Wan 3.0 | 16:9, 4:3, 1:1, 3:4, 9:16 |
| Kling 3 | 16:9, 9:16, 1:1 |
| Gemini Omni Flash 1.1 | 16:9, 9:16 |
Crop 3:4 to 4:5
A 3:4 frame is 0.75 wide per unit of height and 4:5 is 0.8, so 4:5 is slightly shorter. Keep the full width and take 93.75 percent of the height, centered: y of 0.03125 and height of 0.9375. Crop values are fractions of the source frame, per the video-filter docs.
From a 1:1 clip, keep the full height and take 80 percent of the width instead: x 0.1 and width 0.8.
{
"video_url": "https://media.sume.com/artifacts/artf_demo/clip.mp4",
"ops": [
{"op": "crop", "x": 0, "y": 0.03125, "width": 1, "height": 0.9375}
]
}What the crop costs in framing
Cropping 3:4 to 4:5 removes 6.25 percent of the height, which is 3.125 percent at the top and the same at the bottom. For a product centered in frame this is invisible. For a face close to the top edge, check the first and last frames of the clip before you publish.
The crop also adds a second job to the pipeline: one for the clip, one for the filter at $0.02. For ten clips that is $0.20, which is small compared with the clip cost but not zero. Run POST /v1/video-filter/check first to catch a bad crop for free.
- Check frames at 0 and at the end for edge contact.
- Keep the original clip, since the filter makes a new file.
- Run the free check before the paid encode.
Rules for the crop job
The source must already be a media.sume.com artifact, the request needs an Idempotency-Key, and the compiler rounds to even values. The job costs $0.02 and the /check call is free.
Compose the framing in the still so nothing important sits in the top or bottom 3 percent. The Video API docs and Image API docs list the ratios per model.
If you can choose the original still freely, the cleanest path is to avoid the crop and publish at a ratio the model lists. 9:16 works for Reels, Stories and Shorts, and 1:1 works for feeds that accept squares. Use the crop route only when a 4:5 deliverable is specified, such as a feed placement that rewards the taller frame. Either way, note the exact ratio in the job record, so a later reader knows whether a clip was generated at that shape or derived from another.
- Prefer 3:4 for portrait feeds; it loses the least when cropped to 4:5.
- Use 1:1 if the subject is centered and the sides are empty.
- Avoid 9:16 as the source, since the 4:5 crop would discard about 30 percent of the height.
Sources
Related posts
More in Developers
- 402 on a 30-second 1080p Wan 3.0 job: your balance must cover $7.50
A 30-second Wan 3.0 job at 1080p reserves $7.50 on Sume. If the balance is lower you get 402 insufficient_credits. Reserve table and handler.
- A 429 from the Sume API: read budget, write budget or queue_full?
Three different 429s share a status. Read error.code and error.details.scope to tell read, write and queue_full apart, then retry each the right way.
- A lost response on a 30 s Kling motion control submit: reuse the key
If a network timeout hides the reply to a 30-second Kling motion control submit, a new Idempotency-Key reserves $4.725 again. Reuse the key. Python retry loop.
- Use your ad variant id as the Idempotency-Key on Sume
Name each ad variant once and send that name as the Idempotency-Key. Retries do not double-bill, and the receipt echoes it back so results map to your ad names.
Written by Sume