HDR Effects (SuperBeasts.AI)
Real local contrast on a fake-HDR budget — no diffusion model required
- image
- result_img
HDR Effects is the "instant contrast and pop" node in the SuperBeasts pack, and it's the sleeper hit of the bundle - no model download, no GPU inference, just fast image math that makes flat renders look punchier. If you've ever rendered something and thought "the colors are fine but it looks washed out," this is the thing that fixes the washed-out part.
It's a classic fake-HDR tone mapping: it separates the image into luminance and color, pushes shadows down and highlights up with separate dials, then blends the adjusted luminance back with the original so you get local contrast without the image falling apart. This is the same family of trick every "HDR filter" has used for a decade, done with enough controls that it's actually usable.
How it works
The heavy lifting happens in the LAB color space, which is the standard trick for touching brightness without dragging color along: you adjust the L channel and leave A/B alone, then recombine. The node builds luminance-based masks so shadow and highlight adjustments only bite where they should, applies gamma for overall brightness/contrast, then a final contrast and saturation pass. The current version (1.3.2) does all of this with pure NumPy - an earlier build used Pillow's LittleCMS ImageCms for the LAB conversion and could hard-segfault on large frames. That's fixed, and the batch path now writes each frame into a preallocated tensor instead of piling up full-frame intermediates, so peak memory on a 3800×5568 batch is much saner than it used to be.
The inputs that matter
All six are floats, defaults are sane, and you really only need to master two of them:
- hdr_intensity (default 0.5, range 0–5) - the master dial. This is the strength of the whole effect. Start at 0.3–0.5; it's extremely easy to overcook into that crunchy "too much HDR" look.
- shadow_intensity (default 0.25) and highlight_intensity (default 0.75) - how hard the darks sink and the lights lift. These do the actual local contrast.
Then you have gamma_intensity (default 0), contrast (default 0.1), and enhance_color (default 0.25) for the finishing touches. Output is a single result_img - an IMAGE batch, so it accepts and returns whole batches, which is what makes it useful on video frames.
Where it fits
The SuperBeasts docs literally suggest an "HDR sandwich": run Super Pop Color Adjustment first for the color grade, then feed the result through HDR Effects with gentle settings to amplify micro-contrast. That pairing is the actual reason this node exists in the same pack. On its own it's also a decent final step on any render that came out of the sampler looking dull.
Install
Same pack, same steps:
cd ComfyUI/custom_nodes
git clone https://github.com/SuperBeastsAI/ComfyUI-SuperBeasts
Restart ComfyUI, and it'll show up under the SuperBeastsAI/Image category. Or install via ComfyUI Manager by searching "SuperBeasts" - it's published to the Comfy Registry, so Manager finds it. No extra dependencies; the only real runtime requirement is torch, Pillow and NumPy, which ComfyUI already ships.
Common issues
The one worth knowing about is historical: if you're on a version older than 1.3.2 (mid-2026) and you're processing very large frames, you can hit a hard crash - the old LittleCMS LAB path segfaulted rather than throwing a Python error, which is extra confusing because ComfyUI just dies mid-run. Update the pack and it goes away. If the result looks oversaturated or crunchy, back hdr_intensity off before touching anything else; this node's failure mode is "too much," not "nothing happened."
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.000–1 | — |
| contrast | FLOAT | 0.100–1 | — |
| enhance_color | FLOAT | 0.250–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| result_img | IMAGE | — |