YouTube's Shorts help page says vertical, not 9:16: what to render
YouTube's Shorts help page states 3 minutes, vertical uploads and a 1080p maximum, but names no ratio. Render 1080x1920 with Sume Timeline 1.0 and probe it.

Render 1080 by 1920, which is vertical, 9:16 and within YouTube's 1080p maximum. YouTube's Shorts help page says the creation tools make short-form videos of up to 3 minutes, that you can upload vertical videos saved to your computer or phone as Shorts, and that the maximum resolution for a Short is 1080p. It does not state a numeric aspect ratio on that page, so a precise rule has to come from what it does say: vertical and 1080p.
That reading is conservative and matches what Sume renders by default. The rest of this post shows what is stated, what is open, and a check you can run on any file.
Stated and not stated
It helps to separate what the page states from what people assume. The table lists the stated items and what the page leaves open.
Because the page names no ratio, avoid quoting a number as if YouTube stated it. A line such as vertical, up to 1080p, up to 3 minutes is accurate to the page, and 9:16 at 1080 by 1920 is a safe example of that, not a quotation.
| Item | On the page |
|---|---|
| Length | Up to 3 minutes |
| Orientation | Vertical videos can be uploaded as Shorts |
| Resolution | Maximum 1080p |
| Numeric aspect ratio | Not stated |
| Bitrate and codec | Not stated |
What a Sume render gives you
Sume Timeline 1.0 renders a 1080 by 1920 MP4 by default, which matches the vertical, 1080p guidance. Its output length is 1 to 1800 seconds, so a 180-second Short is within range. The public rate is $0.10 per ceil of the output minute, so a 180-second Short bills as three minutes, which is $0.30. A 61-second clip bills as two minutes, and that rounding is the reason to plan lengths around whole minutes where a few seconds are flexible.
Frame rate follows the sources unless you set output.fps to 24, 25, 30 or 60. If you set a value that differs from the source, the job repeats or drops frames and reports output_fps_resamples_sources, which can show as judder on motion.
An example for a full 3-minute Short. At a frame rate of 30, 180 seconds is 5,400 frames. If your sources were rendered at 24 fps and you force 30, the job resamples and reports the rate the sources wanted. If you leave fps unset, the render follows the sources, which avoids the resampling and the judder.
Check a file against the page
If you already have a file, probe it with video inspect and frames set to false. The probe has width, height, rotation and duration_seconds. A phone clip can store a landscape frame with a rotation value, so the display shape is not always width compared with height. The helper below accounts for rotation and checks the three stated rules.
def shorts_problems(probe):
w, h = probe["width"], probe["height"]
if probe.get("rotation") in (90, 270, -90, -270):
w, h = h, w
problems = []
if h <= w:
problems.append("not vertical: %dx%d" % (w, h))
if min(w, h) > 1080:
problems.append("above 1080p")
if probe["duration_seconds"] > 180:
problems.append("longer than 3 minutes")
return problems
print(shorts_problems({"width": 1080, "height": 1920, "duration_seconds": 58}))
print(shorts_problems({"width": 1920, "height": 1080, "duration_seconds": 58}))A reading, not a quote
The check treats the short side as the 1080p measure, which is a reading and not a quote from the page, since the page says only that the maximum resolution is 1080p. If a vertical 2160 by 3840 file is rejected or downscaled, you will see it on upload. Sume video trim can conform an exact output to a width and height between 256 and 2160, which is the way to stay under the line when a source is larger.
If a clip is horizontal and you want it to be a Short, there are two routes. Crop it to vertical with video filter, as in the other posts, or ask a video model for a vertical generation in the first place. A crop discards the sides of the picture, so choose it only when the subject is centered.
Dates
Re-read the page before a release, since the page gives no date. This post cites it as read on 2026-10-05.
Sources
Related posts
More in Integrations
- Zapier MCP bills 2 tasks per success; retry Sume tools with one key
Zapier MCP charges 2 tasks per successful call and nothing for failures. A paid Sume tool needs an idempotency_key, and a repeat with the same key is safe.
- Zendesk vs Sume webhook signatures: base64 no dot vs hex with a dot
Zendesk signs base64(HMAC-SHA256(timestamp + body)) with no separator; Sume signs timestamp.body as sume-v1 hex. One verifier cannot check both.
- How to add an MCP server to ChatGPT with developer mode
Turn on ChatGPT developer mode, create an app for the server's URL, and sign in with OAuth. The steps, with Sume's hosted MCP server as the example.
- How to add subtitles to a video in Python
Add subtitles to a video in Python with Requests: POST the video URL to Sume's /v1/video-captions, poll the job, then read the captioned video_url.
Written by Sume