Vivid Sharpen (V2)
The same idea, with halo control and video in mind
- images
- images
Vivid Sharpen (V2) is the same core trick as the first node - blur a copy, blend it back in vivid light so edges gain contrast and flats stay flat - with the stack opened up. Four widgets became nine, and you can now see and adjust the two stages separately instead of accepting whatever the blend left behind.
There's also a real practical difference behind the knobs: V1 walks the batch a frame at a time, V2 runs the whole batch in one pass on the GPU. For a still image that's irrelevant. For a few hundred frames of video it's the reason this node exists.
The two stages
Worth understanding, because it explains most of the controls. The first blend is vivid light - that's the stage that creates the edge accent, and it flattens contrast slightly as a side effect. The second is overlay, which puts the contrast back. In V1 both happened at fixed strengths. Here you get separate opacity for each, plus a brightness and contrast trim on the high-pass layer before it's blended at all.
vivid_opacity at 0 disables the sharpening and leaves only the overlay pass, which is a genuinely useful mode: it's a contrast restore for anything that came out of a processing chain feeling flat, with none of the accent.
What to actually set
radius_highpass(default 5.0) - which detail gets accented. 1.0–2.0 for fine texture, 5.0+ for broad punch. Same trap as V1: too high reads as added contrast rather than added detail.radius_blur(default 2.5) - a second blur on the high-pass layer. This is the halo control. Raise it and the accent softens and hard edges stop glowing; lower it and the result gets crisper. If you liked V1's look but not its edges, this is your dial.blur_mode-gaussian(smooth falloff, natural) orbox(equal weighting, faster, harder and more graphic). Aesthetic choice, not a quality one.hp_brightness/hp_contrast(both 1.0) - trim on the high-pass layer.hp_contrastis where you go when the sharpening is right but too strong: pull it under 1.0 for a softer bite without losing the shape of the accent.hp_brightnessfixes the slight overall lift sharpening tends to leave.vivid_opacity/overlay_opacity(both 1.0) - how much of each stage survives.strength- the final mix back over the original, and unlike V1 this one goes to 3.0. Above 1.0 you're pushing past the processed result for an exaggerated accent. Fun for a look, bad for realism.
Which one to reach for
If you only want your image slightly sharper and you're on a still, V1's three widgets are the faster path - set strength to 0.4 and move on. V2 earns its extra knobs in two situations: video or long batches, where the single-pass GPU behaviour matters; and any case where you need to keep the accent but lose the halo, which V1 simply can't do because it has no second blur.
Output is images, same size and batch order as the input.
Install
ComfyUI Manager → search WAS Node Suite v3 → install → restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/was-node-suite-comfyui.git
Nothing is pip-installed, nothing is downloaded, no build step. ComfyUI 0.14.0+ and Python 3.10+. First start writes config.yaml and the pack's folders, and compiles bytecode - an update redoes that, so one slower start after each pull. Both sharpen nodes come from the extras feature group, on by default; note that the pack's README also describes an extras: false setting for people running the standalone WAS Extras pack, which is why this node can disappear from the menu on someone else's install.
Where people get burned
A slow first run on video. The one-pass behaviour means memory scales with the whole batch, not with one frame. A few hundred 1080p frames at once will find the ceiling. Split the batch if it does.
Fighting the wrong control. If it's too strong, hp_contrast, not strength - and if the edges glow, radius_blur, not radius_highpass. Those two mix-ups account for most of the "this node is bad" first impressions.
Expecting it to invent detail. Same as V1: it accents what's in the file. Correcting softness by turning sharpening up produces a crunchy image, not a detailed one.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | The pictures to sharpen. The whole batch is processed in one pass, so a long sequence costs little more than a single frame. | |
| radius_highpass | FLOAT | 5.000.01–64 | Size in pixels of the blur that builds the high-pass layer. This sets which detail is accented: 1.0 to 2.0 for fine texture, 5.0 and above for broad shapes and general punch. |
| radius_blur | FLOAT | 2.500.01–64 | Size in pixels of a second blur applied to the high-pass layer. Raising it softens the accent and suppresses the halo that appears along hard edges; lowering it keeps the result crisp. |
| blur_mode | COMBO | gaussian | Shape of both blurs. `gaussian` falls off smoothly and is the natural-looking choice; `box` weights every pixel in the window equally, which is faster and gives a harder, more graphic accent. |
| hp_brightness | FLOAT | 1.000.5–2 | Brightness of the high-pass layer before it is blended. Above 1.0 pushes the result lighter overall, below 1.0 darker. Use it to correct the slight lift or drop sharpening leaves behind; 1.0 changes nothing. |
| hp_contrast | FLOAT | 1.000.5–2 | Contrast of the high-pass layer before it is blended. Above 1.0 makes the accent bite harder, below 1.0 softens it. This is the control to reach for when the sharpening is right but too strong. |
| vivid_opacity | FLOAT | 1.000–1 | How much of the vivid-light blend is kept. This is the stage that creates the edge accent, so 0.0 disables the sharpening and leaves only the overlay pass. |
| overlay_opacity | FLOAT | 1.000–1 | How much of the overlay pass is kept. Overlay restores the contrast the vivid-light stage flattens, so lowering it gives a flatter, more filmic result. |
| strength | FLOAT | 1.000–3 | How much of the finished result is mixed back over the original. 0.0 returns the picture untouched, 1.0 uses the result outright, and values above 1.0 push past it for an exaggerated accent. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | The sharpened pictures, same size and batch order as the input. |