Crop 9:16 to 4:5 for Facebook feed: height 0.703125, y 0.148
A 1080x1920 clip becomes 1080x1350 (4:5) with a crop of width 1 and height 0.703125. Meta's Facebook feed page lists 4:5 at 1440x1800; here is the request.

To turn a 1080x1920 (9:16) clip into 4:5, keep the full width and crop the height to 0.703125, which is 1350 of 1920 pixels. Centered, that means y of 0.1484375. Meta's Facebook feed video page lists 4:5 at 1440 x 1800, so the cropped 1080x1350 clip then goes through a Timeline render at 1440x1800.
The numbers
A 4:5 frame at 1080 wide is 1350 tall. 1350 divided by 1920 is 0.703125. The most you can shift the window is 1 minus 0.703125, or 0.296875. Faces in phone video sit above center, so a y of 0.08 to 0.12 usually keeps more headroom than the centered 0.1484.
| Window | y | Pixels kept (top to bottom) | height |
|---|---|---|---|
| Top-aligned | 0 | 0 to 1350 | 0.703125 |
| Face-high | 0.1 | 192 to 1542 | 0.703125 |
| Centered | 0.1484375 | 285 to 1635 | 0.703125 |
| Bottom-aligned | 0.296875 | 570 to 1920 | 0.703125 |
The request
Crop fractions are applied to the source frame, so the pixel result depends on the source size. The video filter docs require x and y in [0, 1], width and height in [0.05, 1], x + width at most 1 and y + height at most 1, and the compiler rounds to even values. One crop is one $0.02 encode job, the check is free, the source must be 300 seconds or shorter, and the request needs an Idempotency-Key. Sume does not auto-detect faces or subjects, so you choose the offset.
curl -X POST https://api.sume.com/v1/video-filter \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: crop-4x5-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/talk.mp4",
"ops": [{ "op": "crop", "x": 0, "y": 0.1, "width": 1, "height": 0.7031 }]
}'Then size it for Meta
The cropped clip is about 1080x1350. The Facebook page lists 1440 x 1800, which Timeline allows because both edges are even and within 256 to 2160. Under the default cover fit, the clip scales up to fill the canvas, which adds pixels but no detail. A Timeline 1.0 render costs $0.10 per output minute, rounded up.
What you give up
Cropping to 4:5 removes 30 percent of the height. Burned captions or product text near the top or bottom of the vertical master will be cut, so run captions after the crop, not before.
A habit that saves money: run the free check on the crop request first. It validates the fractions without creating a job, so a typo like a height of 0.75 with a y of 0.3 (which exceeds 1 in total) is caught before the $0.02 encode. After the crop, put the returned MP4 into a Timeline video slot, as the video filter docs describe.
Sources
Related posts
More in Media tools
- Facebook feed video ad minimum is 120 px; Sume's smallest is 256
Meta's Facebook feed video spec lists 120 px minimum sides. Sume Timeline renders even sizes from 256 to 2160, so the floor never blocks an upload.
- Two photos in, one 10-second Omni transition out: $1.875 at 1080p
Gemini Omni first and last frame turns two stills into a transition. On Sume, image_url plus end_image_url for 10 seconds at 1080p costs $1.875.
- How many 6-second clips fill a 3-minute Short, Reel or TikTok ad?
A 3-minute Short needs 30 six-second clips, a 20-minute Reel 200, a 10-minute TikTok ad 100. Slot limits, chunked renders and Timeline cost for each.
- Instagram feed video ad 1% ratio tolerance in pixels at 1080 wide
Meta lists a 1% aspect ratio tolerance for Instagram feed video ads. Read as relative, at 1080 wide that is about 1902-1938 px tall; Sume's 1080x1920 is exact.
Written by Sume