Boost dull video colors by API: the vibrance filter intensity
Sume's video filter allowlists vibrance, with intensity from -2 to 2 and a default of 0. A small positive value lifts muted color; a negative one mutes it.

vibrance is an allowlisted filter in Video filter that boosts or alters saturation, driven by one number, intensity, from -2 to 2 with a default of 0. A positive value lifts color; a negative one pulls it back. On a brown test pixel, intensity=0.8 made the pixel more saturated in a local ffmpeg 9.0.1 run. The result is a new MP4 and the source is untouched.
Which vibrance options are worth knowing?
| Option | What it does |
|---|---|
intensity | -2 to 2, default 0. Start near 0.3 to 0.8 and compare. |
rbal, gbal, bbal | Per-channel balance, -10 to 10, default 1 each. Push one channel harder than the others. |
alternate | Use alternate colors, default false. |
How do I apply it?
Check the graph, then encode. Start with a modest intensity and raise it in small steps, since a large value can oversaturate. Keep the encode to a short test range first.
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/landscape.mp4",
"filtergraph": "vibrance=intensity=0.6"
}'Should I use vibrance or the eq filter?
Either is on the allowlist. eq is the general brightness, contrast and saturation filter. vibrance is the one whose own description is "boost or alter saturation". Pick one and test it on a still before committing, rather than stacking both, since two saturation boosts compound quickly.
Can I limit the boost to one section of a long video?
Not inside one filter job; the graph has no time range. Trim the section with video trim, filter that piece, and put it back with Timeline 1.0. For a hue change rather than a saturation one, see hue shift.
What does a filter job cost and where are the limits?
The docs list $0.02 per encode job, with a source of at most 300 seconds, a filtergraph of at most 2048 characters and 32 named filters. The /v1/video-filter/check route runs the same allowlist and source checks for free and returns valid and next_action; a graph that passes can still fail on the worker (bad expression, memory, time), which comes back as a structured job error.
Sources
Related posts
More in Developers
- C2PA 2.3 editing history: what trim and filter return in Sume
Content Credentials 2.3 shows clearer edit history such as resizing, markup and redactions. Sume trim and filter return a new MP4; inspect never makes one.
- California SB 1000: no user threshold, new verification tool
SB 1000 recasts the California AI Transparency Act: no user threshold, a disclosure verification tool, no manifest option. What Sume's docs list.
- Caption animation speed in and out: Sume motion overrides
Tune burned-in caption animation with design.motion: enter_seconds, exit_seconds, emphasis_in_seconds and emphasis_out_seconds, set per caption request.
- Subtitles: how many words per line with design.phrasing
Sume video captions let design.phrasing set max_words (1-12), max_chars (4-60) and pause_seconds (0.05-3) per phrase. Not supported on punch or tiktok-green.
Written by Sume