ComfyUI Node

Mask Grow Blur

Mask Grow Blur

By akawana·Created 9 months ago·Updated 7 days ago· 5
Mask Grow Blur
  • mask
  • mask
grow_strength0
blur_strength0

There are two operations you apply to practically every mask before it does its job: grow it a bit so the edge sits where you actually want it, and blur it so the transition isn't a hard knife-edge. ComfyUI's stock answer is a GrowMask node wired into a Blur node, which is two nodes and a wire for something you do constantly. Mask Grow Blur is the one-node version - grow and feather in a single box. The README doesn't even bother explaining it: "No need explanation. Simple and in one node." That's the whole pitch, and it holds up.

What it does

  • mask - a standard MASK tensor in.
  • grow_strength - an integer, default 0. Number of dilation iterations. Each step pushes the mask outward by roughly one pixel with a tapered, rounded edge (the code deliberately reproduces ComfyUI's own GrowMask behavior - repeated 3×3 grey dilation with the plus-shaped kernel). Turn it up to 5 and the mask swells about 5 pixels.
  • blur_strength - an integer, default 0. Gaussian blur radius in pixels. This is your feather.
  • mask - the processed MASK out, same shape, same batch, back on the original device.

Both defaults are 0, which is a straight pass-through, so nothing happens until you raise them. It's an honest, boring utility node - which is precisely why it's useful.

Why it's in this pack

It sits in the AK/mask category (the "AK" prefix covers all of author akawana's packs), and its real home is at the end of the RGBYP pipeline. Split your five-color mask with RGBYP Mask To Regular Masks, then grow and blur the regions before they hit a regional-conditioning or inpaint setup. It's also a handy inline step when you don't want the splitter's built-in grow/blur applied to all six of its outputs at once - do it per-mask here instead.

The honest comparison

Before you install anything, know the tradeoff. ComfyUI's core GrowMask gives you more knobs (tapered corners on/off, a dissolve mode, even a 3D-ish "tap" mode), and the Impact Pack's mask tooling is deeper still. Mask Grow Blur wins on exactly one axis: it's the grow+blur you want 90% of the time in a single node with two integer inputs. For a quick inflate-and-soften before a mask does its thing, it's the one you reach for.

Installing it

It ships with the RGBYP pack, so:

cd ComfyUI/custom_nodes
git clone https://github.com/akawana/ComfyUI-RGBYP-Mask-Editor.git

Then restart ComfyUI. Or, easier, ComfyUI Manager → search RGBYP → Install. No models to download, and no extra pip dependencies - it uses only libraries a stock ComfyUI install already has (torch, numpy, PIL, scipy).

Gotchas

The two inputs are integers, so you can't set a 1.5-pixel grow - it's whole pixels only, which is fine in practice since you're usually growing in 2–8 pixel steps anyway. And if you feed it a None mask it returns None rather than crashing, which is friendlier than it looks: nodes wired into optional mask paths won't take the whole graph down when there's nothing to process.

CategoryAK/mask

Inputs (3)

NameTypeDefaultDescription
maskMASK
grow_strengthINT0
blur_strengthINT0

Outputs (1)

NameTypeDescription
maskMASK