Will my upload become a YouTube Short? Check the probe first
YouTube classes square or vertical video up to 3 minutes as a Short; 16:9 stays long-form. Check width, height, rotation, and duration from the probe.

Your file is a Short if it is square or vertical and no longer than three minutes. YouTube's three-minute Shorts page says videos with a square or vertical aspect ratio up to three minutes are categorized as Shorts for uploads after October 15, 2024, and that a wider ratio such as 16:9 keeps a video out of the Shorts feed (read 2026-10-07). Sume's video-inspect probe gives you width, height, rotation, and duration_seconds to test that.
Rotation matters: a phone clip stored sideways with a rotation flag reports its stored size, so the displayed shape is the swapped one.
The rule, as the page states it
From YouTube's three-minute Shorts page and Shorts help.
| Aspect ratio | Length | Result |
|---|---|---|
| Square or vertical | up to 3 minutes | categorized as a Short |
| Wider, such as 16:9 | any | stays out of the Shorts feed (long-form) |
| Square or vertical | over 3 minutes | page does not say it is a Short |
A classifier for the probe
The function swaps width and height when the probe's rotation is 90 or 270 (or -90), then tests the two conditions. The cases below are made up. One caution: the page says up to three minutes, but a margin is wise, so the second case at 180.4 seconds is flagged.
def is_short(probe):
w, h = probe["width"], probe["height"]
if probe.get("rotation") in (90, 270, -90):
w, h = h, w
return w <= h and probe["duration_seconds"] <= 180
cases = [
{"width": 1080, "height": 1920, "rotation": 0, "duration_seconds": 58.0},
{"width": 1080, "height": 1920, "rotation": 0, "duration_seconds": 180.4},
{"width": 1920, "height": 1080, "rotation": 0, "duration_seconds": 45.0},
{"width": 1920, "height": 1080, "rotation": 90, "duration_seconds": 45.0},
]
for c in cases:
print(c["width"], c["height"], c["rotation"], c["duration_seconds"], "->", is_short(c))Probe, then decide
Run video inspect with frames: false and feed probe to the function. If you want a long-form 16:9 video that stays out of the Shorts feed, render it wide: Timeline 1.0 accepts output.width and output.height as even integers from 256 to 2160, so 1920x1080 is available. Its default is 1080x1920, which is vertical.
The checker mirrors the page; it cannot see YouTube's side, so treat a pass as expected, not guaranteed.
Edge cases
A perfectly square 1080x1080 file passes the width-not-above-height test, matching the page's "square or vertical". A 1081x1080 file would fail, which is why exports should come from a template with exact even sizes rather than a manual crop.
The page also names dates: uploads after October 15, 2024 for standard channels. Anything older keeps its older classification, so this check is for new uploads. A probe cannot tell you the upload date, so keep that in your head, not in the script.
Sources
Related posts
More in Media tools
- YouTube lists 1440p at 16 Mbps; Sume Timeline cannot output 2560x1440
YouTube recommends 16 Mbps for 1440p SDR. Sume Timeline caps each edge at 2160, so 2560x1440 is not possible; the closest 16:9 render is 2160x1214.
- YouTube 480p at 2.5 Mbps and 360p at 1 Mbps: size of a 60-second draft
YouTube lists 2.5 Mbps for 480p and 1 Mbps for 360p SDR uploads. A 60-second clip at those rates is about 18.75 MB and 7.5 MB; Sume sets no bitrate itself.
- YouTube in-feed ads have no max length, but video-trim caps at 1,800 s
Google lists no max length for in-feed video ads, but Sume's video-trim takes a source of 1,800 seconds at most and outputs 900. Plan long cuts around that.
- How to assemble a long-form video with the Timeline 1.0 API
Timeline 1.0 renders one audio spine plus 1 to 200 ordered video slots into one MP4. Every URL must be Sume-hosted; the plan preflight is unbilled.
Written by Sume