ComfyUI Node

Nuke Read Info

Read the receipt on that EXR before you build around it

By sumitchatterjee13·Created about a year ago·Updated 9 days ago· 59
Nuke Read Info
    • STRING
    file_path

    Before you build a workflow around a file, you want to know what's in it - and ComfyUI's default image loader will cheerfully open an EXR and tell you nothing. NukeReadInfo is the "file inspection" node of the Nuke Nodes pack: give it a path, and it prints a report covering resolution, channels (with actual names if OpenImageIO is available), bit depth, compression, colorspace metadata, file size, and - if the path is a sequence - the frame range and any missing frames. It's the node you run once, read, delete, and thank later.

    Where you feel its absence is the moment someone hands you a mysterious EXR. A beauty pass with 12 channels? NukeReadInfo tells you what they're called. A DPX that won't load right? It tells you the bit depth and compression before you start fighting it. A sequence with a hole in the middle? It'll list the missing frames so your Read node doesn't silently serve you black frames downstream.

    How it works

    Point it at a file or a sequence pattern and it inspects. It detects sequences (including %04d / #### patterns and auto-detection from a single frame like image.0001.exr), reports the frame range and padding, and flags gaps. For the file itself it opens the first frame and reads the metadata. It also ends the report with which I/O libraries are actually installed in your environment - OpenImageIO, OpenCV, PIL - and the format lists each supports. That's the detail that saves you the "why can't I read this" archaeology later.

    The metadata depth depends on your libraries: with OpenImageIO you get real channel names, bit depth, and compression (via the EXR's compression attribute); with OpenCV you get resolution, channel count, and dtype. That's the priority order, matching the pack's reader.

    Inputs and output

    • file_path - path to the image or sequence. That's the entire input.
    • Output: a single STRING report. It's an output node, so the text renders on the node; you can also wire it into a text viewer or script.

    Installing it

    NukeReadInfo is one node in the Nuke Nodes pack. Manager: search "Nuke Nodes" and install, or:

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

    Restart and look under Add Node → Nuke → IO. No model files. The full channel-name and compression detail wants OpenImageIO, which requirements.txt installs - without it, the report degrades gracefully to OpenCV/PIL info.

    Gotchas

    • It reports what its I/O library reports. No OIIO, no channel names - "channels: 4" instead of "R,G,B,A". If you're inspecting multipass EXRs and see a bare channel count, install OpenImageIO.
    • The sequence info only shows for detected sequences. A single file path reports as a single file; pass it the pattern (image.%04d.exr) or a padded frame name and it'll expand the range.
    • It's an inspection node, not a loader. No IMAGE output - if you want to also see the picture, pair it with NukeRead.
    • Like the rest of this pack, there's no community lore to lean on - a 0-impression node in a young pack. When in doubt, read io_nodes.py; it's well-commented.
    CategoryNuke/IO

    Inputs (1)

    NameTypeDefaultDescription
    file_pathSTRING

    Outputs (1)

    NameTypeDescription
    STRINGSTRING