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.
If you read the 1% as a relative tolerance on the 9:16 ratio, a 1080-pixel-wide Instagram feed video can be roughly 1902 to 1938 pixels tall and still pass. That range is my arithmetic, not a number Meta prints: the Instagram feed video page lists a 9:16 ratio, 1080 x 1920 pixels, and an aspect ratio tolerance of 1%, and does not say how the tolerance is measured.
A Sume Timeline render at 1080x1920 is exactly 9:16, so it needs no tolerance at all. The tolerance matters when you crop or resize by hand and an odd pixel creeps in.
The arithmetic
9:16 is a width-to-height ratio of 0.5625. One percent of that is 0.0056, which gives a window from 0.5569 to 0.5681. Divide a 1080 width by each end and you get 1939.4 and 1901.1 pixels of height. Because Sume outputs must use even sizes, the usable even heights run from 1902 to 1938. This is an interpretation; if Meta measures the 1% some other way, treat the exact edge as unknown and stay at 1920.
| Height (px) | Width / height | Inside the 1% window |
|---|---|---|
| 1900 | 0.5684 | No |
| 1902 | 0.5678 | Yes |
| 1920 | 0.5625 | Yes, exact |
| 1938 | 0.5573 | Yes |
| 1940 | 0.5567 | No |
Where a crop can drift
The video filter docs say crop fractions are applied against the source frame and the compiler rounds to even values for yuv420p. If you crop a 16:9 source to 9:16 with a width fraction of 0.31640625 (607.5 of 1920 pixels) the result rounds to an even width, which shifts the ratio by a fraction of a pixel. A 1% window absorbs that. Timeline output sizes must be even, so an odd size such as 1079 is refused rather than rendered.
The cleaner route is to crop first, then let Timeline place the cropped clip on a 1080x1920 canvas with fit cover. The result is exactly 9:16 whatever the crop rounded to.
What else the page lists
The same page gives a minimum width of 250 pixels, 1 second to 60 minutes, MP4, MOV or GIF, and a 4GB cap. Timeline's smallest output edge is 256, which clears the 250 minimum. Sume does not state a file-size cap and does not validate against Meta, so check the downloaded file in Ads Manager.
Because the 1% reading is ours, the safe habit is to render at the listed 1080 x 1920 and let Timeline's fit mode absorb any off-ratio source. Cover fills the frame and trims the overflow, contain keeps all of it with bars, and blur fills the bars with a softened copy. Pick by whether you can afford to lose edge pixels. Before uploading, open the downloaded file's properties and confirm 1080 by 1920.
Sources
Related posts
More in Media tools
- Kling 3.0 Element Binding: a face close-up, and one still on Sume
Kling says 3.0 Motion Control wants a clear facial close-up for Element Binding. Sume's route takes one still or a ready avatar. What that means for faces.
- Kling motion control: 3 s minimum on Kling, 1 s field on Sume
Kling says action videos run 3 to 30 seconds. Sume's duration_seconds accepts 1 to 30. Why to keep the reference at 3 seconds or more, and what it costs.
- Kling motion control still: 340 to 3,850 px edges, checked first
Kling's motion control guide sets a 340 px short edge and a 3,850 px long edge for the still. Check both in Python before a Sume job reserves money.
- Meta wants a fixed frame rate: set Timeline output.fps when clips mix
Meta's Facebook feed page requires a fixed frame rate. Sume Timeline takes output.fps 24, 25, 30 or 60, and mixed-rate sources are resampled with judder.
Written by Sume