Reframe 16:9 to 9:16 before you burn captions, not after
Crop a 16:9 clip to 9:16 with video-filter (width 0.3164, x 0.3418), then caption. Order trim, crop, caption: $0.02 + $0.02 + $0.20 = $0.24.

Reframe before captions. A 9:16 window of a 16:9 frame is 81/256 = 0.3164 of the width at full height, centered at x = 0.3418, and captions burned onto the 16:9 file would be cropped away or sit off the safe area, so crop first and caption the vertical file. Trim, crop and caption cost $0.02 + $0.02 + $0.20 = $0.24 for a clip up to 60 seconds.
YouTube says Shorts are vertical videos up to 3 minutes with a 1080p maximum upload resolution (read 2026-10-09), so a 1080-high crop of a 1080p source is the right size.
The crop fractions
Video filter crops by fractions of the frame, so you do not need pixels. For source width W and height H, the 9:16 window has height 1 and width = (9/16) x H / W. For 1920 x 1080 that is 0.3164 (607.5 px of 1920), and x = (1 - width) / 2 = 0.3418. The compiler rounds to even pixel values for yuv420p.
{
"video_url": "https://media.sume.com/artifacts/artf_demo/talk-169.mp4",
"ops": [{ "op": "crop", "x": 0.3418, "y": 0, "width": 0.3164, "height": 1 }]
}Order and cost
| Step | Why this order | Rate |
|---|---|---|
| Video trim | Shortest file for every later job | $0.02 |
| Video filter crop | Vertical frame before text is placed | $0.02 |
| Video captions | Burned on the final geometry (up to 60 s) | $0.20 |
| Total | $0.24 |
Gotchas
- A center crop is a guess about where the speaker stands; extract one still with video frames before you commit.
/v1/video-filter/checkis free and reports diagnostics instead of a 400, so run it first.- Out-of-range fractions fail with
video_filter_crop_out_of_bounds; a side under 0.05 also fails. - The filter source must be 300 s or shorter.
Sources
Related posts
More in Media tools
- Resize a clip while trimming: output needs precision exact
Sume video trim takes output {width, height, fps} only with precision exact, the default. With keyframe you get video_trim_output_requires_exact. $0.02 a job.
- Runway Enhance Frame Rate (24 to 120 fps) vs Sume's fps conform
Runway's Enhance Frame Rate converts video to 24-120 fps at 1 credit per 2 seconds. Sume's trim only conforms to 24, 25, 30 or 60 fps.
- Snapchat Commercials: 3-6 s or 7-180 s, a 6.5 s cut fits neither
Snapchat lists Standard Commercials at 3 to 6 seconds and Extended Play at 7 to 180. Cut to the exact second with video trim exact and check duration_seconds.
- Snapchat Commercials need H.264: trim keyframe copies the source codec
Snapchat lists H.264 mp4 or mov for Commercials. Video trim keyframe is a stream copy, exact re-encodes to libx264, so use exact if the source is not H.264.
Written by Sume