Vivid Sharpen (V2)
The fine-tunable version of the high-pass sharpen trick
- images
- images
This is a from-scratch, torch-only rebuild of this pack's plain VividSharpen node - same Photoshop-style high-pass-and-blend sharpening technique underneath, but with every stage of it exposed as its own control instead of one strength slider. Reach for this one when the plain version either isn't strong enough or is haloing and you want to fix the sharpening mask itself rather than just dialing strength up or down.
How it works
The core idea is unchanged from V1: build a high-pass layer and blend it back to boost perceived detail. V2 splits that into two separate blur stages instead of one - radius_highpass builds the high-pass layer itself, and radius_blur then further blurs that inverted layer before it gets blended in. Softening the sharpening mask this way is what tames the harsh, aliased edges that plain high-pass sharpening is prone to at high radii - it's the fix for exactly the haloing problem V1's article flags as a failure mode.
On top of that, hp_brightness and hp_contrast let you push more or less midtone punch into the high-pass layer before it's blended, and vivid_opacity/overlay_opacity separately weight two classic Photoshop blend modes - Vivid Light and Overlay - that stack together rather than picking one. blur_mode (gaussian or box) picks the kernel shape for both blur stages. And strength here goes up to 3.0, not V1's capped 1.0, so you can genuinely overshoot the algorithm's natural range for a more aggressive result than V1 can produce at all.
The inputs and outputs that matter
images(IMAGE) - what you're sharpening.radius_highpass(default 5) - builds the high-pass layer; the main "how fine or broad is the detail I'm targeting" control, same role as V1'sradius.radius_blur(default 2.5) - softens that high-pass layer before blending; raise this if you're seeing hard, aliased sharpening edges.blur_mode(gaussian / box) - kernel type for both blurs.strength(default 1, range 0–3) - can exceed 1.0 for a more aggressive effect than the base algorithm's natural range.hp_brightness/hp_contrast(default 1 each, 0.5–2) - tune the high-pass layer's own contrast before it's blended in. Leave these alone until the basics are dialed in.vivid_opacity/overlay_opacity(default 1 each, 0–1) - independently weight the Vivid Light and Overlay blend contributions; lower one to bias the look toward the other's character.
Single output: images.
How to install it
Via ComfyUI Manager: search "WAS_Extras", install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/WAS_Extras
Restart ComfyUI. No extra dependencies - it's a torch-only reimplementation, so nothing new to download beyond what ComfyUI already needs.
Common issues & troubleshooting
Not sure where to start with eight parameters. Leave hp_brightness, hp_contrast, and blur_mode at default and adjust only radius_highpass and strength first - that mirrors V1's two-knob experience while leaving the rest of V2's controls available once you need them.
V1 was haloing and you switched here expecting it to just be fixed. It isn't automatic - raise radius_blur specifically, since that's the stage that softens the sharpening mask. Simply matching V1's radius into radius_highpass without touching radius_blur will often reproduce the same haloing.
Effect looks flat despite a high strength. Check vivid_opacity and overlay_opacity haven't been turned down - both blend contributions can be independently muted, and a high strength on top of low opacities will still look weak.
Pushing strength above 1.0 makes things look broken rather than "more sharpened." That range exists for deliberate overshoot, but most images will fall apart well before 3.0 - treat anything past roughly 1.5–2.0 as an experimental extreme, not a normal working range.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| radius_highpass | FLOAT | 5.000.01–64 | Radius for invert+blur high-pass step |
| radius_blur | FLOAT | 2.500.01–64 | Radius for secondary blur of inverted image |
| blur_mode | COMBO | gaussian | Kernel type for both blurs |
| hp_brightness | FLOAT | 1.000.5–2 | Brightness multiplier on high-pass layer |
| hp_contrast | FLOAT | 1.000.5–2 | Contrast factor on high-pass layer |
| vivid_opacity | FLOAT | 1.000–1 | Opacity for vivid-light blend |
| overlay_opacity | FLOAT | 1.000–1 | Opacity for overlay blend |
| strength | FLOAT | 1.000–3 | Mix ratio: original vs sharpened (can exceed 1.0) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |