Nodes/ComfyUI_Eclipse/Image Soften
ComfyUI Node

Image Soften

Take the over-crisp edge off a render without wrecking the detail

By r-vage·Created 10 months ago·Updated a day ago· 31
Image Soften
  • image
  • image
methodwavelet
strength0.50
radius1.5
iterations8

Iterative generation leaves artifacts - and one of the most common is over-sharpening. Flux render→refine chains, in particular, produce that crunchy, "AI-edges" look where every highlight is a hard line. Image Soften is the node that takes the edge off, and it's smarter about it than a plain blur: it has six methods, from uniform smoothing to edge-targeted softening, plus a negative-strength mode that sharpens with an unsharp mask.

The pitch is in the source: "reduce over-sharpening and harsh detail from iterative generation." If your refined image looks like it was run through a sharpen filter twice, this is the millisecond, deterministic fix from the KB's post-processing doc - no diffusion re-pass, no seed lottery.

The methods, decoded

  • wavelet (default) - Haar-wavelet detail attenuation. Reduces high-frequency detail while preserving color and structure. The all-rounder: it softens the noise without melting the image.
  • gaussian - uniform blur. Simple, but it blurs everything including edges.
  • bilateral - edge-preserving: smooths flat areas, keeps edges. The "de-noise a face but don't smear the eyes" option.
  • median - removes speckle/noise, preserves edges. For the salt-and-pepper junk that some generations emit.
  • anisotropic - Perona-Malik diffusion: iterative edge-preserving smoothing driven by iterations (default 8). The slow-cooked option - more iterations, smoother.
  • edge_blur - Sobel-detects hard edges and blurs only those. This is the one for "crispy" edges specifically: radius here acts as the edge-detection threshold (lower = more edges detected), and flat areas stay untouched.

strength runs −1 to 1: positive softens, negative sharpens (unsharp mask), 0 is no change. The surprise people love: one node for both softening and mild sharpening.

The settings

  • method - the six above; wavelet is the safe default.
  • strength - 0.5 default; negative for sharpening.
  • radius - sigma/spatial radius for gaussian/bilateral/median, edge sensitivity for anisotropic, edge threshold for edge_blur. Ignored by wavelet.
  • iterations - anisotropic only (1–50).

Where it fits

Straight after a refine/upscale pass, before save - "the last look." Match it against the original with Image Comparer and you'll see what you traded. Start with wavelet at 0.5, and if the goal is just "edges less crunchy," go straight to edge_blur.

Installing

ComfyUI_Eclipse, r-vage's pack. Manager → search ComfyUI_Eclipse, or:

cd ComfyUI/custom_nodes
git clone https://github.com/r-vage/ComfyUI_Eclipse

Restart; under Eclipse → Image → FX & Color. Standard deps; the pack targets current ComfyUI (frontend 1.51.2+) and its v4.0 cleanup dropped legacy RvTools_v2 nodes (Migration Tool for old saves).

The trap: it passes through unchanged when bypassed (the tooltip says so), but it does not pass through on strength 0 for every method - check that wavelet's ignored-parameter behavior isn't doing more than you expect. And don't stack soften + sharpen; the whole point of the unsharp-mask mode is that you don't need a second node.

Category🌒 Eclipse/ Image/FX & Color

Inputs (5)

NameTypeDefaultDescription
imageIMAGEImage to soften. Passes through on bypass.
methodCOMBOwaveletgaussian: uniform blur. bilateral: edge-preserving. wavelet: frequency-band attenuation. median: noise removal. anisotropic: Perona-Malik diffusion (smooths flat regions while preserving edges via gradient-based conductance). edge_blur: Sobel-detected hard edges only — smooths burned/crispy edges while leaving flat areas untouched.
strengthFLOAT0.50-1–1Positive = soften, negative = sharpen (unsharp mask). 0 = no change.
radiusFLOAT1.50.1–10Spatial radius/sigma (gaussian, bilateral, median), edge sensitivity (anisotropic), or edge detection threshold (edge_blur — lower = detects more edges). Higher = broader/softer blur. Lower = tighter/subtler effect. Ignored by wavelet method.
iterationsINT81–50Iterations for anisotropic diffusion. More = smoother. Ignored by other methods.

Outputs (1)

NameTypeDescription
imageIMAGE