Crop to 1:1 and dim a bright studio clip: read ops_applied

White studio clips wash out captions. Sume video-filter crops 16:9 to 1:1 and dims 15 percent in one $0.02 job. Check it free first, then read ops_applied.

4 min readSume
All posts

To crop a 16:9 studio clip to a square and dim it so white captions stay readable, send one Sume POST /v1/video-filter job with two ops: a crop with x 0.21875, y 0, width 0.5625, height 1, and a dim with amount 0.85. The job costs $0.02, and the result lists what ran in ops_applied.

The ops and ranges are in Video filter (read 2026-10-06). crop takes fractions of the frame, dim multiplies the luma of the whole clip, and amount must be above 0 and at most 1.

Where do the crop numbers come from?

A square cut from a 16:9 frame is the full height and 9 sixteenths of the width, which is 0.5625. Centered, that leaves 0.21875 on each side, so x is 0.21875. The rule x + width <= 1 holds: 0.21875 + 0.5625 is 0.78125.

Crop fractions for a centered 1:1 cut from 16:9 (read 2026-10-06)
FieldValue
x0.21875
y0
width0.5625
height1

Does the order of ops matter?

Ops run in the order you send them, and before any filtergraph. For these two the picture is the same either way, since dim scales every pixel and crop only chooses where. The order still decides how ops_applied reads, so keep one order across a batch to compare results.

curl -X POST https://api.sume.com/v1/video-filter/check \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video_url": "https://media.sume.com/artifacts/artf_demo/studio-wide.mp4",
    "ops": [
      { "op": "crop", "x": 0.21875, "y": 0, "width": 0.5625, "height": 1 },
      { "op": "dim", "amount": 0.85 }
    ]
  }'

What do I do after the check?

/check is unbilled and returns valid and diagnostics, with next_action of submit_video_filter. Post the same body to /v1/video-filter with an Idempotency-Key to encode, and add captions after, so the burned text is not dimmed.

  • The source clip must be 300 seconds or shorter.
  • A program can have at most 8 ops.
  • The result's video_url is a new MP4, and the source is not changed.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume