VOID Quadmask Preprocessor
The mask translator for Netflix's video-removal model
- mask
- quadmask
VOID Quadmask Preprocessor takes a mask and rewrites it into the special four-level "quadmask" format that VOID - Netflix's open video object-removal model - needs in order to erase things from video. It's the most specialized node in the built-in mask family, and it only makes sense inside a VOID pipeline. If you've never heard of VOID, that's fine; most people haven't, yet. But it's a genuinely new way to remove objects from footage, and this node is the translator between "a mask" and "what VOID speaks."
Why you'll reach for it
VOID is Netflix's take on video object removal, released open in early 2026 and wired into ComfyUI core in May 2026. The headline feature isn't that it removes an object - it's that it makes the video look like the object was never there, shadow and reflection and all, which is the hard part. Community read at launch was genuinely mixed - "the removal also affects the environment" was a common complaint, though defenders pointed out that is the model working, because a good removal changes the scene around the object too.
VOID doesn't take a normal black-and-white mask. It takes a quadmask: a mask with four semantic levels instead of two. Level 0 is the primary object to remove, level 1 is the overlap between the object and the affected region, level 2 is the affected region (the interactions and shadows around the object), and level 3 is the background to keep. That four-level encoding is what lets the model know what to fully remove, what to blend, and what to leave alone. This node takes whatever mask you have and produces that encoding.
How it works
The pipeline, straight from the source: if your mask is in 0.0–1.0 range it's scaled up to 0–255. dilate_width optionally dilates the primary (removal) region outward so the model knows to grab a little extra around it. Then the values are quantized into the four levels - up to 31 becomes 0 (primary), 32–95 becomes 63 (overlap), 96–191 becomes 127 (affected), above 191 becomes 255 (background). Finally the whole thing is inverted and normalized to 0–1, so the output mask reads: 1.0 = remove, ~0.75 = overlap, ~0.5 = affected, 0.0 = keep.
Note what that inversion means for your input: in the raw quadmask, black (0) marks the object to remove and white (255) marks background. So if you're building the mask by hand, you paint the thing you want gone in black.
The inputs and outputs
mask- your source mask, either 0–1 or 0–255.dilate_width- the tooltip says it plainly: "Dilation radius for the primary mask region (0 = no dilation)." Range 0–50, default 0. Bump it a few pixels if VOID is leaving a sliver of the object behind.
One output, quadmask (a MASK). It feeds VOIDInpaintConditioning in the VOID pipeline, alongside your source video.
Getting it
Ships with ComfyUI core, nothing to install. It's new - the VOID nodes landed in comfy_extras/nodes_void.py in the May 2026 core update. If you don't see it, update ComfyUI.
Where people get burned
- It's a niche node for a niche pipeline. If you aren't running VOID video removal, this does nothing useful for you - it quantizes and inverts your mask into a format nothing else reads. The built-in mask family's day-to-day workhorse is Grow Mask, not this.
- The polarity is backwards from habit. Most of ComfyUI thinks "white = regenerate." Here, black = remove. Get it backwards and VOID will happily remove your background instead.
- A plain black-and-white mask is a lossy input. If you only feed two levels, the overlap and affected channels are empty and you lose the model's best feature. The four levels are the point.
- Set expectations. VOID is new and the community consensus is that results are experimental-grade - "okay for experiments," as one r/StableDiffusion comment put it, not yet a paid-tool replacement. Don't judge the node; judge whether the model is ready for your job.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| mask | MASK | — | |
| dilate_width | INT | 00–50 | Dilation radius for the primary mask region (0 = no dilation) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| quadmask | MASK | — |