RookieUI Save Image With Metadata
PNGs that carry A1111 parameters, so PNG Info round-trips
- images
- images
If you've ever dragged a CivitAI image into Automatic1111's PNG Info tab and watched the prompt, seed, sampler and CFG populate themselves, you've used the thing this node exists to preserve. That "copy generation data" magic runs on a specific text blob - A1111's parameters field, embedded in the PNG. ComfyUI's own metadata is a workflow graph, which is great for reproducing a graph and useless for anyone reading it as a human. This node saves your output as a PNG with the A1111-style parameters string written in, so the image round-trips back into RookieUI's PNG Info (and into A1111, Forge, CivitAI, and anything else that reads that field).
RookieUI is an A1111-style sidebar for ComfyUI, and this is its save node - the last stop in a generation.
How it works
You feed it the finished images, a filename_prefix, and the parameters text, and it writes the PNGs to disk with that A1111 infotext embedded. It keeps the ComfyUI workflow metadata separate through the normal host path, so you get both: the human-readable A1111 parameters and the reproducible ComfyUI graph, not one at the expense of the other. It's a proper output node, but it also passes the images straight back out on an images output, mirroring the host SaveImage - so you can keep chaining nodes (a second save, an upscale, a preview) after it.
In the sidebar flow, RookieUI fills the parameters string for you from the run - prompt, negative, steps, sampler, scheduler, CFG, seed, size, model. Wiring the node by hand, you supply that string yourself.
The inputs that matter
images- the batch to save. Required, obviously.filename_prefix(defaultRookieUI) - the name stem for the files on disk. Set it per project so your output folder stays navigable.parameters- the A1111 infotext, a multiline string. This is the feature. When RookieUI drives the node it populates this; if you're placing the node manually and want the PNG to carry real generation data, you fill it with an A1111-format parameters block (prompt on the first line, negative prefixedNegative prompt:, then theSteps: …, Sampler: …, CFG scale: …line).
That's the whole surface - three inputs, one image passthrough output. It's deliberately simple; the value is in what gets written, not in knobs.
How to install it
Via ComfyUI Manager: search ComfyUI-RookieUI, install, restart. Manually, from your ComfyUI root:
cd ComfyUI/custom_nodes
git clone https://github.com/rookiestar28/ComfyUI-RookieUI
cd ComfyUI-RookieUI
python -m pip install -r requirements.txt
Then restart ComfyUI.
Common issues
If you place this node by hand and leave parameters empty, the PNG saves fine but carries no A1111 infotext - PNG Info will have nothing to read back. That's not a failure, it's just an empty field; if you want the round-trip, the string has to be there. Inside the RookieUI sidebar this is handled for you.
One honest caveat about A1111 metadata in general, worth knowing if you're building a library off it: the parameters field records what the UI reported, which isn't always what ran. A1111 famously wrote a CLIP-skip value into SDXL metadata even though it ignored the setting on SDXL. So treat the embedded parameters as a faithful record of the request, not a forensic guarantee of every execution detail - for exact reproduction, the ComfyUI workflow metadata this node keeps alongside is the stronger source.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| filename_prefix | STRING | RookieUI | — |
| parameters | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |