⭐ Star HighPass Overlay
The Photoshop high-pass trick in one node (halve that radius)
- image
- image
If you've sharpened anything in Photoshop you've probably done high-pass sharpening: duplicate the layer, run High Pass on the copy, set that layer to Overlay, back the opacity off until it stops looking crunchy. ⭐ Star HighPass Overlay is that recipe, minus the app switch and the file shuffling.
It's the nicest sharpening in the toolbox because of one property: Overlay blending against 50% grey is a no-op. Flat areas sit right at neutral, so skin, sky and out-of-focus background come through untouched while edges and texture get their local contrast lifted. That feels different from an unsharp mask, which adds detail back additively and clips highlights when you push it.
Where it belongs in a workflow
This is the deterministic pixel-op layer - what you do to a finished frame that isn't upscaling and isn't a generative re-pass. No sampler, no model, no seed. That makes it the last honest move before you save: your upscaler invented the pixels, and this puts the bite back into a result that came out of a VAE decode looking slightly soft.
It stacks fine, but order matters. Grain goes after sharpening - sharpening amplifies noise, so if you're adding film grain for realism, do that last.
How it works
The source is short and unambiguous, which is nice for a filter node:
- The image goes from NHWC to NCHW. A 4-channel input is truncated to RGB - the alpha channel is dropped.
- A Gaussian kernel is built at sigma = radius / 2, sized
2 × radius + 1per side, and applied per-channel with reflect padding (no dark border creeping in at the edges). - The residual is placed on neutral grey:
highpass = image - blur + 0.5. - That layer is blended back in Overlay mode using the standard formula -
2·a·bbelow mid-grey,1 - 2·(1-a)·(1-b)above it. - Finally it's flattened against the original as a linear blend:
out = image + (overlay - image) × strength.
So strength really is the Photoshop opacity slider and radius is the High Pass dialog's radius. No hidden third knob.
Inputs and output
- image - RGB or RGBA in. RGBA comes back as RGB.
- radius (1–250, default 10) - which scale of structure counts as "detail". Low values (2–6) sharpen fine texture; higher values lift broader local contrast and read more like a clarity/punch adjustment. The author's own tooltip compares it directly to the Photoshop radius.
- strength (0.0–1.0, default 1.0) - how much of the effect lands.
0.0hands you the input back,1.0is the full overlay layer.
The output is a single image (IMAGE), always RGB - to a preview, a save node, or another filter.
One number worth knowing: because sigma is derived as radius / 2, the dial is roughly half whatever Photoshop would call the same radius. Copying a look you built there means starting around double.
Settings that actually work
Radius 3–6 at strength 0.3–0.6 is the everyday sweet spot for a 1–2MP image. Radius 8–15 at similar strength is the "broader local contrast" setting for large upscales. Full strength 1.0 with a big radius is where halos show up - bright rims, the classic over-sharpened tell. If you see them, cut strength before radius - radius controls what gets boosted, strength controls how hard.
Install
Via ComfyUI Manager - search Starnodes - or:
cd ComfyUI/custom_nodes
git clone https://github.com/Starnodes2024/ComfyUI_StarNodes
cd ComfyUI_StarNodes
pip install -r requirements.txt
Restart, then search highpass (it's in ⭐StarNodes / Image And Latent). This node is pure PyTorch - no OpenCV, no extra packages - but the pack's requirements file installs dependencies for its other nodes.
Gotchas
Alpha is gone. RGBA in, flattened RGB out. If alpha carries something a later node needs, run this before that step.
The kernel cost is quadratic in radius. At the default 10 the kernel is 21×21. At 250 it's 501×501 per channel on every pixel. Small radii are free; huge ones are not.
It assumes normal 0–1 image values. The whole trick depends on 0.5 meaning neutral grey and the result being clamped to 0–1, so don't run it on linear/HDR float data - the offset and clamp will crush it.
Pack-level caveat. StarNodes is a big multi-purpose pack, and installing it also installs packages for its PSD, palette, video and Ollama nodes. Nothing here needs them; if you curate a minimal install, that's the trade.
If you want a plainer high-pass with a wider strength range, the pack also ships ⭐ Star HighPass Filters - same family, less faithful to the Photoshop recipe.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| radius | INT | 101–250 | High pass radius - controls the detail scale that gets boosted (like the Photoshop radius). |
| strength | FLOAT | 1.000–1 | Opacity of the high pass overlay layer, like the Photoshop layer percentage. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |