Nodes/ComfyUI_CivitAI_ImagePlus/CivitAI Local Image Info
ComfyUI Node

CivitAI Local Image Info

Drop any AI image on a node and get its prompts, model, and settings back out

By CovertBannana·Created 8 months ago·Updated about a month ago· 4
CivitAI Local Image Info
    • positive
    • negative
    • info
    image_data

    You know the move: you download someone's image, drag it back into ComfyUI, and the workflow embedded in the PNG just loads. The CivitAI Local Image Info node is that trick pointed at metadata instead of a workflow graph. Drop or upload any AI-generated image sitting on your disk, and it parses the embedded generation data - positive prompt, negative prompt, model, sampler, steps, CFG - and hands it to you as strings you can wire into your graph. No CivitAI account, no API key, no internet required.

    It's the newest node in the pack (added in v0.3.0) and it fills the obvious gap: the other nodes only work on images you find on CivitAI, while half the images you actually want to reverse-engineer live in your downloads folder. This one is how you bring local files into the same select → edit → generate loop the pack sells for gallery images.

    How it works

    The file handling is frontend magic; the parsing is split across both halves of the pack. When you click Upload Image or drag a file onto the node, the JavaScript reads the file's metadata blocks and normalizes them - ComfyUI PNG prompt and workflow metadata, CivitAI ImagePlus gallery metadata embedded in saved workflows, Automatic1111/Forge-style parameters strings, and JPEG EXIF ImageDescription/UserComment where present. A1111 params fill blanks but never overwrite good ComfyUI-extracted prompts, and there's a guard against dumping a whole raw ComfyUI JSON graph into the prompt editor. The result is written as JSON into the node's image_data widget, and the Python side parses that into its three outputs.

    It also pushes the same data to the pack's other nodes automatically: prompts to the CivitAI Prompt Editor, the metadata summary to the CivitAI Info Display, and a preview to the CivitAI Image Preview. Add the Open Image button and you've got a full local-image forensics panel with one drag-and-drop.

    The inputs and outputs that matter

    • image_data (STRING, required, multiline) - the data channel from the frontend. Do not type in this widget. It's a transport for the JSON the JS writes when you upload or drop a file; hand-editing it is how you break things.
    • positive (STRING) and negative (STRING) - the extracted prompts. Wire them into your CLIP Text Encode nodes to regenerate, or riff on the original.
    • info (STRING) - a plain-text summary: filename, model, steps, CFG, sampler, scheduler. Paste it into a note node or read it as your settings reference.

    Installing it

    Same story as the rest of the pack. ComfyUI Manager, search CivitAI ImagePlus, install, restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/CovertBannana/ComfyUI_CivitAI_ImagePlus.git
    

    Dependencies stay light - aiohttp, numpy, Pillow. No models to download.

    Where people get burned

    • Prompts come back empty. Not every image has parseable metadata: web-downloaded thumbnails and heavily re-encoded JPEGs often strip it, and some apps only keep the workflow without the prompt string. When nothing extracts, the info output says so rather than silently lying.
    • Stale data from a previous image. v0.3.1 fixed metadata collisions between locally-loaded and CivitAI-loaded images - if a node shows the previous image's prompts, update the pack and restart.
    • Nothing happens when you drop a file. This node lives partly in the browser. Restart ComfyUI and hard-refresh (Ctrl+F5) - cached old JS won't have the drag/drop or upload wiring.

    And the standing caveat from the README: the author considers this pack superseded by the unified ComfyUI-ImagePlus successor. Fine to use today; worth a look at the new pack before you standardize on this one.

    CategoryCivitAI Gallery

    Inputs (1)

    NameTypeDefaultDescription
    image_dataSTRING

    Outputs (3)

    NameTypeDescription
    positiveSTRING
    negativeSTRING
    infoSTRING