One MP4 for Instagram Reels, Facebook Reels, Stories and Threads
One 9:16 export can pass Instagram Reels and Stories, Facebook Reels and Page stories, and Threads: 60 s, 100 MB, 24-60 fps. The shared spec and Sume settings.

A single MP4 can go to Instagram Reels, Instagram Stories, Facebook Reels, a Facebook Page story and Threads if it is 9:16, 1080x1920, 24 to 60 fps, H.264 or HEVC with 4:2:0 chroma, AAC stereo at 48 kHz, between 3 and 60 seconds, and under 100 MB. Those limits come from Meta's four developer pages, read 2026-10-03; the tightest value on each row decides.
Duration and file size are the only rows where the surfaces disagree enough to matter: a Story caps at 60 seconds and 100 MB, while a Reel or Threads video can run far longer. Build for the Story, and the rest accept the file.
What are the limits side by side?
Facebook's pages list some values only for Reels, so "not listed" means the page I read did not state it.
| Spec | Instagram Reels | Instagram Stories | Facebook Reels | Facebook Page story | Threads |
|---|---|---|---|---|---|
| Duration | 3 s to 15 min | 3 to 60 s | 3 to 90 s | Up to 60 s | Up to 300 s |
| Frame rate | 23-60 fps | 23-60 fps | 24-60 fps | 24-60 fps | 23-60 fps |
| File size | 300 MB | 100 MB | Not listed | Not listed | 1 GB |
| Video bitrate | VBR, 25 Mbps max | VBR, 25 Mbps max | Not listed | Not listed | VBR, 100 Mbps max |
| Codec | HEVC or H264 | HEVC or H264 | H.264 or H.265 | H.264 or H.265 | HEVC or H264 |
| Audio | AAC, 48 kHz max, mono or stereo | AAC, 48 kHz max, mono or stereo | AAC-LC, stereo, 48 kHz | AAC-LC, stereo, 48 kHz | AAC, 48 kHz max, mono or stereo |
| Aspect ratio | 0.01:1 to 10:1, 9:16 advised | 0.1:1 to 10:1, 9:16 advised | 9:16 | 9:16 | 0.01:1 to 10:1, 9:16 advised |
Which constraint binds first?
For a 60-second Story, 100 MB works out to about 13 Mbit/s on average (100 MB x 8 / 60 s), under the 25 Mbps VBR ceiling, so file size binds before bitrate. For Facebook, the resolution is 1080x1920 recommended with a 540x960 minimum, and the Page stories page adds that a story's photo or video cannot have been used in an earlier published post, which is why a new export per Story beats reusing a feed file; see Facebook Page story media reuse.
Instagram Reels and Threads also ask for a closed GOP and no edit lists with the moov atom at the front. Facebook Reels asks for a closed GOP of 2 to 5 seconds.
How do I set this in Sume?
Sume's video trim cuts a range to a new MP4 and, with the default exact precision, re-encodes with libx264 at yuv420p and keeps audio as AAC. Its output object conforms width and height (256 to 2160) and fps to 24, 25, 30 or 60, so { "width": 1080, "height": 1920, "fps": 30 } meets the shared frame rate and size. The Timeline renders 1080x1920 MP4 by default and takes the same fps values.
What Sume does not expose is codec, bitrate or GOP: the trim API refuses codec and crf fields. Treat closed GOP and file size as things to confirm on the downloaded file and on a test publish. The Reels and Threads detail pages are in Instagram Reels API video requirements and Threads API video requirements.
Sources
Related posts
More in Use cases
- Open house promo reel: date, time and address over listing photos
Make a vertical open house reel from listing photos: a silent Timeline 1.0 render, then burn date, time and address as caption cues. Rates and limits included.
- Partnership ad code or account-level permission: which to ask for
Meta partnership ads come in two permission types. How content-level codes and account-level access differ, and what to log when the clips are AI-made.
- Pick the hook frame of an ad with video inspect stills
Sume video inspect returns 8 mid-bin stills by default, or 1-24 at timestamps you choose, plus optional transcription. Find the best opening frame fast.
- Pinterest Q5, the week after Christmas: plan creative in October
Pinterest calls the week between Christmas and New Year's Q5 and advises testing creative at Halloween. A Sume bulk-run plan, with Pinterest's figures dated.
Written by Sume