Green screen removal by API: chromakey in a video filter graph

Sume's video filter allowlists chromakey and colorkey, but an MP4 holds no alpha, so a key must be composited inside the graph. Not AI background removal.

4 min readSume
All posts

For footage shot on a solid green or blue backdrop, POST /v1/video-filter can run chromakey or colorkey, both on its filter allowlist. The result is a new MP4, which cannot carry transparency, so the keyed subject has to be composited onto something inside the same graph.

Adobe's September 2026 Firefly notes describe a Remove Background feature that detects subjects and strips the background across a clip with no frame-by-frame masking. That is matting by detection; Sume's filter is a color key. What Sume offers for detection is covered in what Sume covers for video background removal. Filter facts are from Video filter, read 2026-10-01.

Which key filters can a graph use?

Key-related names on the video filter allowlist, read 2026-10-01.
FilterListed under
chromakeyTone / colour
colorkeyTone / colour
despillTone / colour
overlay, splitCompositing, internal labels only
lut3d, movieNot allowed

Where does the keyed subject go?

There is one input clip and no second file, so there is no background image to key onto. The graph can split the clip and composite the keyed copy over a processed copy of itself. This sketch greys out and blurs the backdrop copy; the similarity and blend values are ffmpeg options you tune per footage, and the graph is untested here. Validate it with the free /check first. Stream specifiers like [0:v] are refused; internal labels are fine.

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/greenscreen.mp4",
    "filtergraph": "split[fg][bg];[bg]hue=s=0,gblur=sigma=20[bgb];[fg]chromakey=color=0x00FF00:similarity=0.15:blend=0.05[k];[bgb][k]overlay"
  }'

What if I want the subject on a new background?

Compose is the surface for that: Timeline compose places one Sume-hosted still and one video on screen together, but it takes a finished video layer and has no key option. A keyed result with real transparency is not something the video filter returns.

What does a filter job cost?

The docs list $0.02 per encode job, source up to 300 seconds, a filtergraph of at most 2048 characters and 32 named filters. The check is free and runs the same allowlist, but a bad expression or memory limit can still fail on the worker.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume