Nodes/ComfyUI-NL_Nodes/🎨 NL Workflow Color Context
ComfyUI Node

🎨 NL Workflow Color Context

Let the studio's color setup drive your graph

By NOLABEL-VFXΒ·Created 9 months agoΒ·Updated 2 months agoΒ· 0
🎨 NL Workflow Color Context
    • ocio_config_path
    • working_space
    • display
    • view
    • input_policy
    • status_json

    Most custom nodes pass images and latents around. This one passes context. NL Workflow Color Context is a read-only node that exposes the color configuration from the pack's top-bar NL Workflow panel to the rest of your graph - no inputs, and six STRING outputs that describe how the current shot is being interpreted color-wise.

    The whole point of the NOLABEL/Workflow family is to stop re-typing the same values into a dozen nodes. You set project, shot, resolution, fps, frame range, and project path once in the NL Workflow modal - it's workflow-level UI state, stored as ComfyUI/user/default/nl_workflow.json, not a node on your canvas - and then helper nodes read it back. Color Context is the color member of that family.

    The outputs

    Everything comes out as strings, ready to wire into color-aware nodes or a debug text display:

    • ocio_config_path - where the active OCIO config lives
    • working_space - the rendering/working space, typically ACEScg in this pipeline
    • display and view - the display device and the View transform (your "Output - Rec.709" and friends)
    • input_policy - how incoming images are interpreted
    • status_json - a full JSON dump of the resolved status, which is your debugging best friend

    There are no inputs, so it's purely a metadata source. You can't change the color setup from here - you change it in the NL Workflow panel (or the config behind it), and this node reflects what's resolved.

    Why you'd actually use it

    Two reasons. First, in a studio setup where one OCIO config governs everything, this is how your graph stays honest: NL Read and NL Preview can align to the same view and working_space that the panel declares, instead of each node guessing. Second, it's a cheap way to make the invisible visible - wire status_json (or a formatted bundle of the other outputs) into a text node and you get a live "what am I rendering in?" readout that catches the classic mistake of previewing a linear tensor as if it were sRGB. That's the failure mode that makes everyone's colors suddenly look flat halfway through a project.

    Install

    It ships in ComfyUI-NL_Nodes. Manager β†’ search "ComfyUI-NL_Nodes", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/NOLABEL-VFX/ComfyUI-NL_Nodes
    # restart ComfyUI
    

    It also leans on the optional color stack for meaningful values:

    cd ComfyUI/custom_nodes/ComfyUI-NL_Nodes
    pip install -r requirements-color.txt   # PyOpenColorIO + OpenEXR
    

    Gotchas

    The outputs are only as good as what's in the panel. If you never configured an OCIO config or working space in NL Workflow, you'll get empty or default strings and wonder why the node does nothing - it's a mirror, not a magician. And because it reads cached workflow state, it reflects what was resolved at load/save time; it isn't recomputed mid-run. Treat it as read-only shot metadata, which is exactly what it is.

    CategoryNOLABEL/Workflow

    Inputs (0)

    No inputs

    Outputs (6)

    NameTypeDescription
    ocio_config_pathSTRINGβ€”
    working_spaceSTRINGβ€”
    displaySTRINGβ€”
    viewSTRINGβ€”
    input_policySTRINGβ€”
    status_jsonSTRINGβ€”