LayerFilter: HDR Effects
HDR Effects — local-contrast punch without the crunchy halos (if you're careful)
- image
- image
This is the "make it pop" node. It pushes local contrast and dynamic range so shadows open up, highlights hold detail, and the midtones get that punchy, dimensional look people associate with HDR photography. Used with restraint it adds depth and clarity to a flat render. Used heavy-handed it gives you the crunchy, over-processed halo look from the bad old days of HDR - so this one lives and dies on a light touch.
Reach for it when a render feels lifeless and you want more presence than a plain contrast bump gives you. It's doing tone mapping, not just stretching levels, so it can pull structure out of muddy areas that a global adjustment can't. Just know where the line is.
How it works
HDR tone-mapping adjusts contrast locally - different regions get different treatment based on their neighborhood, which is how it opens shadows and recovers highlights at the same time without flattening the whole image. The controls split that into shadow lift, highlight recovery, gamma, overall contrast, and a color-enhance pass. Overcooking the intensity is exactly what produces the tell-tale bright halos around high-contrast edges.
The inputs and outputs that matter
hdr_intensity(0–5, default 0.5) - the master strength. Everything else scales off this, and it's the one that ruins the image if you push it. Small moves.shadow_intensity(default 0.25) - how much the darks lift.highlight_intensity(default 0.75) - how much the brights pull back.gamma_intensity(default 0.25) - midtone brightness balance.contrast(default 0.1) andenhance_color(default 0.25) - final punch and saturation lift.
Input is one image, output is one processed image.
How to install it
Comes with the LayerStyle pack. ComfyUI Manager → search LayerStyle → install → restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/chflame163/ComfyUI_LayerStyle
pip install -r ComfyUI_LayerStyle/requirements.txt
then restart. Under 😺dzNodes → LayerFilter. No model download.
Common issues & troubleshooting
Ugly bright halos around edges. Classic HDR overcook. Pull hdr_intensity down first - it's the main offender - then ease shadow_intensity and highlight_intensity. The effect should be felt, not seen.
Colors go radioactive. enhance_color on top of the contrast boost compounds saturation fast. Drop it, or follow with a small saturation reduction.
Image looks flat instead of punchy. You've got the shadow and highlight intensities cancelling into mush. Try raising contrast a touch and keeping the shadow/highlight moves moderate rather than maxing both.
Node isn't in the menu. The LayerStyle pack failed to import - the usual cause is a broken transformers dependency (frequently a stray TensorFlow) crashing the whole pack on load. Check the console traceback, use "Try Fix" in Manager, or repair the offending library.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| hdr_intensity | FLOAT | 0.500–5 | — |
| shadow_intensity | FLOAT | 0.250–1 | — |
| highlight_intensity | FLOAT | 0.750–1 | — |
| gamma_intensity | FLOAT | 0.250–1 | — |
| contrast | FLOAT | 0.100–1 | — |
| enhance_color | FLOAT | 0.250–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |