Trim and conform a clip to 1080x1920 at 30 fps in one call
video-trim takes an optional output {width, height, fps} that conforms on the way out, exact precision only. Width and height 256-2160, fps 24, 25, 30 or 60.

Add output: { width, height, fps } to POST /v1/video-trim and the cut is conformed on the way out in the same job. It only works with precision: "exact"; with keyframe the request fails video_trim_output_requires_exact.
This is from the Video trim docs, read 2026-09-30.
What values are allowed?
width and height are 256 to 2160; fps is 24, 25, 30 or 60. Omit output to inherit the source. The cut itself takes start and exactly one of end or duration (0.2 to 900 s). The job costs $0.02.
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-conform-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/source.mp4",
"start": 5,
"duration": 10,
"precision": "exact",
"output": { "width": 1080, "height": 1920, "fps": 30 }
}'Why conform before a Timeline?
Timeline 1.0 renders 1080x1920 by default and, without output.fps, follows the source frame rate. A rate that differs from a source's is met by repeating or dropping frames, reported as output_fps_resamples_sources. Conforming clips first to the rate you will render at avoids that resample.
What does the result confirm?
GET /v1/jobs/:id/result is kind: video_trim with video_url (a new artf_, never the source), duration_seconds, actual_start_seconds, precision, audio, output and optional warnings[]. A range past the source clamps and warns trim_clamped_to_source.
| Field | Values | Needs exact |
|---|---|---|
| output.width / height | 256 to 2160 | Yes |
| output.fps | 24, 25, 30, 60 | Yes |
| audio | keep, drop | No |
| precision | exact, keyframe | - |
Sources
Related posts
More in Developers
- TTS invalid_voice_id 400: a voice name from another vendor
Sume returns 400 `invalid_voice_id` for a voice name that is not a UUID or `voi_` id, before any job or credit. Copy an id verbatim or send an avatar.
- TTS locale vs language field: getting an en-GB accent
Cartesia's locale field picks a regional accent such as en-GB on Sonic 3.6. Sume's TTS request has a language field only, so pick the accent via the voice.
- TTS voice-language mismatch warning: confirm, then retry
Sume's TTS warns when a voice's language differs from `language`. No job or charge exists yet; after the user agrees, retry with `confirm_language_mismatch`.
- Twitch 2K clips: trim a 1440p clip without setting output
Video trim's output width and height are limited to 256-2160, so a 2560-wide 1440p clip cannot be conformed. Omit output and the source size is kept.
Written by Sume