Shorts series episodes number by publish date: a Python order check

YouTube numbers Shorts series episodes by publish date, so upload order is episode order. Check durations and publish times in Python before you schedule.

5 min readSume
All posts

Short answer

Yes: in a YouTube Shorts series, episodes are numbered by publish date, so the order you publish is the order viewers see as episodes. Each episode must also be portrait or square and at most 180 seconds, and the playlist may contain only Shorts. A small Python check on your list of durations and scheduled times catches both mistakes before upload.

What YouTube documents

The Shorts series help page says the playlist must contain only Shorts, that videos must be portrait or square and up to 180 seconds, that a season number is required, and that episodes are numbered by publish date (read 2026-10-05). It also describes serial series, which play oldest first, and non-serial series, which show newest first, and a watch series button that leads into a series feed.

YouTube's Sept 23, 2026 announcement describes Shorts series with custom thumbnails and sequential playback across web, mobile and TV (read 2026-10-05). It does not say how to reorder a season after publishing, so the safe habit is to get the publish order right the first time.

The rules as a checklist

Each row is a rule from the help page, with the Sume step that helps you meet it.

Shorts series upload rules and the prep step, read 2026-10-05
RuleLimitSume step
Episode length180 seconds or lessVideo trim with duration up to 180, or a timeline spine of 180
OrientationPortrait or squareDefault output is 1080x1920
Episode numberBy publish dateSchedule in order, check with a script
Season numberRequiredKeep it in your own episode list
Playlist contentShorts onlyKeep long videos out of the playlist

The check

Keep a list of episodes in intended order with each duration in seconds and the planned publish time. Get the duration from the probe in video inspect rather than from memory. The function below flags any episode over 180 seconds and any publish time that is not later than the previous one, since a later number must publish later.

from datetime import datetime

def check(eps, limit=180):
    problems, prev = [], None
    for name, when, secs in eps:
        t = datetime.fromisoformat(when)
        if secs > limit:
            problems.append(f"{name}: {secs}s is over {limit}s")
        if prev and t <= prev:
            problems.append(f"{name}: not after the previous episode")
        prev = t
    return problems

eps = [("S1E1", "2026-10-06T09:00", 150),
       ("S1E2", "2026-10-07T09:00", 172),
       ("S1E3", "2026-10-07T08:00", 181)]
print(check(eps) or "ok")

Fixing an over-length episode

An episode over 180 seconds is cut with video trim. Send start and either end or duration, with precision exact for a frame-accurate cut, and the new file is a separate artifact, so the source is untouched. The public rate is $0.02 per job. Output may be 0.2 to 900 seconds, so the 180-second cap is a YouTube rule, not a Sume one, and you have to enforce it.

If the story needs 181 seconds, cut the opening. A 1-second trim is a better trade than splitting a scene across two episodes.

Before you schedule

Run the check on the final durations after the cuts, not the planned ones, because a timeline render can differ slightly from your plan. Then schedule uploads one at a time in episode order. I did not find a way to renumber an episode after publishing in the pages I read, so treat the publish order as final.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume