Image Shadows and Highlights
Lift shadows, tame highlights in ComfyUI
If you've ever opened a render in Lightroom or Photoshop and pulled the Shadows slider up to rescue detail in the dark areas without blowing out the bright ones, you already know what this node is for. Image Shadows and Highlights does that tonal adjustment inside your ComfyUI graph - brighten the shadows, pull back the highlights, all without touching the midtones the way a flat brightness change would.
This is one of the many post-processing utilities that make WAS Node Suite worth keeping around: the little photographic finishing moves that core ComfyUI just doesn't ship. Generated images often come out with crushed shadows or clipped highlights, and this is the targeted fix.
How it works
A plain brightness control shifts every pixel by the same amount - lift the shadows and you wash out the whole image. This node is smarter: it works on tonal ranges. It identifies the darker pixels and the brighter pixels separately and lets you push each independently, with a smooth falloff so the correction blends into the midtones instead of leaving a hard edge. That's the difference between "recovering shadow detail" and "making the picture gray."
You give it an image, set how much to lift the shadows and how much to rein in the highlights (usually with a radius/softness control governing how gently the effect blends), and it hands back the adjusted image.
The inputs and outputs that matter
The core input is your image, and the two adjustments that matter are the shadow amount and the highlight amount - how hard to push each end of the tonal range. There's typically a radius/softness control too, which decides how smoothly the correction feathers into the midtones; leave it near default unless you see banding. The main output is the corrected image to wire into your save or next filter.
Start gentle. Small moves on shadows and highlights read as "nicely finished"; big moves read as "obviously processed."
How to install it
Bundled in WAS Node Suite. Install the pack once through ComfyUI Manager - search WAS Node Suite, install, restart - or clone it:
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/was-node-suite-comfyui
pip install -r was-node-suite-comfyui/requirements.txt
then restart. On the Windows portable build, run the pip step with python_embeded\python.exe -s -m pip install -r ... (or use install.bat) so dependencies land in ComfyUI's own Python.
Common issues & troubleshooting
Lifted shadows look gray and muddy. You pushed too far. Rescuing shadow detail and flattening contrast are the same slider in different amounts - back it off until the darks still read as dark, just with detail. If the image genuinely has no information in the shadows (crushed to pure black), no amount of lifting invents it; you'll only amplify compression noise.
Halos around high-contrast edges. Range-based tonal tools can leave a faint glow where a bright area meets a dark one - that's the radius/softness control at work. If you see a halo, adjust the radius rather than the amounts.
Banding in smooth gradients. Skies and soft backgrounds can show stair-stepping after a strong adjustment, especially at 8-bit. Ease the correction, or do heavier tonal work before upscaling so there are more pixels to hide the transition in.
The suite won't import. WAS Node Suite is a big, unmaintained-since-late-2023 pack, and its trademark failure is an "Import Failed" after a ComfyUI update - a dependency version clash, opencv the usual offender (and worse if you also run ReActor/insightface). Reinstall the requirements against your ComfyUI Python and restart; the node works, it's the suite install that occasionally breaks.
Inputs (0)
No inputs
Outputs (0)
No outputs