Trim a 4-minute video to a 180 s YouTube Short: start 30, duration 180

YouTube's Shorts page allows up to 3 minutes. Sume video trim cuts 180 seconds from a 240 second source for $0.02. The request, the limits and the refusals.

5 min readSume
All posts

To turn a 4 minute video into a Short that fits YouTube's 3 minute ceiling, send Sume video trim a start and a duration of 180 seconds. A request with start 30 and duration 180 on a 240 second source returns a new MP4 that runs from 0:30 to 3:30, billed at $0.02. YouTube's Shorts help page (read 2026-10-08) says Shorts can be up to 3 minutes long, so 180 seconds is the longest cut that stays inside it.

The request

Video trim reads one media.sume.com clip of your workspace. Import the file first with POST /v1/media-imports, then send video_url, start, and exactly one of end or duration. An Idempotency-Key header is required.

curl -X POST https://api.sume.com/v1/video-trim \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: trim-short-001" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/talk.mp4",
    "start": 30,
    "duration": 180
  }'

Limits that apply

The docs set the bounds in the table. A 240 second source is far below the 1800 second source cap, and 180 seconds is below the 900 second output cap.

Sume video trim limits and price, from the docs as of 2026-10-08
ItemValue
Source length1800 s or less
Output length0.2 s to 900 s
duration field0.2 to 900
Precisionexact (default, frame-accurate re-encode) or keyframe (stream copy)
Price$0.02 per job
Default modeasync; mode: sync waits up to 30 s

Choosing end or duration

Send end if you know the out-point and duration if you know the length. Sending both returns video_trim_range_conflict, and sending neither returns video_trim_range_required. If end is past the source, the value clamps and the result carries the warning trim_clamped_to_source. That matters here: asking for start 30, duration 180 on a source shorter than 3:30 would give a shorter file, not an error.

Use precision exact for a Short. Keyframe mode copies the stream and the cut can start a GOP early, so the real start is reported in actual_start_seconds and your 180 seconds may not be exact. Exact mode re-encodes and keeps the length you asked for.

The result at GET /v1/jobs/:id/result has kind video_trim, a new video_url, and duration_seconds. Check duration_seconds is 180 or less before you upload. The trim keeps the geometry of the source, so a landscape source stays landscape. If you need a vertical Short from a landscape file, see the crop post. A longer source case is in the webinar post.

Two mistakes to avoid

The first mistake is sending end and duration together. The API returns video_trim_range_conflict, and no job is created. Pick one. The second is trusting the requested length when the source is shorter than start plus duration: the range clamps and you get a shorter file with the trim_clamped_to_source warning, so a 3:20 source with start 30 and duration 180 gives a 170 second file, not an error.

Also remember that a trim is not a crop. The output keeps the geometry of the source. If the 4 minute file is landscape, the Short will be landscape, and YouTube's page says Shorts are vertical videos. Fix the frame with a Timeline slot (fit cover) or a video filter crop before or after the trim.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume