◎ Radiance Workflow Presets
Workflow presets that wire your color pipeline in one dropdown
- decode
- working_space
- encode
Proper color work doesn't happen in one node. It's a chain: decode the input's color space, do your grading in a known working space, then encode to a delivery space. Get any link wrong and your "correct" grade ships looking wrong. ◎ Radiance Workflow Presets (class RadianceSceneLinearWorkflow) exists to make that chain a single decision: pick a preset, and it hands you the three strings - decode, working_space, encode - that define the pipeline.
Think of it as the pack's color preflight. It doesn't process pixels itself; it returns configuration that you wire into Radiance's color nodes (the decode/encode curve nodes, the OCIO transforms, the working-space management). It's the difference between remembering "ACEScg in, ACES out, don't forget the log curve" every session and having the whole arrangement in one dropdown.
How it works
The node is a lookup table with five presets, each returning a (decode, working_space, encode) triple:
ACES 1.3 (ACEScg)(default) - linear in, ACEScg working, ACES 1.0 SDR (sRGB) out. The modern VFX default.ACES 2.0 (ACEScg)- same spine, ACES 2.0 output transform. For the 2024-era ACES 2.0 path.Film Look (LogC3)- decode ARRI LogC3, work in ACEScg, encode back to LogC3. For footage that lives in the log domain.Broadcast (Rec.709)- Rec.709/sRGB in, linear sRGB working, Rec.709 out. The safe SDR broadcast chain.HDR (Rec.2020 PQ)- linear in, Rec.2020 working, Rec.2020 PQ (HDR10) out. For actual HDR delivery.
The source code is just a PRESETS dict and a get_preset function - this is one of the rare Radiance nodes with no math in it. Its value is entirely in not having to remember these chains.
The inputs that matter
One input: preset, the five-way dropdown above. Three outputs, all strings, named exactly what they mean: decode, working_space, and encode - wire them into the corresponding slots of the pack's color nodes (log curve decode/encode, OCIO transform inputs, etc.). Since they're plain strings, you can also route them through Radiance Show Text to eyeball what a preset resolves to, or log them into your project metadata.
How to install it
Part of the radiance pack. ComfyUI Manager → "Radiance", or:
cd ComfyUI/custom_nodes
git clone https://github.com/fxtdstudios/radiance.git
cd radiance
pip install -r requirements_windows.txt
Restart, and it's under FXTD Studios/Radiance/Color.
Common issues
The main trap is assuming this node does the color transform - it doesn't, and there's no hidden magic. If you pick "HDR (Rec.2020 PQ)" and wire the strings nowhere, nothing happens; the value only exists once the strings are consumed by the actual color nodes downstream. Second: the preset names describe the chain, not the content of your image - "Film Look (LogC3)" assumes your input is actually LogC3-encoded. Feed it sRGB material under that preset and you'll get a double-decode, the same class of mistake the pack's own docs warn about elsewhere. And because it returns literal strings, if the downstream node changes its accepted values in a future version, an old preset string can mismatch - keep the pack updated.
It's a small node with a big job: it makes the "which color pipeline am I in" question a one-click answer instead of a three-node memory exercise.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| preset | COMBO | ACES 1.3 (ACEScg) | 5 options: ACES 1.3 (ACEScg), ACES 2.0 (ACEScg), Film Look (LogC3), Broadcast (Rec.709), HDR (Rec.2020 PQ) |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| decode | STRING | — |
| working_space | STRING | — |
| encode | STRING | — |