Square YouTube Short (1:1) from a vertical master with Timeline
YouTube accepts square or vertical Shorts. Render a 1080x1080 version of a vertical clip with Sume Timeline, using fit blur or contain instead of a hard crop.

YouTube accepts a Short that is square or vertical, so a 1:1 file is valid. To turn a 9:16 master into 1080 by 1080 with Sume, call Timeline 1.0 with output.width and output.height both 1080, and choose fit: blur or contain so the whole vertical frame stays visible instead of being cropped.
The YouTube rule is from Upload YouTube Shorts and Understand three-minute YouTube Shorts, read 2026-10-02. Timeline behavior is from the Timeline 1.0 docs.
Is a square video a valid Short?
Yes by YouTube's wording: both pages say square or vertical aspect ratio, up to three minutes. The three-minute page adds that a wider ratio such as 16:9 keeps a video from being a Short. Neither page says one shape performs better, so this post makes no claim about reach.
Why not just crop the vertical master?
A 9:16 frame cropped to 1:1 loses more than 40 percent of its height. Faces and burned-in captions near the top or bottom can be cut. Timeline's fit field gives four choices: cover (the default, which fills and crops), contain (whole frame, with bars), stretch (distorts), and blur (whole frame over a blurred fill).
If your master has captions already burned in, cover will likely cut them. Use contain or blur, or re-burn captions after the recompose by running video captions on the square file.
| fit | Result | Risk |
|---|---|---|
| cover | Fills the square, crops top and bottom | Cuts captions and faces |
| contain | Whole frame, side bars | Looks small |
| blur | Whole frame over a blurred fill | Extra visual noise |
| stretch | Fills by distortion | Distorted people |
How do I render it?
Timeline needs a spine: audio.duration_seconds is required (1 to 1800 seconds) plus either an audio file or audio.mode: silence. For a clip you want to keep with its own voice, pass that voice file as audio.url. Each video[] slot has a Sume-hosted source_url, a start that must be 0 for the first slot, and a duration. Output size must be even integers from 256 to 2160, so 1080 by 1080 is valid.
The public rate is $0.10 per ceil(output minute), which makes a 58-second Short one billed minute at the documented rate; confirm in GET /v1/catalog.
curl -X POST https://api.sume.com/v1/timeline-1.0/render \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: square-short-001" \
-d '{"audio":{"url":"https://media.sume.com/artifacts/artf_demo/voice.wav","duration_seconds":58},
"video":[{"source_url":"https://media.sume.com/artifacts/artf_demo/master.mp4",
"start":0,"duration":58,"fit":"blur"}],
"output":{"width":1080,"height":1080}}'What should I verify afterwards?
Run video inspect with frames: false on the result and confirm width equals height and duration_seconds is under 180. Read warnings[] on the Timeline result: padded or looped sources and an output frame-rate mismatch are reported there rather than failing the job.
Sume does not publish to YouTube and cannot tell you how the square file will look in the Shorts feed. Check it in YouTube's own editor before publishing.
Sources
Related posts
More in Media tools
- Subtitle cues from STT sentence segments and the 70 ms lead
Ask Sume STT for sentence segments and tune boundary_lead_ms (default 70) so each cue holds a little past its last word. Settings and limits.
- Threads API video requirements: codecs, 5 minutes, 1 GB, 23-60 fps
Threads API video limits as of October 2026: MP4 or MOV, H264 or HEVC, 23-60 fps, 5 minutes, 1 GB. A preflight that checks each one against a Sume probe.
- TikTok trending video transcripts via API: what summary_mode returns
Can you get a transcript with Sume's trending video search? summary_mode transcript returns metadata plus an unsupported warning. What to do for the words.
- Trim an AI clip first, or use source_in on the timeline?
For a shot that is too long, set source_in and duration on the Timeline 1.0 slot. Use video_trim ($0.02 per job) only when another step needs a new MP4 file.
Written by Sume