4:5 feed video on a 9:16 canvas: cover, contain or blur?
Put a 1080x1350 video on a 1080x1920 canvas for Reels. Cover keeps 70.3% of the width, contain leaves 285 px bars and blur fills them. Sume Timeline fit modes.

A 4:5 video, 1080x1350, sits inside Instagram's range for photos, 1.91:1 to 3:4, so it works as a feed post. Put it on a 9:16 Reel canvas of 1080x1920 and the shapes differ, so something has to give. Sume's Timeline has three ways to resolve that, and the numbers show what each costs you.
The ranges are from Instagram's photo resolution page and the Reel size page, both read 2026-10-03. The Reel page puts 9:16 at the tall end of its range, so a 1080x1920 canvas is the tallest shape a Reel can take.
The arithmetic
cover scales the clip to fill the canvas. 1920 / 1350 is 1.422, so the clip becomes 1536 wide and the crop keeps 1080 of 1536 columns, 70.3 percent of the width. contain scales the clip to the canvas width, 1080x1350, and pads the remaining 570 rows with black, 285 on top and 285 on the bottom. blur places the same 1080x1350 clip over a blurred copy that fills the canvas.
| fit | Picture kept | Empty space | Notes |
|---|---|---|---|
| cover | 70.3% of the width | None | Sides are cut off; faces near the edge are at risk |
| contain | 100% | 285 px black, top and bottom | Nothing cropped |
| blur | 100% | 285 px blurred fill, top and bottom | Nothing cropped, no black bars |
| stretch | 100% | None | Stretched about 42% taller; distorts |
Choose by what is at the edges
If the subject is centred and nothing is written near the left or right edges, cover gives the fullest frame. If there is text near the edges, or a person at the side, use contain or blur. Blur is the usual choice for a Reel, and the compiler draws the foreground fitted to the canvas width over the blurred copy.
Render with blur
Timeline's default output is 1080x1920, so no output object is needed. A 30-second clip costs $0.10 at the public rate of $0.10 per started output minute.
curl -X POST https://api.sume.com/v1/timeline-1.0/render \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: feed-to-reel-001" \
-d '{
"audio": { "mode": "silence", "duration_seconds": 30 },
"video": [{
"source_url": "https://media.sume.com/artifacts/artf_demo/feed-4x5.mp4",
"start": 0,
"duration": 30,
"fit": "blur"
}]
}'
Sources
Related posts
More in Media tools
- Add a spoken call-to-action outro to a finished video, with cost
Generate a 3 to 5 second CTA line with Sume TTS and append it to a finished video with Timeline, keeping the video's own sound. Steps, code, and cost.
- Add captions to a recorded AI avatar call: what Sume needs
Tavus can record a live avatar call to your bucket. Sume's video captions need a public HTTPS URL and priced for clips up to 60 seconds. Steps and limits.
- Add subtitles to a video in DaVinci Resolve, or with a caption API
Resolve 21 transcribes and translates speech to text in the app. Sume video-captions burns styled captions into a public MP4 URL for $0.20 up to 60 seconds.
- AI music from an image: Lyria 3.5 image_url mood still on Sume
Sume's Music Router takes an optional public HTTPS image_url as a mood still next to the prompt. How to send it, what it costs and what to expect back.
Written by Sume