LayerFilter: Gaussian Blur V2
Gaussian Blur V2 — a blur node with a real float radius
- image
- image
Sometimes you just need to blur an image, and you need to control exactly how much. That's this node, and there's not much more to say about what it does - one image in, one blurred image out, one slider. The V2 detail that matters: the blur amount is a float, so you get fine, sub-integer control instead of the coarse integer steps of the original. If you've ever wanted a blur of 3.5 and been stuck choosing between 3 and 4, this is why V2 exists.
Where you'll use it: softening a background plate, feathering a mask that got fed through as an image, building a bloom/glow by blurring a bright copy and screening it back, or just knocking edges off something before compositing. It's a utility, and a good utility is invisible.
How it works
Standard Gaussian blur - each pixel becomes a weighted average of its neighbors, with the blur value setting the radius of that neighborhood. Bigger radius, more spread, softer result. That's the whole mechanism. The useful bit here is precision and range.
The inputs and outputs that matter
There's exactly one control:
blur(0–1000, step 0.05, default 20) - the radius. The huge ceiling and the fine step are the point: small fractional values for a gentle softening, large values for a fully abstracted wash. Because it's a float you can automate or interpolate it smoothly across a batch without stair-stepping.
Input is one image, output is one blurred image.
How to install it
Part of the LayerStyle pack. Via ComfyUI Manager: search LayerStyle, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/chflame163/ComfyUI_LayerStyle
pip install -r ComfyUI_LayerStyle/requirements.txt
then restart. It's under 😺dzNodes → LayerFilter. No model download.
Common issues & troubleshooting
Big blur values are slow on large images. A wide Gaussian radius on a high-res image is genuinely expensive. If you're just softening something for a background, downscale first, blur, then scale back up - the blur hides the resample anyway.
You wanted to blur a mask, not an image. This node takes an IMAGE. If you're feeding it a MASK, convert it to an image first (or use the pack's mask-blur/grow controls that live on the mask nodes) - otherwise the types won't connect.
Blur looks banded on smooth gradients. That's 8-bit quantization showing through a heavy blur, not the node. Working at higher precision upstream or adding a hair of grain afterward hides it.
Node missing. The LayerStyle pack didn't import - usually a broken transformers dependency (a stray TensorFlow being the classic) that crashes the whole pack on load and takes every node with it. Read the traceback, use Manager's "Try Fix," or repair the named library.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| blur | FLOAT | 20.000–1000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |