Why a 2-minute YouTube upload is or is not a Short in 2026

YouTube treats square or vertical uploads up to three minutes as Shorts if posted on or after October 15, 2024. What to check, and how to render one in Sume.

5 min readSume
All posts

A YouTube upload is treated as a Short when it is square or vertical, runs up to three minutes, and was uploaded on or after October 15, 2024. A 16:9 video of any length is never a Short, and a vertical video over three minutes is a regular video. This is from YouTube's Shorts help page, read on 2026-10-06.

What decides whether an upload is a Short?

Two things you control at export, and one date you do not. The aspect ratio must be square or vertical, and the length must be three minutes or less. YouTube's page says standard channels' uploads on or after October 15, 2024 that meet those dimensions are classified as Shorts. For Official Artist Channels the page gives a later effective date, December 8, 2025.

Shorts classification inputs, from YouTube Help (read 2026-10-06)
InputRule on the pageWhat you set at export
Aspect ratioSquare or vertical1080x1920 or 1080x1080
LengthUp to three minutes180 seconds or less
Upload date, standard channelsOn or after October 15, 2024Not in your control
Upload date, Official Artist ChannelsOn or after December 8, 2025Not in your control

Why does my 2-minute vertical video not show as a Short?

Check the file before blaming the platform. A clip rendered at 1920x1080 and then pillarboxed inside a vertical frame still reads as landscape if the container is landscape. Probe the delivered MP4 and confirm that the height is greater than the width and that the duration is under 180 seconds. Sume's video inspect route returns a probe object for any imported clip, and frames: false skips the stills so the call stays cheap.

How do I render a Short that qualifies?

Sume Timeline 1.0 defaults to a 1080x1920 MP4 and accepts audio.duration_seconds from 1 to 1800, so you enforce the three-minute ceiling yourself by declaring 180 or less. The plan route is unbilled and returns the duration it compiled, which is a free check before you pay for the render.

import os, requests

body = {
    "audio": {"mode": "silence", "duration_seconds": 120},
    "video": [{"source_url": "https://media.sume.com/artifacts/artf_demo/clip.mp4",
               "start": 0, "duration": 120}],
}
r = requests.post(
    "https://api.sume.com/v1/timeline-1.0/plan",
    headers={"Authorization": "Bearer " + os.environ["SUME_API_KEY"]},
    json=body, timeout=30,
)
print(r.status_code, r.json().get("duration_seconds"))

What stays outside Sume's control?

The classification date and the in-app experience belong to YouTube. Sume ships the file; whether a given upload is surfaced as a Short is decided on YouTube's side, so check the Shorts tab after upload rather than assuming.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume