Video Matte (Background Removal)

Remove a video's background → per-frame alpha clip. `model` swaps the matting backend so a headless caller can A/B edges without editing the repo: veed (fast, 4K, WebM alpha), bria_v_rmbg (SOTA edges, WebM alpha), or birefnet (the only backend with true ProRes 4444 alpha — set alpha_format:prores). WebM alpha is VP9 alpha_mode (browsers/Remotion decode it; ffmpeg's default decoder hides it — use ProRes for tooling). The resolved falModelPath is reported on output.model.

Video Matte (Background Removal)

Node type: process:video_matte
Category: process

Description

Remove a video's background → per-frame alpha clip. model swaps the matting backend so a headless caller can A/B edges without editing the repo: veed (fast, 4K, WebM alpha), bria_v_rmbg (SOTA edges, WebM alpha), or birefnet (the only backend with true ProRes 4444 alpha — set alpha_format:prores). WebM alpha is VP9 alpha_mode (browsers/Remotion decode it; ffmpeg's default decoder hides it — use ProRes for tooling). The resolved falModelPath is reported on output.model.

Pricing

  • Cost: ~16 credits per generation

Canvas ports

These appear as port handles on the left side of the node.

ID Label Details
video_url Video Url VIDEO (required)

These render as form fields in the right-side config panel when the node is selected.

ID Label Details
model Matting Model TEXT · options: veed, bria_v_rmbg, birefnet
alpha_format Alpha Format TEXT · options: webm_vp9, prores, mp4_h264
subject_is_person Subject Is Person (VEED) BOOLEAN
refine_foreground_edges Refine Foreground Edges (VEED) BOOLEAN

Outputs

ID Label Type
video Matte Video (alpha) VIDEO

Text behind the subject, which is what most people came here for

The effect: a title sits on screen and the person walks in front of it. It is this node plus a track ordering, and nothing else.

Your clip  ->  Video Matte  ->  Video Editor
                                  track 1: the text
                                  track 2: the alpha clip   (on top, so it wins)
  1. Wire the clip into Video Url. It is a port, so wire it; do not paste the url into config where nobody can see where it came from.
  2. Leave Alpha Format on webm_vp9 unless a tool downstream has to read the alpha itself.
  3. Run it. The Matte Video (alpha) output is your subject with the background gone, frame by frame.
  4. In the Video Editor, put the text on one timeline track and the matte clip on a track AFTER it. Track order is z-order and the first track is the bottom one, so the later track is the one that covers the other.

Get the order backwards and the text sits on top of the person, which looks like the node failed. It did not; the tracks are just the wrong way round.

One more setting, if your matte and your composition are different shapes: a timeline clip fits cover by default, which CROPS the mismatch and can quietly eat the edges of your subject. Set the clip's fit to contain and it letterboxes instead.

Subject Is Person mattes the person and NOTHING they are on

This is the setting that costs an afternoon.

With Subject Is Person on, VEED cuts out the human and treats everything else as background. A bike, a skateboard, a horse, a held prop: all background. Frame to frame the model disagrees with itself about where the person stops and the object starts, so the edge crawls and the thing your subject is sitting on drifts in and out. On a moving shot the occlusion visibly flickers.

Turn it off when the subject and their vehicle or prop should be cut out as ONE object. You get whole-foreground matting instead, the rider and the bike come out together, and the flicker goes with them.

Leave it on for a plain talking head, where it is the more accurate of the two.

Three backends, and they are not interchangeable

They all cost the same. Pricing on this node is flat per run, so switching backends changes the edges and the speed, never the bill. Pick on quality.

Model Use it for
veed (default) Fastest, handles 4K. Start here.
bria_v_rmbg Cleanest edges (hair, motion blur). Reach for it when VEED's edges crawl.
birefnet The only one that emits true ProRes 4444 alpha.

Alpha Format interacts with that choice, and the node protects you rather than surprising you:

  • webm_vp9 carries real alpha on all three. This is the default and the right answer almost always.
  • prores needs birefnet. Ask for it on VEED or Bria and you get WebM alpha instead, never a silently flattened file.
  • mp4_h264 has NO alpha channel. Picking it means the background comes back as solid black, which defeats the point of the node.

The output reports which backend actually ran, so an A/B between two of them is readable after the fact instead of a guess.

WebM alpha is real even when your player says it is not

VP9 alpha_mode is what webm_vp9 produces. Browsers decode it, Remotion decodes it, so the Video Editor and the render both see the transparency. ffmpeg's default decoder does NOT, so a clip that looks like it has a black background in a local ffmpeg preview can be perfectly correct in the render.

If something downstream genuinely has to read the alpha channel, that is the one reason to switch to birefnet and ProRes.


Auto-generated from the Wireflow node registry.

© 2026 Wireflow. All rights reserved.

Video Matte (Background Removal) | Wireflow Docs