Instagram Stories vs Reels API limits, side by side with Sume caps
Meta lists Reels at 3 s to 15 min and 300MB, Stories at 3 to 60 s and 100MB. Sume video-trim can cut either from a longer clip, up to 900 s of output.

Reels allow 3 seconds to 15 minutes and 300MB; Stories allow 3 to 60 seconds and 100MB, per Meta's IG User media reference. Both list 23-60 FPS and recommend 9:16, so the same Sume trim settings work for both and only duration and the file check change.
What are the numbers?
Everything in the first two columns is quoted from Meta's reference page; the third column is from Sume's trim docs.
| Item | Reels | Stories | Sume trim |
|---|---|---|---|
| Duration | 3 s to 15 min | 3 to 60 s | Output 0.2 to 900 s |
| File size | 300MB maximum | 100MB maximum | Not stated |
| Frame rate | 23-60 FPS | 23-60 FPS | 24, 25, 30 or 60 |
| Aspect ratio | 0.01:1 to 10:1 | 0.1:1 to 10:1 | Width and height 256 to 2160 |
Where do the two meet Sume's caps?
A 15 minute Reel is exactly 900 seconds, the largest output a single trim can write, and a source can be up to 1800 seconds. So a trim can produce the longest Reel Meta lists, and a Story cut is a much shorter duration.
How do I make one of each from the same clip?
Submit two trims from one source with different Idempotency-Key values. The source is untouched, and each job returns its own video_url.
# Reel: up to 900 s
curl -X POST https://api.sume.com/v1/video-trim \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: reel-cut-001" \
-d '{"video_url": "https://media.sume.com/artifacts/artf_demo/long.mp4", "start": 0, "duration": 90}'
# Story: up to 60 s
curl -X POST https://api.sume.com/v1/video-trim \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: story-cut-001" \
-d '{"video_url": "https://media.sume.com/artifacts/artf_demo/long.mp4", "start": 0, "duration": 45}'What stays with you at upload?
Sume does not publish to Instagram, so container creation and publishing stay in your Graph API calls. Re-read Meta's page before shipping.
How do I choose between them?
Choose by intent and by the numbers, not by the file. A clip of 60 seconds or less can go to either surface, so the decision is a product one. A clip between 60 seconds and 15 minutes is a Reel only, and a clip under 3 seconds is neither, so both formats need at least 3 seconds.
Because trim's minimum is 0.2 seconds, Sume will not stop you writing a clip too short for Instagram. Check duration_seconds on the result against Meta's minimum before you publish.
- Under 3 seconds: too short for both surfaces.
- 3 to 60 seconds: either surface.
- 60 seconds to 15 minutes: Reels only.
- Over 15 minutes: cut it further; Sume's trim tops out at 900 seconds anyway.
Sources
Related posts
More in Use cases
- App Store preview video length: 15-30 s, 30 fps max
Apple's app preview specs list 15-30 seconds and a 30 fps maximum. Sume's Timeline keeps source fps when omitted, so set output fps to 30 for a preview.
- Kevin MacLeod attribution: credit text and Sume's BGM field
Kevin MacLeod tracks need a CC BY 4.0 credit that is easy to find. Sume's BGM featured beds are his tracks; keep track.attribution with any public use.
- Korea AI Basic Act Article 31: labeling an exported AI video
MSIT's guidelines ask for a human-recognizable label when AI video leaves the service. Here is how to burn a visible Korean label onto a clip with cues.
- LinkedIn 30-minute video: build 1800 s with Timeline
LinkedIn's Videos API lists three seconds to 30 minutes. Sume Timeline 1.0 renders up to 1800 s in one MP4 at $0.10 per output minute: 30 minutes is the cap.
Written by Sume