Nodes/ComfyUI ACES EXR Toolkit/EXR Metadata Reader
ComfyUI Node

EXR Metadata Reader

The 10-second 'what's in this file' node

By azhagurajpandians·Created 4 months ago·Updated about a month ago· 0
EXR Metadata Reader
    • metadata_json
    • width
    • height
    • channels
    • compression
    exr_path

    Every EXR carries a header: resolution, compression, the full list of channels, and whatever attributes the writer bothered to include. EXR Metadata Reader dumps all of that into outputs you can look at, and it's the node you reach for when you've been handed a mystery EXR and need to know what's actually inside before you wire it into anything.

    It's a thin utility - the "inspect the file" step, not the "use the file" step. But thin doesn't mean useless. The killer scenario: someone sends you a multi-layer EXR and you don't know its layer names. Guess and you get the beauty-fallback dance; ask this node first and you have the answer. Run it once, read channels, then feed the real names into Load EXR Layer.

    How it works

    Give it exr_path (absolute path, or a name relative to ComfyUI/input) and it reads the header with the OpenEXR module and hands back five outputs:

    • metadata_json - the header attributes as a JSON string, minus the noisy channels/dataWindow entries it already surfaces separately. Wire this into a text-display node to read it.
    • width, height - the resolution, as plain integers
    • channels - every channel in the file, comma-separated. This is the useful one: R, G, B, A for a flat file, or beauty.R, beauty.G, depth.Z, normal.X, ... for a multi-layer render
    • compression - the codec string (ZIP, PIZ, DWAA, etc.)

    If the OpenEXR package isn't installed, it degrades to reading via OpenCV and returns what it can with backend: opencv noted in the JSON. Install openexr for the full picture.

    The one input

    • exr_path - the file to inspect. That's it. No modes, no toggles.

    Install

    Part of the ACES EXR Toolkit:

    cd ComfyUI/custom_nodes
    git clone https://github.com/azhagurajpandians/ComfyUI-ACES-EXR-Toolkit.git
    python -m pip install -r ComfyUI-ACES-EXR-Toolkit/requirements.txt
    

    Restart ComfyUI; it's under image/ACES + EXR.

    Gotchas

    The only real gotcha is expectations: this reads the header, so it tells you what channels exist and what compression was used - not what the pixels look like. If you need to see the image, use Load EXR From Path; if you need one layer out, use Load EXR Layer. And if compression reads back as Unknown and metadata_json says opencv, the openexr dependency is missing and you're only getting half the story. That's your cue to install it, not a file problem.

    Categoryimage/ACES + EXR

    Inputs (1)

    NameTypeDefaultDescription
    exr_pathSTRING

    Outputs (5)

    NameTypeDescription
    metadata_jsonSTRING
    widthINT
    heightINT
    channelsSTRING
    compressionSTRING