ComfyUI Node

Image Info Context

The node that rebuilds your whole generation recipe

By kinorax·Created 5 months ago·Updated about a month ago· 2
Image Info Context
  • image_info
  • model
  • refiner
  • detailer
  • lora_stack
  • clip
  • size
  • extras
  • base_sampler_params
  • image_info
  • model
  • refiner
  • detailer
  • lora_stack
  • clip
  • vae
  • positive
  • negative
  • steps
  • sampler
  • scheduler
  • cfg
  • seed
  • width x height
  • extras
  • base_sampler_params
vae
positive
negative
steps
sampler
scheduler
cfg
seed

Image Info Context is the hub of this pack - the node everything else orbits. It takes the pack's image_info bundle and rebuilds it from whatever is actually connected, then hands back a fully-updated image_info plus every major field on its own output socket. Wire in a model, a prompt, a sampler setting, or a whole existing bundle, and out comes the complete recipe, consistent and ready to save, sample, or pass on.

The core idea: reflect only what's connected

Unlike a normal node with fixed inputs, Image Info Context is a big optional-input menu - image_info, model, refiner, detailer, lora_stack, clip, vae, positive, negative, steps, sampler, scheduler, cfg, seed, size, extras, and base_sampler_params. Whatever you connect updates the corresponding field of the output image_info; whatever you leave unconnected simply isn't touched. It's the "carry a bundle, patch the pieces you care about" pattern that makes reusable workflows possible - you start from a loaded or defaulted image_info and override a couple of settings without rebuilding everything.

The three behaviors worth knowing

  1. LoRA extraction from the prompt. When positive is connected, the node parses <lora:name:weight> tags out of the prompt text, removes them from the positive, and feeds the extracted stack into lora_stack. So you can write your LoRAs inline in the prompt, A1111-style, and have them come out the other side as a real LoRA stack - matching how metadata and prompts traditionally coexist.
  2. Extras merging. The extras input merges into the existing image_info.extras, and on duplicate keys the input-side value wins. Your custom values layer onto whatever the recipe already carried.
  3. base_sampler_params. The node outputs a sampler-params bundle with a fixed denoise=1.0, designed to connect straight to downstream sampling nodes. It's the "standard fresh pass" recipe, pre-bundled.

Outputs

The output side mirrors the inputs: image_info plus model, refiner, detailer, lora_stack, clip, vae, positive, negative, steps, sampler, scheduler, cfg, seed, width x height, extras, and base_sampler_params. So this one node is also a splitter - it can be the single place a workflow pulls "the positive prompt," "the seed," and "the size" from a bundle, instead of dragging individual wires from five different sources.

Where it sits in a workflow

Typical spine: Image Reader (or Image Info Defaults) → Image Info Context → sampling. Load a reference image's recipe, override the model and positive via the Context node, and sample with the pack's Sampler Custom or Load New Model nodes. Because the updated image_info is what Image Saver writes to disk, everything you patched is what gets saved - the metadata always reflects the run you actually made, not the one you planned.

Installing it

Ships in the ComfyUI-Info-Prompt-Toolkit pack. Via ComfyUI Manager - search "Info Prompt Toolkit" - or:

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 ComfyUI. No model downloads. Small single-author pack (GPL-3.0), modest footprint - but if you adopt the pack at all, this is the node you'll build around.

CategoryInfo-Prompt-Toolkit/ImageInfo

Inputs (17)

NameTypeDefaultDescription
image_infooptIPT-IMAGEINFO
modeloptIPT-Model
refineroptIPT-Model
detaileroptIPT-Model
lora_stackoptIPT-LoraStack
clipoptIPT-Clip
vaeoptSTRING
positiveoptSTRING
negativeoptSTRING
stepsoptINT
sampleroptSTRING
scheduleroptSTRING
cfgoptFLOAT
seedoptINT
sizeoptIPT-Size
extrasoptIPT-ImageInfoExtras
base_sampler_paramsoptIPT-SamplerParams

Outputs (17)

NameTypeDescription
image_infoIPT-IMAGEINFO
modelIPT-Model
refinerIPT-Model
detailerIPT-Model
lora_stackIPT-LoraStack
clipIPT-Clip
vae*
positiveSTRING
negativeSTRING
stepsINT
sampler*
scheduler*
cfgFLOAT
seedINT
width x heightIPT-Size
extrasIPT-ImageInfoExtras
base_sampler_paramsIPT-SamplerParams