ComfyUI Node

Image Info Defaults

Make sure a half-empty generation recipe still runs

By kinorax·Created 5 months ago·Updated about a month ago· 2
Image Info Defaults
  • size
  • image_info
  • model
  • refiner
  • detailer
  • lora_stack
  • clip
  • extras
  • image_info
positive
negative
steps20
samplereuler
schedulersimple
cfg7.0
seed0
vae

Image Info Defaults is the safety net for this pack's metadata system: it takes an image_info bundle that might be missing half its fields and fills every gap with a value you set in the node's own widgets. If image_info.positive is None, the positive field on the node wins. If a field already has a value, it stays untouched. One image_info in, one complete image_info out.

Why a "fill the blanks" node exists

The pack's whole bet is that image_info - a structured bundle of prompt, model, sampler settings, size, and extras - can be carried through workflows, saved into image metadata, and restored later. That only works if a restored or partially-constructed bundle is always runnable. An Image Reader might hand you an image whose metadata has no negative prompt, or no size, or an empty seed. A selector might provide a model but nothing else. Without a defaults pass, some downstream node gets a None where it expects a number, and the run dies. Image Info Defaults is the node that guarantees every field exists.

The inputs that matter

The required inputs are the defaults themselves, and they're a sane starting kit:

  • positive / negative - default prompts, applied only when missing.
  • steps (20), sampler (euler), scheduler (simple), cfg (7.0), seed (0) - the sampler recipe defaults.
  • size (512×512) - the resolution default.

The optional inputs are the live data: image_info plus model, refiner, detailer, lora_stack, clip, vae, and extras, which let you merge in selections from the pack's selector nodes alongside the defaults. Output is a single complete image_info.

The euler/simple/CFG 7.0 defaults are worth a glance before you trust them - CFG 7 sits right in the SD 1.5/SDXL sweet spot per the community's troubleshooting lore, but if you run distilled or Turbo-style models, the sensible CFG is far lower. Set your own defaults; the node just holds them.

The key behavior to remember

Defaults apply only where the incoming image_info is missing a value. Existing values always win. So a fully-populated image_info passes through untouched, and a bare one gets dressed in your defaults. That's exactly what you want, and it's also the trap: if a field is present but wrong (say, a seed of 0 that you actually set), the node will not fix it for you. It fills gaps, it doesn't arbitrate.

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) with a modest footprint - but a workflow that never dies on a missing metadata field is quietly worth a lot.

CategoryInfo-Prompt-Toolkit/ImageInfo

Inputs (16)

NameTypeDefaultDescription
positiveSTRINGDefault positive prompt when image_info.positive is None
negativeSTRINGDefault negative prompt when image_info.negative is None
stepsINT201–10000Default steps when image_info.steps is None
samplerCOMBOeulerDefault sampler when image_info.sampler is None
schedulerCOMBOsimpleDefault scheduler when image_info.scheduler is None
cfgFLOAT7.00–100Default CFG scale when image_info.cfg is None
seedINT00–18446744073709550000Default seed when image_info.seed is None
sizeIPT-Size[object Object]16–16384Default size when image_info.width or image_info.height is None
image_infooptIPT-IMAGEINFO
modeloptIPT-Model
refineroptIPT-Model
detaileroptIPT-Model
lora_stackoptIPT-LoraStack
clipoptIPT-Clip
vaeoptSTRING
extrasoptIPT-ImageInfoExtras

Outputs (1)

NameTypeDescription
image_infoIPT-IMAGEINFO