Frequency Separation Hard Light LAB
Split detail from tone, edit, recombine
- high_pass
- original
- low_pass
- high_pass
- original
- low_pass
Frequency separation is a retoucher's classic, and this node brings it into ComfyUI. Frequency Separation Hard Light LAB splits an image into two layers - a low-frequency layer (broad tone and color) and a high-frequency layer (fine texture and edges) - so you can edit each independently, then recombine them losslessly using a hard-light blend in LAB space.
Why you'd want it: it's the cleanest way to fix one thing without wrecking another. Smooth blotchy color or uneven lighting on the low-frequency layer and the pores, hair, and edges on the high-frequency layer stay razor sharp. Or sharpen texture without amplifying color noise. In RES4LYF's world it's a detail-transfer and cleanup tool - part of the same family as Image Channels LAB and Image Median Blur - and it's how you carry crisp detail from one image onto the tone of another.
How it works
Classic frequency separation: the low-pass layer is a blurred version of the image (broad tone), and the high-pass layer is what's left over (the fine detail), stored so that hard-light-blending it back over the low-pass reconstructs the original exactly. This node handles both the split and the recombine, working in LAB so luminance detail stays separate from color. Feed it an original to split; feed it edited low- and high-pass layers to rebuild.
The inputs and outputs that matter
All inputs are optional because the node runs in two directions:
original(IMAGE, in) - provide this to separate; read thehigh_passandlow_passoutputs.low_pass/high_pass(IMAGE, in) - provide these (typically after editing one) to recombine; read theoriginaloutput as your finished image.- Outputs:
high_pass,original,low_pass(all IMAGE).
The workflow is a loop: split → edit the low-pass (blur, color-correct, replace) and/or the high-pass (sharpen, transfer) → feed them back to get a clean original out.
How to install it
ComfyUI Manager: search RES4LYF, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ClownsharkBatwing/RES4LYF
cd RES4LYF
pip install -r requirements.txt
Portable ComfyUI: use the embedded pip. Restart, hard-refresh F5. No downloads.
Common issues & troubleshooting
Recombine doesn't match the original. Frequency separation is only lossless if the high-pass is reunited with the same low-pass it was derived from (or a deliberately edited one). Mixing a high-pass from image A with an unrelated low-pass will look off - that "off" is actually the feature when you're doing detail transfer, but it surprises people expecting a clean rebuild.
Halos or edge artifacts. These come from the blur radius used to make the low-pass, not from the recombine. If you're generating the low-pass with Image Median Blur, a too-large size can introduce edge halos. Tune the blur.
The high-pass looks like flat gray. Correct - a high-pass layer is mostly mid-gray with detail riding on top. You don't view it directly; you blend it back. Judge the result after recombining.
Where to start. Split the original, blur or color-correct the low-pass, leave the high-pass untouched, recombine. That single move - cleaning tone while preserving every bit of texture - is what frequency separation is for, and it's the reason this node exists in a detail-focused pack.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| high_passopt | IMAGE | — | |
| originalopt | IMAGE | — | |
| low_passopt | IMAGE | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| high_pass | IMAGE | — |
| original | IMAGE | — |
| low_pass | IMAGE | — |