Dim a background clip under text: video filter dim amounts
The Sume video-filter dim op multiplies luma by an amount between 0 and 1; black stays black and chroma is untouched. Amount table, request and the $0.02 price.

To darken a clip so text on top reads, send one dim op with an amount in (0, 1]. The docs define it as a luma multiplier: 0.45 makes the clip less bright, 1 changes nothing, and 0 or anything above 1 is refused with video_filter_amount_out_of_range. Black stays black and chroma is unchanged (Video filter).
What each amount does to luma
Because dim is a multiplication, you can predict the result for a pixel of known brightness. The table assumes full-range 8-bit luma on a 0 to 255 scale and rounds to the nearest integer; a mid-grey of 128 becomes:
| `amount` | Luma 255 becomes | Luma 128 becomes | Luma 0 becomes |
|---|---|---|---|
| 1 | 255 | 128 | 0 |
| 0.8 | 204 | 102 | 0 |
| 0.6 | 153 | 77 | 0 |
| 0.45 | 115 | 58 | 0 |
| 0.3 | 77 | 38 | 0 |
| 0.15 | 38 | 19 | 0 |
Request
One job, one op, $0.02. Run the free /check first if you are scripting this over many clips.
curl -X POST https://api.sume.com/v1/video-filter \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: dim-bg-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/broll.mp4",
"ops": [{"op": "dim", "amount": 0.45}]
}'Where it fits
Dim is material preparation, not placement. Put the result into video[] of Timeline 1.0 and let your caption step draw on top. The dim op accepts only {op, amount}: any extra key returns unsupported_filter_op_field.
- Dim does not blur; blur lives in the allowlisted
filtergraph. - Up to 8 ops, applied in order before any filtergraph.
- Source up to 300 s.
Sources
Related posts
More in Media tools
- Exact or keyframe video trim: which to pick and what changes
Sume video-trim defaults to a frame-accurate exact re-encode; keyframe is a stream copy that can start a GOP early. How to choose and re-base the times.
- Extract 6 thumbnail candidates from a clip with video-frames
Send POST /v1/video-frames with an at list of up to 24 timestamps and get durable image URLs at source size. Python polling example, formats and limits.
- video-frames fps limit: 24 frames, fps up to 2, what it covers
Sume video-frames takes fps from just above 0 up to 2 and caps each call at 24 frames at mid-bin times. Table of sample times and the span 24 frames reach.
- Video filter /check is free: validate 8 ops before you pay $0.02
POST /v1/video-filter/check runs the same validation as the encode and bills nothing. See what it catches, the 8-op limit, and when a valid program still fails.
Written by Sume