Instagram 3-second minimum for Reels: check clips before publishing

Meta lists Reels at 3 seconds minimum, but Sume video-trim accepts down to 0.2 s. Read duration_seconds from the trim result before you publish.

4 min readSume
All posts

Sume will write a clip shorter than Instagram accepts, so check duration_seconds on the trim result before publishing: Meta lists Reels as "15 mins maximum, 3 seconds minimum", while video-trim takes a duration from 0.2 to 900 seconds.

Where do the minimums differ?

Instagram's minimum is 3 seconds for both Reels and Stories in Meta's reference.

Minimum lengths (read 2026-09-30). Sume rows: https://docs.sume.com/models/video-trim
WhereMinimum
Instagram Reels3 seconds
Instagram Stories3 seconds
Sume video-trim duration0.2 seconds
Sume timeline video slot0.2 seconds

How do I keep a cut above 3 seconds?

Set duration yourself, and prefer end only when you know the source is long enough: an end past the source clamps and the result warns trim_clamped_to_source, which can leave you with a shorter clip than planned.

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-min-001" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/source.mp4",
    "start": 10,
    "duration": 5
  }'

What about a short slot in a timeline?

A Timeline 1.0 video[] slot must be at least 0.2 seconds, and the render's length is the audio spine's duration_seconds (1 to 1800). If you build a Reel from slots, set the spine to at least 3 seconds.

What should the check look like?

After the job, read duration_seconds from GET /v1/jobs/:id/result, and refuse to publish anything under 3 seconds. Sume does not enforce Instagram's rule, and Meta's page is the place to confirm the number before you ship.

Why does the trim result matter more than the request?

The request says what you asked for; the result says what you got. Trim can clamp an end that runs past the source, and a keyframe cut may start a GOP early, so the real length and start can differ from the numbers you sent. The result's duration_seconds and actual_start_seconds are the numbers to trust before you hand the file to Meta's container call.

  • Use exact precision when you need the length to be predictable.
  • Read warnings[] on every result.
  • Drop the file and re-cut if duration_seconds is under 3.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume