Video trim caps: 1800 s in, 900 s out, and the 901 s refusal

Sume video-trim accepts a source up to 1800 seconds and an output up to 900 seconds. The refusal codes you get past either cap and how to split a long cut.

3 min readSume
All posts

A single Sume video-trim job reads a source of up to 1800 seconds (30 minutes) and writes an output of up to 900 seconds (15 minutes), at least 0.2 s. Ask for a 901-second range and you get video_trim_range_empty; point it at a 31-minute file and the worker returns source_duration_exceeded (Video trim).

Which cap produces which error

Sume docs, read 2026-10-08
RequestResult
start: 0, duration: 900, 1800 s sourceAccepted
start: 0, duration: 901video_trim_range_empty
end less than or equal to startvideo_trim_range_empty
end and duration both sentvideo_trim_range_conflict
Neither end nor durationvideo_trim_range_required
Source longer than 1800 ssource_duration_exceeded
end after the end of the sourceClamped, warning trim_clamped_to_source

Covering a full 30-minute source

Two 900-second jobs cover a file at the source cap. Each is a flat per-job fee, so the whole split costs $0.04.

# first half
curl -X POST https://api.sume.com/v1/video-trim \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: half-1" \
  -d '{"video_url": "https://media.sume.com/artifacts/artf_demo/long.mp4", "start": 0, "end": 900}'

# second half
curl -X POST https://api.sume.com/v1/video-trim \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: half-2" \
  -d '{"video_url": "https://media.sume.com/artifacts/artf_demo/long.mp4", "start": 900, "end": 1800}'

Notes

  • A source over 30 minutes has to be cut elsewhere first; the worker checks the 1800 s cap and returns source_duration_exceeded.
  • Use a distinct Idempotency-Key per range, or the second call is treated as a retry of the first.
  • Check the clamp: a trim_clamped_to_source warning means your end was past the file.

Precision, audio and source rules

precision defaults to exact, a frame-accurate re-encode. keyframe is a stream copy whose cut can start up to one GOP early; read actual_start_seconds in the result to re-base your times. audio is keep by default or drop.

video_url must be a media.sume.com artifact or asset of your workspace. An off-host URL such as https://example.com/clip.mp4 is rejected at admit with unsupported_media_source, so import the clip first. The 900-second ceiling applies to duration and to the span from start to end.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume