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
- 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.
- LinkedIn Videos API: 500MB or 5GB? Plan for the lower number
LinkedIn's Videos API page lists a 75kb to 500MB file size and a 5GB maximum. Sume states no output file size, so measure the MP4 first.
- LinkedIn video captions: English SRT only vs burned-in text
LinkedIn's Videos API takes one English caption file, shown with SRT. Sume video-captions burns your cues text into the video and does not accept SRT uploads.
- LinkedIn Videos API thumbnail: pick a still from the clip first
LinkedIn's Videos API page says a system thumbnail may be added if you upload none. Sume video-frames returns jpeg stills at times you choose.
Written by Sume