HDR Effects with LAB Adjusts
Punchy HDR look without re-rolling the generation
- image
- result_img
That washed-out, flat look you sometimes get straight out of the VAE decoder isn't a prompt problem - it's a tone problem, and the fix is deterministic, millisecond-cheap post-processing, not another diffusion pass. HDR Effects with LAB Adjusts takes any image batch and pushes it toward a punchy, high-contrast look: lifted shadows, controlled highlights, and a color grade that can go from subtle to aggressively stylized.
The name tells you the mechanism. LAB is a color space that separates lightness (L) from color (A = green–red axis, B = blue–yellow axis). Tone mapping in LAB lets the node compress and reshape dynamic range without dragging color shifts along for the ride - you can make shadows moodier without turning everything teal, then adjust the A/B axes separately to control the actual cast. This is the HDR pipeline from ComfyUI-SuperBeasts with extra color controls bolted on, which the README credits honestly.
How it works
Per image: convert RGB → LAB, apply a shadow tone-mapping curve and a highlight tone-mapping curve on the L channel, optionally a gamma curve, blend in A/B channel adjustments weighted by midtones, convert back to RGB, then finish with a contrast boost and a color/saturation enhancement. Pure PIL/numpy math - no model, no VRAM, runs on any IMAGE socket, including batches.
The inputs that matter
Ten inputs, but you'll live on about four:
- hdr_intensity (default 0.75, 0–5) - the master control for the whole shadow/highlight effect. Turn this down to 0 for a no-op.
- shadow_intensity (0.75) and highlight_intensity (0.25) - the two halves of the tone curve. Heavy shadow + light highlight is the classic "HDR" recipe; flip the balance for a different mood.
- gamma_intensity (-1 to 1) - a gamma curve after tone mapping. The exposure-shift knob; it moves mids without clipping whites.
- a_adjustment (green–red, default 0.03) and b_adjustment (blue–yellow, default -0.05) - the color-cast controls, blended in by ab_strength (default 0.1). Nudge these to fix a sickly green or add warmth.
- contrast and enhance_color - final polish, both subtle by default.
Output is a single result_img of the same resolution, ready for a Save Image or Preview node. Since it's an IMAGE-in/IMAGE-out node, you can drop it after VAE decode, after an upscaler, or anywhere mid-graph.
Install
Search Easygoing in the ComfyUI Manager, or clone it:
cd ComfyUI/custom_nodes
git clone https://github.com/easygoing0114/ComfyUI-easygoing-nodes.git
Restart ComfyUI. No extra dependencies to pip-install; it needs a current ComfyUI with the V3 node API for the pack to register at all.
Where it sits in the workflow
The right place is usually after your upscale or at the end of the chain, right before save. Because it's deterministic, you can render once and iterate on the sliders to your heart's content - no seed lottery, no rerunning the sampler. The one judgment call is taste: this is a stylizing node, and it will happily push a good image toward oversaturated territory if you max the sliders. The defaults are sane; the "before/after" images in the pack README show what a moderate setting does. If your image needs more dynamic range captured at generation time rather than a grade after the fact, no post node fixes that - but for the final look, this is the one you'll reach for.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | Image batch to process. | |
| hdr_intensity | FLOAT | 0.750–5 | Overall strength of the HDR shadow/highlight effect. |
| shadow_intensity | FLOAT | 0.750–1 | Strength of the shadow tone-mapping curve. |
| highlight_intensity | FLOAT | 0.250–1 | Strength of the highlight tone-mapping curve. |
| gamma_intensity | FLOAT | 0.00-1–1 | Gamma correction applied after tone-mapping. |
| ab_strength | FLOAT | 0.100–1 | Blend strength between original and adjusted A/B chroma channels. |
| a_adjustment | FLOAT | 0.03-1–1 | Midtone-weighted adjustment of the LAB A channel (green-red). |
| b_adjustment | FLOAT | -0.05-1–1 | Midtone-weighted adjustment of the LAB B channel (blue-yellow). |
| contrast | FLOAT | 0.000–1 | Final contrast boost applied after LAB adjustments. |
| enhance_color | FLOAT | 0.030–1 | Final color/saturation boost applied after LAB adjustments. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| result_img | IMAGE | — |