◎ Radiance LUT Blend
Radiance LUT Blend — stop choosing between looks, blend two of them
- image
- image
Once you have a couple of LUTs you like, the problem stops being "which one" and starts being "how do I get 40% of this film emulation and 60% of that teal-and-orange grade without Photoshop." That's Radiance LUT Blend. It takes two .cube LUTs, applies both, and blends their results - in four different ways - with a single blend_factor slider. It's the node you reach for when a look is almost right but needs a nudge from a second look.
The mechanism is the same engine as the pack's ◎ Radiance LUT Apply - same trilinear/tetrahedral interpolation, same log handling - but instead of one transform it resolves two and mixes the outputs. The blend is where the interesting choices live.
How it works
blend_factor runs 0.0 to 1.0: 0.0 is LUT A only, 1.0 is LUT B only, 0.5 is a perfect half. Then blend_mode decides what "half" means:
- Linear - mix the two output pixel values directly. Simple, predictable, the default.
- Luminosity - keep A's luminance structure but take B's color. This is the "B's grade, A's exposure" mode, and it's the one that keeps a moody LUT from brightening your frame.
- Saturation - combine the saturation contributions while keeping the rest. Good for taking a look's punch without its cast.
- Hue - keep A's hues and B's everything-else-ish. The mode you reach for when one LUT's colors are what you want but its contrast is wrong.
The optional strength then applies on top as a final master: at 1.0 the blended result comes through at full strength, at 0.5 it's half-applied to the original image. So you get two independent faders - the A/B mix and the overall amount - which is exactly the two-knob setup you want when dialing a look.
The inputs that matter
image,lut_a,lut_b- the inputs and the two LUTs, picked from the dropdown (samemodels/lutsfolder as LUT Apply).blend_factor- the A/B mix. Start at 0.5 and move.blend_mode- Linear / Luminosity / Saturation / Hue. The tooltip's framing is the right mental model: 0.0 = A only, 1.0 = B only.strength- master amount of the blend.log_space,log_encoding,interpolation,clamp_output- shared with LUT Apply. Log handling for log-space LUTs, trilinear/tetrahedral for accuracy, clamp off for HDR.
Output: the blended image.
Why you'd bother
Because a single LUT is a statement, and most finished grades are a negotiation between looks. The common workflow: a film emulation as the base (LUT A), a creative grade you made or downloaded (LUT B), blended at 0.2–0.4 so the creative look reads as a flavor instead of a costume. The Luminosity mode is the quiet MVP here - "B's colors at A's brightness" solves the classic problem where your favorite look makes everything two stops darker.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/fxtdstudios/radiance.git
cd radiance
pip install -r requirements.txt # or requirements_windows.txt / requirements_linux.txt / requirements_mac_silicon.txt
Or search Radiance in ComfyUI Manager, restart. Linux needs libopenexr-dev first.
Gotchas
Same family as LUT Apply: LUTs come from models/luts, so if the dropdowns say "No LUTs found" you haven't put files there yet. Log-space LUTs need log_space on or they'll look broken. And one blend-specific trap - blend_mode is not "which LUT is stronger," it's how they mix, so don't go looking for a volume knob in it. The volume knob is strength and the mix knob is blend_factor; the mode is the character. Learn that separation and you'll dial a look in half the time.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| lut_a | COMBO | 1 options: No LUTs found | |
| lut_b | COMBO | 1 options: No LUTs found | |
| blend_factor | FLOAT | 0.500–1 | 0.0 = LUT A only, 1.0 = LUT B only |
| blend_mode | COMBO | Linear | 4 options: Linear, Luminosity, Saturation, Hue |
| strengthopt | FLOAT | 1.000–1 | — |
| clamp_outputopt | BOOLEAN | false | Clamp to 0-1. Disable for HDR. |
| log_spaceopt | BOOLEAN | false | Decode log-encoded input before applying LUTs. |
| log_encodingopt | COMBO | Log10 | 3 options: Log10, Log2, Natural Log (Ln) |
| interpolationopt | COMBO | Trilinear | 2 options: Trilinear, Tetrahedral |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |