4:5 clip in Snapchat's 720x1280 frame: crop or pad 29.7%

A 1080x1350 clip in a 720x1280 Snap frame: cover loses 304 px of width, contain leaves 380 px of bars. Fit modes cover, contain, blur; $0.10 a minute.

5 min readSume
All posts

Put a 4:5 clip (1080x1350) in Snapchat's 9:16 frame at 720x1280 and you choose between losing 29.7% of the width or leaving 29.7% of the height empty. Timeline 1.0's video[].fit field has both: cover (the default) crops, contain pads, and blur fills the pad with a blurred copy. A render costs $0.10 per output minute, rounded up.

Snapchat's ad-formats page (read 2026-10-09) lists the 9:16 aspect ratio and 720x1280 resolution for its video ad formats, with lengths of 3 to 180 seconds for single image or video, story and collection ads.

The arithmetic

Scale a 1080x1350 clip so it fits a 720x1280 frame. Contain scales by width: 720 / 1080 = 0.6667, so the picture is 720 x 900. That leaves 1280 - 900 = 380 px of height unused, which is 380 / 1280 = 29.7%. Cover scales by height: 1280 / 1350 = 0.9481, so the picture is 1024 x 1280 and 1024 - 720 = 304 px of width is cropped, which is 304 / 1024 = 29.7% of the scaled width. The two losses match because 4:5 is 0.8 and 9:16 is 0.5625, and 1 - 0.5625 / 0.8 = 0.297.

1080x1350 into 720x1280, fit modes from the Timeline 1.0 doc
fitPicture sizeWhat changesShare
cover1024 x 1280, 304 px croppedEdges of the picture are lost29.7% of width
contain720 x 900380 px of empty frame29.7% of height
blur720 x 900 sharpThe empty 380 px holds a blurred copy29.7% of height
stretch720 x 1280Picture distortsnone lost, aspect wrong

Which to pick

If the subject is centered and the edges are background, cover keeps the screen full and nothing looks like a mistake. If there is text near the sides of the 4:5 frame, cover can cut it, so check with a still. Contain with no fill shows a flat bar, which looks like an error on a phone; blur is the usual safer choice for product shots with captions in the middle.

Set output.width to 720 and output.height to 1280 in the render; both are even, in the 256 to 2160 range. Omit output.fps to match the source rate, or set it to 24, 25, 30 or 60.

Check before you pay

Plan first. POST /v1/timeline-1.0/plan runs the schema, URL checks and the compiler without creating a job or reserving credits, and returns duration_seconds, segment_count, billable_minutes and estimated_cost_usd_micros. It cannot predict warnings about short sources being padded or looped, so still pull a still from the finished render with video frames at a second you care about, such as the first frame, to see how the 4:5 picture sits.

One more rule affects 4:5 sources. Stills in video[] are static holds, and a motion value on a still is accepted but ignored with the warning motion_ignored. If your 4:5 asset is an image rather than a clip, the fit modes work the same way; only the movement is absent.

Cost

A 15-second ad is one output minute, so $0.10 for any of the first three modes. Because the plan call is free (POST /v1/timeline-1.0/plan), you can compare a cover and a blur plan before paying for either; the price is the same, only the picture differs.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume