Nodes/Bubba Nodes/Bubba Load Image (With Metadata)
ComfyUI Node

Bubba Load Image (With Metadata)

Load a PNG back into a full pipe, metadata included

By bubbafett5611·Created 5 months ago·Updated 2 months ago· 0
Bubba Load Image (With Metadata)
    • pipe
    • image
    • mask
    • metadata
    • metadata_text
    image

    In this ecosystem, a PNG isn't a dead file - it's a project file. Bubba Save Image embeds the whole generation record into the PNG's text chunks under bubba_metadata, and Bubba Load Image (With Metadata) is the other half of that contract: it reads the image back, decodes the embedded metadata, and reconstructs a working pipe from it. Load the file, get back an image, a mask, and the metadata object - prompts, seed, model name, LoRAs, everything - as if the generation had just happened.

    The mechanism is the same trick every loader in this space uses, and it's genuinely elegant: PNG files support text chunks (tEXt/iTXt) that carry arbitrary text alongside the pixels, and nothing strips them unless the file is re-encoded. So the image and its provenance travel together, and this node is what reads the provenance back. It specifically reads the bubba_metadata key that Bubba Save Image writes. If you load a PNG that never had Bubba metadata - a Civitai download, an image from another tool, a screenshot - the node still loads the pixels fine, you just get empty/legacy metadata instead of the full record.

    What you connect and get back

    Only one required input: image, a dropdown of images in your ComfyUI input folder. Pick one.

    The outputs are the payload:

    • pipe - a reconstructed pipe carrying the image, the mask, and the metadata. That's the magic output: downstream Bubba nodes can pull prompts, model name, and even the latent-carrying state from it.
    • image - the pixels, standard IMAGE tensor.
    • mask - an alpha-channel mask if the PNG had one; otherwise empty. Useful for round-tripping images with transparency or for feeding an inpainting workflow.
    • metadata - the decoded BUBBA_METADATA object.
    • metadata_text - the same metadata as pretty JSON text, handy for dumping into a display or a text-logging node.

    The pack's docs note a useful migration detail: older Bubba saves used a filepath key, and those are still accepted and migrated to the current save_prefix field. So a workflow file you saved with an older pack version doesn't lose its path information on reload.

    Why this matters beyond nostalgia

    Because it's the difference between "the image knows what made it" and "the image is just pixels." The round-trip pattern is: generate → Save Image (with metadata) → later, Load Image (With Metadata) → continue the workflow from where it left off. That powers a bunch of genuinely useful things:

    • Reprocessing. Load a saved render, tweak the prompt or denoise, and continue from the image rather than starting from scratch - the metadata gives you the original settings to compare against.
    • Character consistency across sessions. Load the reference image, and its prompts come with it, so your next generation starts from the same textual base.
    • Auditing. Drop the metadata_text output into Bubba Metadata Debug or a view node and you can see exactly what settings produced a given file - no guessing, no "which seed was that again?"

    Install

    One pack, as always:

    cd ComfyUI/custom_nodes
    git clone https://github.com/bubbafett5611/Bubba_Nodes
    

    or ComfyUI Manager → search "Bubba Nodes", restart. ComfyUI 0.27.0+ required (V3 node API), no extra dependencies, no model downloads.

    The trap to know: if you re-encode a Bubba-saved image - convert it to JPEG, screenshot it, upload it to a host that recompresses - the text chunks are destroyed, and this node will load the pixels with a silent metadata gap. The metadata is load-bearing; treat a Bubba PNG like a source file, not a shareable artifact, unless you've also exported the A1111/Civitai parameters block that Save Image can embed for the wider ecosystem.

    CategoryBubba Nodes/Image/Load

    Inputs (1)

    NameTypeDefaultDescription
    imageCOMBO1 options: example.png

    Outputs (5)

    NameTypeDescription
    pipeBUBBA_PIPE
    imageIMAGE
    maskMASK
    metadataBUBBA_METADATA
    metadata_textSTRING