9:16 Short to a 1:1 feed clip: crop height 0.5625 with a y offset
Cut a square 1080x1080 clip out of a 1080x1920 vertical video with video-filter: full width, height 0.5625, y 0.1 for headroom. Numbers and request.

To get a 1:1 square out of a 1080x1920 vertical video, keep the full width and crop the height to 0.5625 of the frame (1080 / 1920). Set y to 0.1 instead of the centered 0.2188 if there is a face in the upper half; the strip is then 1080x1080, taken from row 192 to row 1272. A square needs no scale step.
The numbers
Both sides are fractions of the source frame: width 1, height 0.5625, x 0. Only y is a choice, anywhere from 0 to 1 - 0.5625 = 0.4375. A vertical video usually has the subject's face in the upper 40% of the frame, and the lower part is often captions or hands, so y between 0.05 and 0.15 is a good first try.
| y | Rows kept | What stays |
|---|---|---|
| 0 | 0 to 1080 | Top of frame, caption zone lost |
| 0.1 | 192 to 1272 | Upper-middle, usual face headroom |
| 0.2188 | 420 to 1500 | Exact center |
| 0.4375 | 840 to 1920 | Bottom, lower third and captions |
The request
No scale is needed, so the program is a single op. Run it through the free check first.
At the documented public rate the encode is $0.02 per job and the check is free; confirm the live rate in GET /v1/catalog. The clip must already be a media.sume.com file of your workspace, so import it first with POST /v1/media-imports, and send an Idempotency-Key on the encode.
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/short.mp4",
"ops": [{"op":"crop","x":0,"y":0.1,"width":1,"height":0.5625}]
}'
# valid: true, encode: "not_run" -> send the same body to /v1/video-filterCaveats
- Burned-in captions on the vertical original may fall outside the square. Crop first, then caption the square.
- If the source already has captions you cannot lose, pick
yto include them or re-render without them. - The rounding rule floors to even pixels, so 0.5625 x 1920 = 1080 and 0.1 x 1920 = 192 land on exact values here.
Other targets from a vertical source
The same full-width idea gives other shapes. Keep width: 1, set the height fraction to the target's rows divided by 1920, and choose y. Rows are rounded down to an even value, so a 16:9 window comes out at 606 rows, not 607.5. Going wide from a vertical source discards most of the picture, so it only suits a clip with a tight subject in the middle.
| Target | Height fraction | Rows kept | Max y |
|---|---|---|---|
| 1:1 (1080x1080) | 0.5625 | 1080 | 0.4375 |
| 4:5 (1080x1350) | 0.7031 | 1350 | 0.2969 |
| 3:4 (1080x1440) | 0.75 | 1440 | 0.25 |
| 16:9 (1080x606) | 0.3156 | 606 | 0.6844 |
Choosing y from a still
Do not guess y. Pull a still at a moment when the subject is in its usual place, using video frames at the source size, and measure where the face sits as a fraction of the 1920 rows. A face centered at row 600 is at 0.31 of the height. A square window that must contain it with room above has to start no lower than row 600 minus 540, which is row 60, so y = 0.03 centers the face exactly, and any value from 0 to about 0.03 keeps it in the middle.
If the subject moves during the clip, one fixed crop may cut it off at some point. Cut the clip into shots with video trim, crop each shot with its own y, and join the results in Timeline 1.0. That costs one trim and one filter job per shot, plus one render, at the documented rates of $0.02, $0.02 and $0.10 per started minute.
Sources
Related posts
More in Media tools
- A 25-minute episode into eight teaser clips: four cents of audio
Detach a 25-minute video in two ranges under the 900-second cap, then split each into four teaser ranges: four Sume jobs, 4 cents, eight audio files.
- A 90-second music bed under a voiceover: one prompt, 12.5 cents
Sume's Music Router has no duration field, so you ask for 90 seconds in the prompt, with timed sections and a no-spoken-word clause. One bed costs $0.125.
- A different music bed for every Short: $0.125 a track
Reusing one song under every Short makes a feed sound templated. Sume Music 1.0 costs $0.125 per generation, and Timeline can duck it under your voice.
- AI jingle from a prompt: a Lyria 3.5 use case on Sume with a trim
Google lists jingles and ringtones as Lyria 3.5 uses. On Sume, prompt a 10-second jingle for $0.125, then trim it with Timeline audio split for $0.01.
Written by Sume