Nodes/ComfyUI-mnemic-nodes/πŸ–ΌοΈ Load Image Advanced
ComfyUI Node

πŸ–ΌοΈ Load Image Advanced

Load an image and get its prompt back out of the metadata

By MNeMoNiCuZΒ·Created 3 years agoΒ·Updated a day agoΒ· 105
πŸ–ΌοΈ Load Image Advanced
    • image
    • mask
    • image_path
    • positive_prompt
    • width
    • height
    β—„imageβ–Ύβ–Ί

    πŸ–ΌοΈ Load Image Advanced is the pack's beefed-up version of ComfyUI's stock Load Image. Same picking-a-file-from-input/ starting point, but it hands you six outputs instead of two, and one of them is the thing people actually want: the positive prompt that was used to make the image, dug out of the file's metadata.

    That's a bigger deal than it sounds, because in ComfyUI the metadata is the payload. A PNG from SaveImage carries the whole workflow graph plus the execution prompt as text chunks in the file. Open a good image from CivitAI or a Reddit workflow share, drop it in this node, and you have the prompt back as a string you can wire into a text encoder. No retyping, no squinting at a screenshot.

    The other outputs: image (the tensor), mask (the alpha channel if the image has one), image_path (the full path as a string), plus width and height as separate integers. That last pair is quietly useful - feed dimensions straight into a size selector or a latent node instead of typing them, and your img2img pass can't disagree with your source.

    The catch: metadata is fragile

    Here's the honest part, and it's worth understanding before you build a workflow on this output. Metadata survives exactly as long as nobody re-encodes the file:

    • Reddit, Twitter/X, Discord inline previews and most CDNs recompress your upload. The text chunks are gone. This is why people are constantly surprised that a shared PNG won't behave.
    • Any JPEG or WebP conversion drops it. Those formats have no PNG text chunks at all. A flat A1111 parameter string can sometimes survive in EXIF, but the ComfyUI graph does not travel.
    • Screenshots never had it. Neither did files saved by an instance running with metadata disabled.

    So positive_prompt is a string that is often empty, and it fails silently when it is. If you wire it into an encoder and get a blank generation, check the metadata before you debug the sampler - that's the failure mode here. Long-term, keep the original PNG of anything you care about; every copy you post is a derivative that's losing features.

    Where it fits

    Three real uses. First, prompt archaeology on images you downloaded - see what made them, then remix. Second, dimension plumbing: width and height out to whatever needs to know the canvas size, so the whole graph follows the loaded image. Third, inpainting setups: the mask output is the image's own alpha channel, so a transparent PNG becomes a ready-made mask without a segmentation pass, and a stack of lookups on it belongs in the masking-and-detailing part of your graph.

    If you need more than one image's metadata - a whole folder of them - the pack's own Metadata Extractor nodes (single and list) are the siblings for that job. This node is the one-image-at-a-time tool.

    Install

    ComfyUI Manager β†’ search ComfyUI-mnemic-nodes, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/MNeMoNiCuZ/ComfyUI-mnemic-nodes
    

    Restart ComfyUI. Nothing downloads for this node; the metadata parsing is pure Python, though the pack's requirements.txt pulls in piexif, transformers, opencv-python and friends for other nodes at install time.

    Category⚑ MNeMiC Nodes

    Inputs (1)

    NameTypeDefaultDescription
    imageCOMBOThe image file to load. The node will also attempt to extract metadata from this image.

    Outputs (6)

    NameTypeDescription
    imageIMAGEThe loaded image.
    maskMASKThe alpha channel of the image, if it exists.
    image_pathSTRINGThe full file path of the loaded image.
    positive_promptSTRINGThe positive prompt extracted from the image's metadata.
    widthINTThe width of the loaded image.
    heightINTThe height of the loaded image.