Instagram Reels length: 3 minutes, 15 or 20? Which limit applies

Instagram pages and the API list three different Reels maximums: 3 minutes, 15 minutes and 20 minutes. Which one binds for the app, for a guide and for the API.

5 min readSume
All posts

All three numbers are real, they just answer different questions. The Instagram app lets you make a Reel up to 20 minutes long, the Reels API accepts files up to 15 minutes, and Instagram's how-to guide describes Reels as 3 seconds to 3 minutes, which is the range it recommends and the length past which Instagram says a Reel will not be recommended to new audiences. Plan by the surface you publish from and the audience you want.

The figures are from Instagram's Reels page, its Reels guide and Meta's IG User Media reference, all read on 2026-10-02.

What does each source say?

The pages do not contradict each other once you read the wording. The table quotes each in its own terms.

Reels length statements by source (read 2026-10-02)
SourceWhat it saysWhat it means
Reels pageUp to 20 minutes; over 3 minutes is not recommended to new audiencesApp ceiling, and a reach caveat
Reels guide3 seconds to 3 minutesThe range it teaches and recommends
IG User Media reference15 mins maximum, 3 seconds minimumHard limit for API uploads

Which length should I aim for?

The guide gives bands: 3 to 15 seconds for quick transitions, trends and one-liners; 15 to 60 seconds, which it calls the sweet spot for tutorials and day-in-my-life clips; and 60 seconds to 3 minutes for storytelling, walkthroughs and detailed how-tos. Nothing on those pages ties a length to more views, so treat the bands as format advice and test your own.

Past 3 minutes you are making a Reel for people who already follow you. That can be right for a long interview or a lesson, but do not expect it to be recommended to strangers.

What does this mean for a pipeline?

A pipeline that publishes through the API needs a hard check at 15 minutes and 3 seconds, and a soft warning at 3 minutes. Sume's video trim fits both ends: its output goes up to 900 seconds, which is exactly 15 minutes, and down to 0.2 seconds, which is below the 3-second API minimum, so the minimum is yours to enforce.

The function below returns a verdict for a duration in seconds. Run it on the probe's duration_seconds from a free video inspect call.

def reel_length_verdict(seconds):
    if seconds < 3:
        return "reject: under the 3 s API minimum"
    if seconds > 15 * 60:
        return "reject for API: over 15 min (app allows up to 20)"
    if seconds > 3 * 60:
        return "ok, but not recommended to new audiences"
    return "ok"

for s in (2.5, 45, 200, 960, 1300):
    print(s, reel_length_verdict(s))

What about the other short formats?

Stories and Reels have different caps, and the Stories API video limit is shorter. The side-by-side comparison is in Stories vs Reels API limits. For the 3-second minimum and how a trim can accidentally go under it, see the 3-second post.

Sume checks and cuts files. It does not know which Instagram surface you will publish from, so the verdict above is a rule you apply, not a field the API returns.

Does a shorter Reel get more reach?

The sources do not say so. The Reels page ties length to exactly one recommendation rule: reels over 3 minutes will not be recommended to new audiences. The guide's three bands are described by what each length suits, not by what each earns. For evidence about your own account, compare Reels of different lengths in Instagram's own insights, or test hooks as in the trial reels post.

A last practical point is the 3-second floor. Both the API reference and the guide put the minimum at 3 seconds, so a clip that comes out of an editor at 2.8 seconds is a failure on every surface, not only the API. Sume's trim happily returns anything from 0.2 seconds, which is useful for material preparation and the reason the check above exists. Run it after every cut, not once at the end, because a Timeline of many short slots can add up to a length you did not intend.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume