LinkedIn ratios 1:1, 4:5, 9:16: Sume video-filter crop fractions
LinkedIn lists 16:9, 1:1, 4:5 and 9:16 video. Centered crop fractions for a 16:9 or 9:16 source, plus a short Python function that prints the video-filter ops.

To cut a 16:9 LinkedIn master down to 1:1, send video-filter a crop with width: 0.5625 and x: 0.2188. To cut a 9:16 vertical down to 4:5, use height: 0.7031 and y: 0.1484. The Sume crop op takes fractions of the source frame, not pixels, so the numbers hold for any source size. LinkedIn's page lists four ratios for video ads: 16:9, 1:1, 4:5 and 9:16.
Fractions for a centered crop
Computed from the ratio, rounded to four decimals. The compiler rounds the final pixel box to even values for yuv420p.
| Source | Target | x | y | width | height |
|---|---|---|---|---|---|
| 16:9 | 1:1 | 0.2188 | 0 | 0.5625 | 1 |
| 16:9 | 4:5 | 0.275 | 0 | 0.45 | 1 |
| 16:9 | 9:16 | 0.3418 | 0 | 0.3164 | 1 |
| 9:16 | 1:1 | 0 | 0.2188 | 1 | 0.5625 |
| 9:16 | 4:5 | 0 | 0.1484 | 1 | 0.7031 |
LinkedIn sizes to expect
LinkedIn lists recommended and maximum sizes per ratio, which matter after the crop.
- 16:9: 1920x1080 recommended, max 1920x1080, min 640x360.
- 1:1: min 360x360, max 1920x1920.
- 4:5: 720x900 recommended, min 360x450, max 1080x1350.
- 9:16: 720x1280 recommended, min 360x640, max 1080x1920.
Steps
The check call is free, so run it before you pay the $0.02 encode. Import the clip first, since video_url must be a media.sume.com URL. This script prints two crop bodies.
import json
# Centered crop fractions for a source frame, aimed at a target ratio.
def crop(src_w, src_h, tw, th):
if src_w * th >= tw * src_h: # source is wider than target
w, h = tw * src_h / th / src_w, 1.0
else:
w, h = 1.0, th * src_w / tw / src_h
return {"op": "crop", "x": round((1 - w) / 2, 4),
"y": round((1 - h) / 2, 4),
"width": round(w, 4), "height": round(h, 4)}
print(json.dumps({"ops": [crop(1920, 1080, 1, 1)]}))
print(json.dumps({"ops": [crop(1080, 1920, 4, 5)]}))Paste each ops into a POST /v1/video-filter/check body with your video_url, then send the same body to POST /v1/video-filter with an Idempotency-Key. The filter output keeps the geometry of the source except what the crop changes, and the source clip must be 300 seconds or shorter. A 9:16 source at 1080x1920 cropped to 4:5 gives 1080x1350, which is LinkedIn's stated 4:5 maximum.
Checking a crop before you pay
The unbilled POST /v1/video-filter/check returns valid, any diagnostics, the compiled filter names and an estimate. Send your ops with the clip URL and read the diagnostics before you submit the $0.02 encode. A crop with x + width above 1 returns video_filter_crop_out_of_bounds, and a side smaller than 0.05 does too.
For a subject that is not centered, change x or y. If the product sits in the left third of a 16:9 frame and you want a 1:1 crop, x of 0.05 with width 0.5625 keeps it in view. Look at a still from video_inspect to find the subject and read its position as a fraction of the frame width.
You can chain up to eight ops in one program, so a dim plus a crop is one job. That keeps the cost at $0.02 for the encode.
Budget and detail
Remember that the table assumes a source that really is 16:9 or 9:16. If your clip is 1920x1088 or has black bars baked in, the fractions will be off by a few pixels, and the bars may land inside the crop. Inspect a still first, and trim the bars with a crop op that starts inside the picture, then chain the ratio crop in the same program if you want one job.
What Sume does not do
Crop is centered here only because I computed it that way. Sume does not find the subject for you, so choose x and y by looking at a still. Crop also does not scale. There is no dedicated resize tool, so use the Timeline output size or trim output if you need exact pixels.
Sources
Related posts
More in Media tools
- Lyria prompt section markers: [0:00-0:30] Intro on Sume Music
Sume Music has no duration field. You shape a track with section markers like [0:00-0:30] Intro and a stated length in the prompt itself.
- Meta feed sound is optional but recommended: add a ducked music bed
Meta says captions and sound are optional but recommended on Facebook Feed video. Add a music bed under a voice with Sume Timeline soundtrack and duck_db.
- Move burned captions: design.placement.anchor_ratio on Sume
Sume caption styles have default heights. Send design.placement.anchor_ratio to move the line, as a fraction of frame height. Which styles accept it.
- Music bed shorter than the voiceover: loop, fade and duck in Timeline
If a Music 1.0 bed ends before your narration, Sume's Timeline soundtrack can loop it, fade out up to 10 seconds and duck 0 to 20 dB under speech. The settings.
Written by Sume