OCIO Config Info
'what color spaces does my config even have?' — asked and answered
- config_info
The moment you install an ACES config or any unfamiliar .ocio file, the first question is always the same: what's actually in here, and what are the color spaces called? OCIOConfigInfo answers that. One input, one output, no image involved - it loads an OCIO configuration and dumps a readable summary of its color spaces (with their families), displays, and viewing transforms to a JSON string you can read in a Show Text node.
How it works
If you give it an ocio_config_path, it loads that file with Config.CreateFromFile; if you leave the field empty, it uses OCIO's current config - which, when the pack is installed and PyOpenColorIO is present, means the config the pack loads at startup. Then it walks the config object: color spaces and their families, available displays, and viewing transforms, serialized into config_info.
That's the whole job, and it's worth doing it before you touch OCIOColorSpaceConverter. Its source and target fields are free-typed strings, not dropdowns, so you need the exact names - and this node is the reliable way to get them. A space called "ACEScg" has a precise spelling, and one wrong character gets you a validation error. This node removes the guesswork.
The one input and one output
- ocio_config_path (STRING) - the path to your
.ocio. Leave empty for the current/default config. - config_info (STRING) - the summary. Wire it into a Show Text node and you get the inventory of your config in seconds.
Install
Nothing special - it's part of the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/APZmedia/ComfyUI-color-tools
Or via ComfyUI Manager, searching "ComfyUI Color Profile Reader," then restart. The README's manual clone command has a placeholder URL (yourusername/...) - use APZmedia/ComfyUI-color-tools. Like every OCIO node in the pack, it needs PyOpenColorIO; if that's missing, the node won't even show up in the node list (check the startup log for "OCIO nodes unavailable"). And the pack's startup install.py will try to pip-install it for you, along with the other optional deps - first launch after install can take a couple minutes.
Troubleshooting
The failure modes here are boring and easy to read: if the path doesn't exist or isn't a valid OCIO config, you get a config_info string that literally says "Failed to load config: ..." with the underlying error. If PyOpenColorIO isn't installed, it returns "PyOpenColorIO not available." Both are one-liners you can read directly in the output - the node prefers telling you what's wrong over crashing the graph. That's good behavior for a diagnostic node. The only real annoyance: because it's a pure string output with no image, it's easy to forget it's there. Don't - it's the cheapest way to stay oriented in a color-managed workflow.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| ocio_config_path | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| config_info | STRING | — |