Remove Image Info Main Fields
Decide Exactly Which Generation Settings Never Get Saved
- image_info
- image_info
Not every saved image should carry its full recipe. You might want to share a file without the negative prompt, without the seed, without the model name - or you might be generating captions and genuinely don't want sampler settings in the output. The fixed fields of image_info - model, refiner, detailer, lora_stack, clip, vae, positive, negative, sampler settings, seed, size - all get serialized into metadata by default. IPT-RemoveImageInfoMainFields is the switchboard that decides which of those fields are stripped before the bundle goes further.
Think of it as the privacy/cleanliness control for the metadata path. The pack's whole value prop is "save the recipe," so it's oddly fitting that it also gives you the fine-grained "except this part." Use it between the image-info plumbing and the saver.
How it works
Every field is a boolean toggle, all defaulting to false (meaning "keep"). Flip model on and image_info.model is removed; flip positive and the prompt goes. Some toggles cover groups: sampler_settings removes sampler, scheduler, steps, and CFG in one switch, and size removes width and height together. seed is its own toggle. The node returns the filtered image_info, so it slots inline: image_info → RemoveImageInfoMainFields → Image Saver.
Inputs and outputs that matter
The toggles: model, refiner, detailer, lora_stack, clip, vae, positive, negative, sampler_settings (sampler/scheduler/steps/cfg), seed, size (width/height).
image_info(optional input) - the bundle to filter.image_info(output) - the scrubbed bundle.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/kinorax/comfyui-info-prompt-toolkit.git
cd comfyui-info-prompt-toolkit
pip install -r requirements.txt
Restart, or ComfyUI Manager → "ComfyUI-Info-Prompt-Toolkit". ComfyUI 0.17.0+. No models.
Common issues
The silent-failure trap is toggling something off and then not checking the saved file - the removal is applied to the image_info object, so if a later node rebuilds or merges the bundle, the field can come back. Put the removal as close to the saver as possible. Also, removing fields is irreversible for that run: there's no undo inside the bundle, so keep a parallel un-scrubbed branch if you think you'll want the full recipe later. And remember this only strips the fixed fields - extras is handled by its sibling Remove Image Info Extra Keys, so scrub both if you're sanitizing for real. It's a boring, exact tool, and for anyone sharing output images it's the difference between "recipe attached" and "recipe you decided to attach."
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| model | BOOLEAN | false | If true, remove image_info.model. |
| refiner | BOOLEAN | false | If true, remove image_info.refiner. |
| detailer | BOOLEAN | false | If true, remove image_info.detailer. |
| lora_stack | BOOLEAN | false | If true, remove image_info.lora_stack. |
| clip | BOOLEAN | false | If true, remove image_info.clip. |
| vae | BOOLEAN | false | If true, remove image_info.vae. |
| positive | BOOLEAN | false | If true, remove image_info.positive. |
| negative | BOOLEAN | false | If true, remove image_info.negative. |
| sampler_settings | BOOLEAN | false | If true, remove image_info.sampler, image_info.scheduler, image_info.steps, and image_info.cfg. |
| seed | BOOLEAN | false | If true, remove image_info.seed. |
| size | BOOLEAN | false | If true, remove image_info.width and image_info.height. |
| image_infoopt | IPT-IMAGEINFO | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image_info | IPT-IMAGEINFO | — |