Nodes/Plush-for-ComfyUI/Exif Wrangler🧸
ComfyUI Node

Exif Wrangler🧸

Pull the prompt, seed and model out of an image's metadata

By glibsonoran·Created 3 years ago·Updated about a year ago· 197
Exif Wrangler🧸
    • Image_info
    • help
    • troubleshooting
    write_to_filefalse
    Only_show_promptsfalse
    file_prefixMetaData_
    Min_prompt_len72
    Alpha_Char_Pct0.90
    Prompt_Filter_Term
    image

    Exif Wrangler reads the hidden metadata baked into an image and shows it to you: for AI-generated images that means the prompt, seed, model, and other workflow values, and for real photographs it means camera EXIF data (and even GPS coordinates when they're present in a JPG). Drop in a ComfyUI PNG and it'll fish out the prompt that made it. Drop in a photo and it'll tell you the camera settings. It's the "what made this?" node.

    The best part for a lot of people: it needs no API key. Unlike most of the Plush suite, Exif Wrangler is pure local extraction, nothing leaves your machine and nothing costs money.

    How it works

    ComfyUI writes the full workflow into the metadata of every PNG it saves, and other tools embed generation data in their own way (Automatic1111 tucks it into the JPG EXIF comment, for instance). Exif Wrangler parses that out. For AI images it surfaces the generation parameters; for camera JPGs it reads the standard EXIF fields. How much you get depends entirely on where the source tool stored things, so some images yield a full workflow and some yield nothing, which is a property of the file, not a fault of the node.

    The inputs that matter

    • image: the image to inspect (loaded through the node's image widget).
    • Only_show_prompts (boolean): filter the output down to just prompt text instead of the whole metadata dump. Flip this on when you only care about the prompt.
    • Min_prompt_len (default 72) and Alpha_Char_Pct (default 0.9): these two are the smart filters that separate real prompt text from random metadata noise. Minimum length drops short junk strings, and the alphabetic-character percentage drops strings that are mostly symbols or numbers (which are usually not prompts). Tune them if a real prompt is getting filtered out or garbage is getting through.
    • Prompt_Filter_Term: only show entries containing a specific term. Handy for finding one field in a noisy dump.
    • write_to_file and file_prefix: optionally save the extracted info to a file (it lands in Plush's output directory), which you can later reload with the Load Saved Files node.

    The output is Image_info (the extracted text), plus help and troubleshooting.

    What it's genuinely good for

    Reverse-engineering a workflow. See an AI image you like and want to know the recipe? If it's an unstripped ComfyUI PNG, this pulls the prompt, model, and seed straight out. It's also a quick way to audit your own outputs, or to check whether an image you're about to share still carries metadata you didn't mean to include. Note the flip side: because metadata travels with the file, anything you post publicly may be carrying your full prompt and workflow unless you stripped it first.

    Installing it

    Ships with Plush-for-ComfyUI. Install via ComfyUI Manager (search "Plush", install Plush-for-ComfyUI, restart), or manually: cd ComfyUI/custom_nodes && git clone https://github.com/glibsonoran/Plush-for-ComfyUI.git, then pip install -r requirements.txt, restart.

    Common issues

    The big one: not every image has usable metadata. If Exif Wrangler returns little or nothing, the source file probably doesn't carry it, either it was stripped (many sites and messaging apps scrub metadata on upload), or the generating tool never embedded it, or it's saved somewhere this node doesn't read. That's expected behavior, not a failure. If a real prompt is getting filtered out, loosen Min_prompt_len or lower Alpha_Char_Pct; if junk is coming through, tighten them. As with everything in Plush, the troubleshooting output explains what happened on a given run.

    CategoryPlush🧸/Utils

    Inputs (7)

    NameTypeDefaultDescription
    write_to_fileBOOLEANfalse
    Only_show_promptsBOOLEANfalse
    file_prefixSTRINGMetaData_
    Min_prompt_lenINT723–2500
    Alpha_Char_PctFLOAT0.900.01–1.001
    Prompt_Filter_TermSTRING
    imageCOMBO1 options: example.png

    Outputs (3)

    NameTypeDescription
    Image_infoSTRING
    helpSTRING
    troubleshootingSTRING