How many 6-second clips fill a 3-minute Short, Reel or TikTok ad?

A 3-minute Short needs 30 six-second clips, a 20-minute Reel 200, a 10-minute TikTok ad 100. Slot limits, chunked renders and Timeline cost for each.

5 min readSume
All posts

A 3-minute Short takes 30 clips of 6 seconds, a 20-minute Reel takes 200, and a 10-minute TikTok in-feed ad takes 100. Those are the arithmetic answers (length divided by clip length), and they matter because Sume Timeline accepts 1 to 200 video[] slots per render and refuses the single-pass strategy above 12 of them.

The three ceilings come from the platforms' own pages: YouTube says Shorts are up to 3 minutes, Instagram says you can record clips that add up to 20 minutes, and TikTok's in-feed page gives up to 10 minutes for non-Spark ads. This post turns each into a slot count, a cost and a render strategy.

The three ceilings

YouTube's Shorts page says Shorts are "up to 3 minutes long", and its three-minute Shorts page requires a square or vertical aspect ratio. Instagram's Reels page says "You can record one or multiple clips that add up to 20 minutes", and adds that Reels over 3 minutes won't be recommended to new audiences. TikTok's auction in-feed page lists duration "up to 10 minutes" for non-Spark ads, while Spark Ads have no duration restriction.

Timeline's own ceilings sit above all three: audio.duration_seconds up to 1800 (30 minutes) and up to 200 video slots.

Clip counts and cost to fill each ceiling (read 2026-10-07)
TargetLengthClips of 6 sClips of 10 sTimeline minutesCost at $0.10/min
YouTube Short180 s30183$0.30
Instagram Reel (in-app max)1,200 s20012020$2.00
TikTok in-feed ad (non-Spark)600 s1006010$1.00

Slots and the 12-segment line

A render with render.strategy set to auto (the default) chunks past 12 segments. If you ask for single above 12 slots, Sume refuses with render_strategy_unsafe. So for 30 clips leave the strategy alone, and expect the render to take longer than a 10-second ad.

There are other limits to respect. At most 8 adjacent fades may be chained (too_many_chained_transitions), each transition is at most 1 second and at most 50% of the shorter neighbour, and coverage may stop at most 0.5 seconds before the end of the spine. With 6-second clips, a 1-second fade is fine; a 3-second fade is refused.

Costs of the clips themselves

The Timeline numbers above cover assembly only. The clips come from video models, billed separately and per model, and the Timeline job uses no provider inference, only worker ffmpeg. Check the catalog price of your model before you multiply by 200.

A cheaper structure exists for the long targets: reuse a few clips with different source_in points, or lay a voiceover over fewer, longer slots. A 20-minute Reel does not need 200 unique clips; it needs 1,200 seconds of picture.

Plan first

Before you submit, run the free plan call with your real slot list. It returns segment_count, duration_seconds and billable_minutes, and a filtergraph_summary, and it creates no job. A 10-minute ad that comes back with billable_minutes 11 tells you the slots overshoot the spine by a few seconds.

The sketch below builds a body with 30 six-second slots for a 180-second Short and posts it to the plan route. Note start values must increase, with the first at 0.

import json, os, urllib.request

def main():
    slots = [
        {"source_url": "https://media.sume.com/artifacts/artf_demo/clip.mp4",
         "start": i * 6, "duration": 6}
        for i in range(30)
    ]
    body = {"audio": {"mode": "silence", "duration_seconds": 180}, "video": slots}
    req = urllib.request.Request(
        "https://api.sume.com/v1/timeline-1.0/plan",
        data=json.dumps(body).encode(),
        headers={
            "Authorization": "Bearer " + os.environ["SUME_API_KEY"],
            "Content-Type": "application/json",
        },
    )
    with urllib.request.urlopen(req) as res:
        print(json.load(res))

main()

What the limits do not tell you

Fitting inside a ceiling is not the same as being worth watching at that length. Instagram's page says Reels over 3 minutes won't be recommended to new audiences, so a 20-minute Reel is permitted but is aimed at people who already follow you. YouTube's three-minute Shorts page applies only to a square or vertical video up to three minutes; a wider video stays long-form.

TikTok's in-feed page splits the rule by ad type: non-Spark ads allow up to 10 minutes, and Spark Ads state no duration restriction. The ten-minute figure is therefore a statement about uploaded creative, not about organic posts.

Using the count in a plan

Use the clip count as a budget check before you generate anything. Divide the target length by the clip length, round up, and compare the answer with the 200-slot limit on video[]. Then run the plan call: its segment_count should equal your slot count, and billable_minutes should match the ceil of the output length in minutes.

If you plan more than 12 segments, leave render.strategy on auto; the render is chunked and then joined, while single above 12 is refused with render_strategy_unsafe.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume