Nodes/Nuke Nodes for ComfyUI/Nuke OCIO Display
ComfyUI Node

Nuke OCIO Display

Turn scene-referred renders into images that look right on your screen

By sumitchatterjee13·Created about a year ago·Updated 22 days ago· 60
Nuke OCIO Display
  • image
  • IMAGE
displaysRGB - Display
viewACES 2.0 - SDR 100 nits (Rec.709)
input_colorspaceACEScg
invertforward

Here's the moment color science stops being optional: you render something in a linear or wide-gamut color space, and when you look at it, it's dark, desaturated, and flat. The image isn't wrong - it's scene-referred, meaning it's storing the raw light values of the scene, and raw scene values never look like what a screen should show. NukeOCIODisplay is the node that fixes it: it applies a display transform, converting from a working color space like ACEScg into something your monitor can actually represent, the way Nuke's Viewer does on every frame.

If you've been fighting dark, muddy renders and reach for a "brightness" slider, this is the node you were supposed to meet first. The whole ACES pipeline - working in ACEScg, transforming to display at the end - is designed around exactly this step.

How it works

It's the display/view transform half of the OCIO equation. The other node in the pack, NukeOCIOColorSpace, converts between arbitrary color spaces. This one takes a scene-referred image in a chosen input_colorspace, then runs it through a display and a view - the combination that determines the tone mapping and color rendering for a specific screen target. Pick "sRGB - Display" with the SDR video view and you get the standard result: a properly bright, saturated image that looks right on a normal monitor.

The pack hardcodes the ACES 2.0 Studio Config, so there are 9 displays and 4 views available, and config is locked to that single option - you don't manage any config files.

The inputs that matter

  • image - your scene-referred input.
  • config - locked to "ACES 2.0 Studio Config"; nothing to do here.
  • display - the target display: sRGB, Display P3, Rec.1886 Rec.709, Rec.2100-PQ, and HDR variants. For most people, sRGB - Display is the answer.
  • view - how to tone-map into that display: "ACES 2.0 - SDR 100 nits (Rec.709)" is the standard SDR look; Raw skips tone mapping; the others are variants.
  • input_colorspace - where your image is currently living, e.g. ACEScg (the default and the common working space).
  • invert - forward or inverse; inverse lets you go from a display image back to scene-referred, which is how you'd re-create an IDT step.

Output is a single IMAGE, now display-referred and ready to save or composite against other display-referred content.

Installing it

It ships in the Nuke Nodes pack:

cd ComfyUI/custom_nodes
git clone https://github.com/sumitchatterjee13/nuke-nodes-comfyui.git nuke-nodes
cd nuke-nodes
pip install -r requirements.txt

Or search "Nuke Nodes" in ComfyUI Manager and restart. It's under the Nuke category. The important dependency is opencolorio (2.2+, included in requirements.txt) - without it this node errors out, and that's the first thing to check if it does.

Common issues

  • "OpenColorIO not installed" error - run pip install opencolorio and restart ComfyUI. This is the #1 failure with the OCIO nodes.
  • Result still looks dark - you're probably feeding it linear data but the input_colorspace says something else (or vice versa). Be honest about what your upstream node is actually outputting.
  • Colors look different from Nuke - expected; this is the pack's hardcoded ACES 2.0 config, and unless your Nuke session uses the same config, the tone mapping won't be identical.

If your workflow produces dark, weird-looking renders, this node is the missing final step - scene-referred in, screen-ready out.

CategoryNuke/Color

Inputs (5)

NameTypeDefaultDescription
imageIMAGE
displayCOMBOsRGB - DisplayTarget display. Lists come from the active OCIO config ($OCIO or built-in ACES); changing $OCIO needs a ComfyUI restart.
viewCOMBOACES 2.0 - SDR 100 nits (Rec.709)View transform (must belong to the chosen display). Lists come from the active OCIO config ($OCIO or built-in ACES); changing $OCIO needs a ComfyUI restart.
input_colorspaceCOMBOACEScgColourspace of the input image. Lists come from the active OCIO config ($OCIO or built-in ACES); changing $OCIO needs a ComfyUI restart.
invertCOMBOforward2 options: forward, inverse

Outputs (1)

NameTypeDescription
IMAGEIMAGE