Simple Load Image With Metadata π
Recover the prompt and workflow baked into a PNG
- image
- mask
- metadata_parameters (forge)
- metadata_workflow
- metadata_prompt
You know how you can drag a ComfyUI-saved PNG back onto the canvas and the whole workflow reloads, as if by magic? That's because the workflow is sitting inside the file's metadata the whole time. Simple Load Image With Metadata takes that idea and makes it explicit and reusable: it loads an image the normal way, but also hands you every metadata field it can find as separate string outputs - so you can actually read, log, or repurpose what's inside, instead of it just existing invisibly for the drag-and-drop trick to work.
How it works
It's a standard image loader on the surface - pick a file from ComfyUI's input directory and it decodes the image plus its alpha as a mask, same as the built-in Load Image node. The difference is what else it pulls out. A generated image can carry up to three distinct metadata payloads, and this node returns all of them rather than picking one: a Forge-style parameters text block (the human-readable "prompt, negative, steps, sampler, seedβ¦" summary Forge and A1111 write), the ComfyUI workflow JSON (the full node graph, useful for reloading later), and the ComfyUI prompt JSON (the actual API-format execution graph - the pack's own author is candid that even they aren't entirely sure what's most useful to extract from this one, which is honestly a fair place to land, since it's meant for machines rather than people to read).
The inputs and outputs that matter
There's one input, image - a standard file picker pulling from ComfyUI's input folder, same as any built-in image-loading node. No other settings to configure.
Outputs: image and mask behave exactly like the stock loader. The three metadata strings - metadata_parameters (forge), metadata_workflow, and metadata_prompt - are the actual point of this node. Wire metadata_parameters (forge) somewhere if you just want to read what generated the image; wire metadata_workflow or metadata_prompt into Simple Image Saver (as Forge)'s override inputs if you're re-saving the image and want to preserve its original generation data exactly rather than stamping today's workflow onto it.
Installing it
Via ComfyUI Manager: search ComfyUI_SimpleButcher, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/KLL535/ComfyUI_SimpleButcher.git
cd ComfyUI_SimpleButcher
pip install -r requirements.txt
Nothing heavy here - pure metadata reading, no models to download.
Common issues
All three metadata fields come back blank. The most likely explanation is the image genuinely has none - it was stripped by an editor, re-compressed, screenshotted, or passed through a platform (messaging apps, some social sites) that discards PNG metadata chunks on upload. This isn't a parsing failure on the node's end; if the bytes aren't in the file, there's nothing to extract. Check the source in a dedicated metadata viewer if you're unsure.
JPEG instead of PNG. Forge and ComfyUI both write their richest metadata into PNG chunks. If you're working from a JPEG (common if an image passed through something that re-encoded it), expect thinner or missing metadata even on an otherwise "original" file.
You just want to re-save without losing anything. This is the node's other stated use case: load an image, don't touch its metadata outputs at all, and feed straight into Simple Image Saver (as Forge) with override_workflow connected - that round-trips the original workflow onto the re-saved file. If you don't connect a workflow override, the saver will stamp the current graph instead, which is worth knowing before you assume a re-save is metadata-neutral.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| image | COMBO | 1 options: example.png |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | β |
| mask | MASK | β |
| metadata_parameters (forge) | STRING | β |
| metadata_workflow | STRING | β |
| metadata_prompt | STRING | β |