YouTube Shorts up to 3 minutes: trim a long video to fit
YouTube's help page says Shorts can run up to three minutes and must be square or vertical. Sume video-trim cuts a range from a longer clip into a new MP4.

To fit a Short, cut the clip to 180 seconds or less with POST /v1/video-trim (start plus duration: 180) and keep the frame square or vertical. YouTube's help page says Shorts can be up to three minutes and need "a square or vertical aspect ratio".
What does YouTube's page require?
Two things are quoted: the three-minute ceiling and the shape. For long-form videos, the page says to use a wider aspect ratio such as 16:9.
| Rule | Value | Sume control |
|---|---|---|
| Length | Up to three minutes | video-trim duration 0.2 to 900 s |
| Shape | Square or vertical | video-filter crop, or timeline output |
| Long-form | Wider such as 16:9 | Not cropped |
How do I cut a long video to 180 seconds?
Video trim takes start and exactly one of end or duration, and returns a new MP4 with only that range; the source is untouched. The source can be up to 1800 seconds. The default precision is exact, a frame-accurate re-encode; keyframe copies the stream and can start a GOP early, so read actual_start_seconds.
curl -X POST https://api.sume.com/v1/video-trim \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: short-cut-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/long.mp4",
"start": 30,
"duration": 180
}'What if the source is horizontal?
Then the cut alone will not make a Short. Crop it with https://docs.sume.com/models/video-filter or render a vertical frame with Timeline 1.0, whose default output is 1080x1920 and whose fit can be cover, contain, stretch or blur. See convert horizontal video to vertical.
How do I check the result?
Poll GET /v1/jobs/:id/status, then GET /v1/jobs/:id/result; the result carries video_url and duration_seconds. Compare that number with 180 before you upload. Sume does not upload to YouTube for you.
What are the common mistakes?
Most failed cuts come from a small set of range errors, and each has a stable code in the trim docs. Learning them saves a debugging round.
- Sending both
endanddurationreturnsvideo_trim_range_conflict; send exactly one. - Sending neither returns
video_trim_range_required. - An
endthat is not afterstart, or a range over 900 seconds, returnsvideo_trim_range_empty. - An
endpast the source clamps and the result warnstrim_clamped_to_source. - A source over 1800 seconds fails as
source_duration_exceeded.
Does audio survive the cut?
By default yes: audio is keep, and an exact cut remuxes the kept audio as AAC. Pass audio: "drop" if the Short will get its own sound. The output is an MP4 encoded with libx264 and yuv420p on the exact path, priced at $0.02 per job.
Sources
Related posts
More in Use cases
- YouTube Shorts series: queue episodes as one Format bulk run
Queue 1 to 100 episodes of a Shorts series in one Sume Format bulk run, set a concurrency of 1 to 16, and branch on counts.failed, not on completed.
- YouTube A/B testing video cuts: build hook variants by API
Build three hook variants of one video as separate files: trim for the hook, Timeline to join hook and body, and a fresh Idempotency-Key per request.
- YouTube thumbnail sizes fhd, qhd and uhd: frames from a clip
YouTube's Data API added fhd (1080p), qhd (1440p) and uhd (4K) thumbnail sizes on 2026-09-11. Here is how Sume's video-frames max_edge lines up.
- YouTube thumbnails.set now allows 50MB: what to upload from Sume
YouTube's API history says thumbnails.set went from 2MB to 50MB on 2026-09-14. A video-frames still at source size (jpeg or png) fits the listed types.
Written by Sume