Story over 60 seconds on Instagram: it splits, so pick the cuts
Instagram breaks a Story video longer than 60 seconds into several clips. How to choose the break points yourself and cut each part with Sume video trim.

If you share a video longer than 60 seconds to an Instagram Story, Instagram does not reject it: it splits it into several back-to-back clips. Meta's Stories page says a video up to 60 seconds "will appear as one clip" and that "longer videos will be broken up into multiple clips". The pages I read do not say where each break falls. If you care that a sentence is not cut in half, cut the clips yourself first, then share each one. Sume's video trim does that: one source in, one new MP4 per range out.
What does Meta say about Story length?
Two Meta pages cover it, and they agree. The table lists only what those pages state, next to the Sume trim limits from the docs.
| Item | Value | Where it comes from |
|---|---|---|
| One Story clip | Up to 60 seconds | Meta Stories guide |
| Longer video | Split into multiple back-to-back clips | Meta Stories guide |
| Story lifetime | 24 hours | Meta Stories guide |
| Stories per day | No daily limit | Meta Stories guide |
| Sume trim output length | 0.2 to 900 seconds per cut | Sume video trim |
| Sume trim price | $0.02 per job | Sume video trim |
Why cut the breaks yourself?
An automatic split is fine for a casual phone clip. It is a poor fit when the video is a talk, a product walkthrough or anything with sentences, because you do not control the boundary. Choosing the breaks also lets you keep every clip a little under the limit, so a Story does not end on a stray half second.
- Cut at the end of a sentence, not at a fixed second count.
- Keep each part at or under 60 seconds.
- Keep the order in the file names so you share them in sequence.
How do I find the sentence ends?
Run video inspect with transcribe: true and segmentation.mode: "sentence". It returns gapless sentence segments[], and transcription is billed at $0.01 per audio minute. Take each segment's end time, then group them greedily so no group runs past 60 seconds. This function does the grouping:
def story_windows(sentence_ends, limit=60.0):
windows, start, last = [], 0.0, 0.0
for end in sentence_ends:
if end - start > limit:
windows.append((start, last))
start = last
last = end
windows.append((start, last))
return windows
ends = [14.2, 31.8, 47.5, 63.0, 88.4, 112.9, 131.0]
print(story_windows(ends))
# [(0.0, 47.5), (47.5, 88.4), (88.4, 131.0)]How do I cut each window?
Send one trim job per window. start is the in-point and you give exactly one of end or duration. Precision defaults to exact, a frame-accurate re-encode. The source must already be a Sume-hosted file, so import it first, and every request needs its own Idempotency-Key. The first window above looks like this, and the later windows use start 47.5 and 88.4. Each result is a new file; the source is never changed.
After the submit, poll GET /v1/jobs/:id/result for the new video_url (see jobs and results).
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-part-1" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/talk.mp4",
"start": 0,
"end": 47.5
}'What should I check before posting?
Check that every part is 60 seconds or less, that audio is kept (audio defaults to keep), and that the first frame of each part makes sense on its own, since viewers tap through clips quickly. If a part is too long, move the break to the previous sentence end and re-run only that window.
Sources
Related posts
More in Media tools
- Put music under Gemini Omni's native audio: detach, spine, duck
Omni clips always carry native audio on Sume. Detach it to a wav, use it as the Timeline spine, add a music soundtrack with duck_db. Calls and limits.
- Luma Ray3.2 length by frame rate (24/30/60 fps) and Sume's fps
Luma lists Modify Video at 20 s for 24 fps, 15 s for 30 fps and 7 s for 60 fps. Sume's video-trim and timeline tools output 24, 25, 30 or 60 fps.
- Microsoft Premium Streaming video ads: specs, $25 budget, CPCV
Microsoft Premium Streaming (CTV) video: three-star lengths 10 to 90 s, 10,000+ kbps, a budget above 25 USD and CPCV bidding. Build and check a clip with Sume.
- Mux animated GIF: 10 s and 640 px caps vs a Sume trimmed clip
Mux animated.gif and animated.webp stop at 10 seconds, 640 px and 30 fps. Sume trim can return a clip up to 900 seconds as MP4, with no GIF or WebP.
Written by Sume