4:3 tablet video to 9:16: the 0.4219-width crop in video filter

Crop a 4:3 clip to 9:16 with video-filter: width 0.4219, x 0.2891, full height, then scale to 1080x1920. Numbers, rounding, and the free check.

5 min readSume
All posts

A 4:3 clip (1440x1080 is a common size) becomes 9:16 with a crop of width 0.4219 and height 1, starting at x = 0.2891, then scale=1080:1920. Both go in one video-filter request. The crop compiles to a 606x1080 strip at x = 416, and the scale brings it to 1080x1920.

4:3 is closer to 9:16 than 16:9 is, so the crop throws away less: you keep 42.19% of the width, against 31.64% for a 16:9 source. That difference is why old tablet or classroom footage often reframes better than modern widescreen footage.

The numbers

Keeping the full height, the strip must be 9/16 of the height wide: 607.5 px for a 1080 px tall frame. Divide by the 1440 px width and you get 0.421875, written as 0.4219 in the request. Centered, x is (1 - 0.4219) / 2 = 0.2891.

Crop program for a 1440x1080 source (arithmetic from the video-filter docs, read 2026-10-05)
ItemValue
Source frame1440x1080 (4:3)
crop x / y0.2891 / 0.0
crop width / height0.4219 / 1.0
Compiled crop (rounded down to even pixels)606x1080 at x=416, y=0
Scale to 1080x19201.782x wide, 1.778x tall
Share of the source pixels keptabout 42%

Rounding is downward

The compiler floors width, height, x and y to even pixel counts. 0.4219 x 1440 = 607.54 becomes 606, and 0.2891 x 1440 = 416.3 becomes 416. Because it always rounds down, a crop never reaches past the source edge, and the check accepts any x + width up to 1.

If you need the crop to follow something that is not in the middle, such as a whiteboard at the left, change x only. Keep width at 0.4219 so the aspect stays 9:16.

# 1) free contract check, no job, no charge
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/lesson.mp4",
    "ops": [{"op":"crop","x":0.2891,"y":0.0,"width":0.4219,"height":1.0}],
    "filtergraph": "scale=1080:1920,setsar=1"
  }'

# 2) same body to /v1/video-filter, with an Idempotency-Key header, to encode

Before you send it

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.

  • Every crop side must be at least 0.05 of the frame, and x + width and y + height must each be 1 or less; otherwise the check returns video_filter_crop_out_of_bounds.
  • The source can be up to 300 seconds. Trim longer clips first.
  • Burn captions after the crop, not before, so the caption line is placed against the final 1080x1920 frame.

Compared with other source shapes

The width fraction depends only on the source aspect ratio, so you can reuse these numbers for any resolution of the same shape. Each row is (9/16 x height) / width for a full-height strip, with the centered x beside it. The wider the source, the more picture you discard.

Full-height 9:16 crop fractions by source ratio (arithmetic from the video-filter docs, read 2026-10-05)
Source ratioCrop widthCentered xShare of width kept
16:90.31640.341831.64%
3:20.3750.312537.5%
4:30.42190.289142.19%
1:10.56250.218856.25%
3:40.750.12575%

After the crop

The result is a new MP4 on media.sume.com, so the next steps can reuse it directly: a caption job on that URL, a trim to the length you plan to post, or a place in a Timeline video[] slot. Keep the original; every Sume media job writes a new artifact and leaves the source alone, so you can try a second crop with a different x and compare the two results side by side.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume