Split a 181-second Reel into valid AI video jobs (even split)

Greedy 30-second jobs leave a 1-second tail no model accepts. An even split gives 7 Seedance 2.5 jobs or 19 Omni jobs. Python planner and prices at 720p.

5 min readSume
All posts

A Reel can now run to 3 minutes, as NapoleonCat reports, and a 181-second cut is one second too long. The trap when you plan the jobs is the tail: six jobs of 30 seconds leave 1 second, and no video model on Sume takes 1 second (Wan 3.0 starts at 2). The fix is to pick the job count first and divide evenly.

The planner

Count jobs as ceil(total / max_seconds), then spread the seconds so each job is as close to equal as possible. Run it for your model's min and max.

def split(total, lo, hi):
    n = -(-total // hi)
    base, extra = divmod(total, n)
    lens = [base + 1] * extra + [base] * (n - extra)
    assert all(lo <= x <= hi for x in lens), lens
    return lens

for name, lo, hi in [("seedance-2.5", 4, 30), ("wan-3.0", 2, 30),
                     ("sume/auto", 3, 10), ("kling-3", 4, 15)]:
    lens = split(181, lo, hi)
    print(name, len(lens), lens)

Jobs and cost for 181 seconds at 720p

The limits come from the video catalog: Seedance 2.5 and Wan 3.0 reach 30 seconds, sume/auto (Gemini Omni Flash) takes 3 to 10, Kling 3 takes 4 to 15. Prices are the 720p per-second rates times the job lengths.

181 s Reel split into jobs, 720p (read 2026-10-07)
ModelJobsLengthsTotal
seedance-2.57six x 26 s, one x 25 s$104.58
wan-3.07six x 26 s, one x 25 s$22.63
sume/auto (Omni)19ten x 10 s, nine x 9 s$22.63
kling-3 (audio on)13twelve x 14 s, one x 13 s$38.01

Then join them

Past 12 clips the final Timeline join auto-chunks, and a forced single render is refused above 12, which matters for the 19-job Omni plan. See the render_strategy post for the details. Totals exclude the Timeline render (3 minutes of output is $0.30, 181 seconds is $0.40).

Sources

Related posts

More in Developers

All Developers posts

Written by Sume