Nodes/ComfyUI-RenderRiftNodes/RR_LoadImageWithMeta (Depreciated)
ComfyUI Node

RR_LoadImageWithMeta (Depreciated)

LoadImage that also hands you the embedded workflow — 'Depreciated' and unrepentant

By RenderRift·Created 3 years ago·Updated 2 years ago· 8
RR_LoadImageWithMeta (Depreciated)
    • IMAGE
    • MASK
    • METADATA
    image

    Core ComfyUI's LoadImage gives you an image and a mask, but it quietly swallows the best part: the workflow metadata embedded in the file. RR_LoadImageWithMeta is a LoadImage clone that doesn't. Pick a PNG, and alongside the IMAGE and MASK outputs you get a METADATA output containing the image's info dict - which is where the full workflow JSON lives.

    That's the whole pitch, and it's the node you'd reach for when you want to take a still image, load it, and immediately route its settings into RR_Image_Metadata_Overlay without a second hop. The display name even says "(Depreciated)" - author's spelling, not mine - which is your first hint about how maintained this is.

    How it works

    Under the hood it's core LoadImage's logic almost line for line: it lists files from your ComfyUI input directory, opens the one you pick, runs exif_transpose, converts to RGB, normalizes to a tensor, and derives a mask from the alpha channel if the image has one. Then it does the one thing LoadImage doesn't: it returns i.info - the PNG info dict - as METADATA. For a ComfyUI-generated PNG, that dict contains the prompt key with the full workflow JSON.

    So the wiring is simple: IMAGE and MASK go wherever they normally would, and METADATA goes into the overlay node or RR_DisplayMetaOptions.

    Inputs and outputs

    One required input: image, a picker over your input/ folder with upload support, same as core. Three outputs:

    • IMAGE - the loaded image tensor
    • MASK - alpha-derived mask (a blank 64×64 mask if the image has no alpha)
    • METADATA - the file's info dict, i.e. the embedded workflow

    Nothing fancy to configure. If your image has no embedded metadata, the METADATA output is just an empty dict - the image still loads fine.

    Install

    Same as the rest of the pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/RenderRift/ComfyUI-RenderRiftNodes
    

    or ComfyUI Manager → search "RenderRift" → install → restart. Dependencies are Pillow and tinytag; no models to fetch.

    Troubleshooting

    • Metadata comes out empty - the PNG simply doesn't carry it (some viewers and editors strip it, and not every tool writes it). The image still loads, so this is informational, not fatal.
    • Random errors that mention hashlib - the node's change-detection hook calls hashlib.sha256() but hashlib is never imported in this file. ComfyUI treats that as "assume it changed," which usually just means the node always re-runs. It's a wart, not a wall.

    The verdict

    This node is deprecated in name, unmaintained in fact (last commit December 2023), and still convenient. If you're already in the RenderRift metadata pipeline, it's the natural way to load a still. If you just need a plain image, use core LoadImage and don't invite the extra moving parts. One nice touch: since METADATA is just the info dict, you're not locked in - RR_DisplayMetaOptions will happily read whatever it hands you.

    CategoryRenderRiftNodes

    Inputs (1)

    NameTypeDefaultDescription
    imageCOMBO1 options: example.png

    Outputs (3)

    NameTypeDescription
    IMAGEIMAGE
    MASKMASK
    METADATAMETADATA