XWAVE Gaussian Blur
The pack's simplest blur — with one input that lies to you
- image
- IMAGE
Every image toolkit needs a plain Gaussian blur, and this is the pack's. It takes an image, softens it, hands it back. No bells, no whistle - which is honestly fine, because blur is usually a means to an end, not the end itself.
What you'd use it for
Gaussian blur is the quiet workhorse. A few places it shows up around a ComfyUI graph:
- Pre-blur before Pixelate or Sharpen - the classic "blur, then sharpen" chain is how you get soft, dreamy detail instead of crunchy artifacts.
- Defocus / depth-of-field fakes - blur a copy and composite it under a mask for a cheap bokeh feel.
- Smoothing - soften a generated image that's come out too harsh or noise-crunchy before you regrade it.
- Feeding a mask pipeline - blurred edges are friendlier to inpaint or composite operations than hard ones.
How it works
It's PIL's GaussianBlur under the hood - a real Gaussian kernel, not a box blur, so the falloff is smooth. The node converts each frame from ComfyUI's tensor format to a PIL image, blurs, converts back.
The inputs (and the one that lies)
radius(0.1–50, default 5) - the actual blur amount in pixels. This is the dial you care about.sigma(0–20, default 0) - presented as the standard deviation, with 0 meaning "auto."
Here's the catch, straight from the source: sigma does nothing. The backend computes sigma = radius / 3 as an approximation when you leave it at 0, but then calls ImageFilter.GaussianBlur(radius=radius) - and PIL's GaussianBlur only reads the radius. Whatever you type into sigma, the output is identical. It's a dead input in this version. Set radius and move on with your life.
Output is a single IMAGE, wired into whatever's next.
Installing it
It lives in ComfyUI XWAVE Nodes. ComfyUI Manager → search "XWAVE" → install ComfyUI XWAVE Nodes → restart. Or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/XWAVEart/comfyui-xwave-xlitch-nodes
cd comfyui-xwave-xlitch-nodes
pip install -r requirements.txt
Just Pillow, numpy and scipy - no models, no downloads. One install covers the whole pack.
Gotchas
- The
sigmatrap, above. If someone shares a workflow withsigmacranked expecting a different look, the results won't match their intent. radius0.1 is effectively nothing; 50 is soup. The range is huge and mostly useless at the top end. For defocus you'll live in the 3–15 band.- Per-frame Python loop. On a video batch this is a touch slower than core ComfyUI's built-in blur would be, though for a single image it's instant.
It's a new pack with no community footprint to lean on, and this is the plainest node in it - there's not much to go wrong. Grab it for the other, more interesting nodes in the pack, and keep this one as your boring-but-reliable softening layer.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| radius | FLOAT | 5.00.1–50 | — |
| sigma | FLOAT | 0.00–20 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |