PNG Info (Readable)
Finally, A1111's PNG Info inside ComfyUI — with typed pins you can wire in
- image
- info
- positive
- negative
- seed
- steps
- cfg
A1111 had one small tab people genuinely miss after switching to ComfyUI: PNG Info. Drag in any old image and it told you the prompt, seed, steps, CFG, the whole generation receipt. ComfyUI, by default, shows you nothing when you load an image - it happily carries the metadata, it just won't show it. That's the gap this node exists to close.
PNG Info (Readable) takes any image, reads its embedded generation metadata, and hands you two things at once: a human-readable text dump, and typed output pins (positive, negative, seed, steps, cfg) you can wire straight into a live workflow. The second part is the part that makes it more than a nostalgia gadget - more on that below.
How it actually works
The clever bit is that the node understands both metadata formats that exist in the wild, because they're different animals.
- A1111 / Forge images carry a
parameterstext chunk - prompt,Negative prompt:, then theSteps: / Sampler: / Seed: / CFG scale:block. The node displays that text almost verbatim and parses the key fields out of it. - ComfyUI images embed the entire workflow graph as JSON in a
promptchunk. The node walks that graph: it finds the sampler nodes (anything withstepsandsampler_name, while skipping save/parameter/recorder nodes that just echo the same names), follows the input links back through up to six hops to resolve actual values, and pulls model names from checkpoint loaders, LoRA names, and the resolution from an Empty Latent Image. Sampler passes are sorted with thedenoise ≈ 1.0one first, so the main pass shows up on top.
It's best-effort graph archaeology, not a guaranteed exact record - but for normal workflows it's uncannily complete. When neither format is present you get a clear "no metadata found" message instead of a confusing blank.
The inputs and outputs that matter
There's exactly one input: image. You can drag a file onto the node and it lands in ComfyUI's input folder, pick from the dropdown, or feed it from a Load Image node. That's it - no settings to fiddle with.
The outputs are where the node earns its keep:
image- the loaded image passed through as an IMAGE tensor, so you can preview it or feed it downstream without a second load.info(STRING) - the readable receipt. Wire this into any show-text node (easy-use'seasy showAnything, pythongosssss's Show Text, or similar) to actually see it on screen.positive/negative(STRING),seed/steps(INT),cfg(FLOAT) - the typed values. Missing values come back as0, so treat a zero seed as "couldn't find it," not a real seed.
Why the typed pins are the real feature
The A1111-style text is nice, but the typed outputs are why you'd route this through a workflow instead of just eyeballing a PNG in a viewer. Classic move: drag an old image in, plug its positive and seed pins into a sampler, and you've reconstructed the original generation with one click's worth of wiring. That "reuse yesterday's values" workflow is exactly the friction this pack's author (a Japanese ComfyUI maker working under the MIT license) says it's for.
Install
No dependencies - the pack runs on ComfyUI's own torch/numpy/PIL, and the repo declares an empty dependencies list. Either way works:
cd ComfyUI/custom_nodes
git clone https://github.com/galigali-san/ComfyUI-PNGInfo
Then restart ComfyUI. The node appears under image as PNG Info (Readable). You can also search for the pack title in ComfyUI Manager's Install Custom Nodes list. The same pack ships two safetensors metadata tools worth a look if you're poking around.
Gotchas
- Edited images lose their metadata. Screenshot or re-save a PNG in some apps and the
parameters/promptchunks are stripped - you'll get the "no metadata found" message and there's nothing to recover. - For ComfyUI images, dragging the image onto the canvas still restores the full editable workflow - nothing beats that for fidelity. Use this node when you want the text version (to copy a prompt, log settings, or borrow values), not when you want the graph back.
- Values routed through exotic custom nodes may come back as
0when the resolver can't see through them. Don't trust a zero; trust theinfotext.
It's not a node you'll use every session - but the day you need to resurrect a prompt from a random PNG, this is the fastest path, and the typed pins are a genuinely clever touch over the competition.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| image | COMBO | 1 options: example.png |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| info | STRING | — |
| positive | STRING | — |
| negative | STRING | — |
| seed | INT | — |
| steps | INT | — |
| cfg | FLOAT | — |