Nodes/ComfyUI-FeiFei/Load WebP Info
ComfyUI Node

Load WebP Info

Getting the prompt back out of a WebP

By aifeifei798·Created about a month ago·Updated about 13 hours ago· 3
Load WebP Info
    • positive
    • negative
    • seeds
    • info_json
    ◄image▾►

    Every PNG out of ComfyUI carries the entire workflow inside it - that's the convention the whole sharing culture runs on. WebP doesn't. It has no PNG text chunks, so the graph simply cannot ride along, which means the moment you save as WebP you've made a one-way trip out of the drag-it-back-in workflow.

    This node is the return ticket for images saved by its sibling, Save WebP (Timestamp). It hands you back the strings that matter - positive prompt, negative prompt, seeds - so you can re-run a generation without the node graph.

    What you get

    One input, image: a dropdown of files in ComfyUI/input/ with an upload button, exactly like the stock Load Image node. Not a tensor socket.

    Four string outputs: positive, negative, seeds (comma-joined when the workflow had more than one seed) and info_json - the raw summary, useful for debugging or feeding something downstream. Wire positive and negative into CLIP Text Encode nodes and you have the prompt side of the generation back.

    The read order is sidecar first, EXIF second. The saver writes a .json file next to each .webp holding the summary, the full prompt and the workflow; that's the good copy. If the sidecar is gone - you copied just the image off a phone, a chat app, a gallery - it falls back to the EXIF ImageDescription tag (270), which holds a smaller JSON summary. Old images, or ones that never went through this pack, come back with empty strings and a note in info_json rather than an error. That's the honest behaviour: there's nothing to recover from pixels alone.

    You can also read the tag yourself, without ComfyUI:

    exiftool -ImageDescription image.webp
    python -c "from PIL import Image; print(Image.open('image.webp').getexif()[270])"
    

    The gotcha that catches everyone

    The dropdown lists ComfyUI/input/, but Save WebP writes to ComfyUI/output/webp_outputs/. So an image you just generated won't appear in the list - copy it across first:

    cp ComfyUI/output/webp_outputs/20261005_142233_918_000.webp ComfyUI/input/
    

    You can drag-and-drop onto the node's upload button instead, which does the same copy for you. This isn't a bug so much as two different node conventions colliding; every loader node in ComfyUI reads from input/, every saver writes to output/.

    When to reach for it

    • You fell in love with a seed and only have the WebP. Recover the prompts, re-run, keep exploring from there.
    • Batch triage. Point it at a shortlist of WebPs, get the prompts out as strings, and decide which are worth reproducing at higher resolution.
    • CivitAI/gallery uploads. If you're posting derivatives rather than masters, this is how you keep the receipts for yourself, since a prompt string in EXIF survives re-uploads far better than a PNG text chunk does.
    • Not for sharing a reusable workflow. WebP can't do that. If a graph needs to travel, save the PNG.

    Install

    ComfyUI Manager → ComfyUI-FeiFei, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/aifeifei798/ComfyUI-FeiFei.git
    # restart ComfyUI; both WebP nodes appear under the FeiFei category
    

    Pillow and numpy, which ComfyUI already has. No models. The two WebP nodes live in the same file and load together, so if one appears and the other doesn't, that's worth a look at the console - each node group in this pack is imported inside its own try/except, and the failure prints as [FeiFei] SaveWebPWithTimestamp failed to load: with the traceback underneath.

    Two honest limits

    It doesn't restore the graph. Only the prompt and seeds - no LoRAs, no samplers, no steps, no ControlNet wiring. ComfyUI's drag-to-restore understands PNG and only PNG.

    It only knows this pack's format. The saver writes a summary JSON with a specific shape; images from other WebP save nodes, or from an A1111-style export where the parameter string sits in UserComment instead of ImageDescription, may come back empty. Check info_json when that happens - it tells you whether the node found a tag it recognised or nothing at all.

    CategoryFeiFei

    Inputs (1)

    NameTypeDefaultDescription
    imageCOMBO1 options: example.png

    Outputs (4)

    NameTypeDescription
    positiveSTRING—
    negativeSTRING—
    seedsSTRING—
    info_jsonSTRING—