ComfyUI Node

Load New Model

The Loader That Decouples 'Choosing a Model' From 'Loading It'

By kinorax·Created 5 months ago·Updated about a month ago· 2
Load New Model
  • model
  • clip
  • vae
  • vae_fallback
  • model
  • clip
  • vae

In vanilla ComfyUI, Load Checkpoint is where you pick a model and load it in one step. Fine for a toy workflow. Awful when you've built a reusable graph where the model choice should be a parameter you can swap - through an XY plot axis, a saved image_info, a merge configuration - without touching the loader. IPT-LoadNewModel splits the difference: it takes an IPT-Model reference (a lightweight description of which model, produced by selector nodes like Checkpoint Selector or Diffusion Model Selector) and turns it into the actual loaded runtime MODEL/CLIP/VAE tensors at execution time.

The payoff is that the model choice travels through your graph as data. You can store it in image_info, save it to a file, vary it in an XY plot, or restore it from a metadata-rich image - and the load happens where you need it, using whatever the reference points at.

How it works

It receives an IPT-Model selection, resolves which checkpoint or diffusion-model file it names, and loads the runtime bundle through ComfyUI's own checkpoint loader - so the actual loading logic is stock ComfyUI, not custom. For diffusion-model selections, the optional clip input supplies the external CLIP (diffusion models often don't ship one), and vae / vae_fallback handle the VAE: a non-empty explicit vae always wins, otherwise the model's own VAE, otherwise vae_fallback. Within a single prompt execution it uses a temporary strong cache so the same model isn't raw-loaded twice, which is exactly the kind of thing that makes big multi-model graphs slower than they need to be.

The pack pairs it with Use Loaded Model, which keeps the runtime in a process-local cache keyed by model, settings, and lora_stack, so repeat runs skip the load entirely.

Inputs and outputs that matter

  • model (required, IPT-Model) - the selection. Comes from a selector node; that's the whole idea.
  • clip (optional) - external CLIP for diffusion models.
  • vae / vae_fallback (optional) - VAE override and fallback.
  • model / clip / vae (outputs) - the real runtime objects, ready to wire into samplers, conditioning, and VAE decode.

Installing it

Standard pack install:

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 (or ComfyUI Manager → "ComfyUI-Info-Prompt-Toolkit"). ComfyUI 0.17.0+.

Common issues

Don't hand it a raw filename - it wants an IPT-Model reference from a selector, and that's a different socket type. If you're coming from a normal Load Checkpoint mindset this trips people up first. Also, if vae is connected but empty, treat it as unset; the explicit-override behavior means a stray wired-but-empty VAE socket can silently change what loads. And remember the model files themselves must exist locally - an IPT-Model reference that names a file you deleted will fail at load time with a clear missing-file error, which is honest but still means re-selecting the model.

CategoryInfo-Prompt-Toolkit/ImageInfo

Inputs (4)

NameTypeDefaultDescription
modelIPT-ModelLoad model runtime directly from IPT-Model
clipoptIPT-ClipOptional external CLIP reference used for diffusion models
vaeopt*Optional VAE override. Non-empty input always takes priority
vae_fallbackopt*Fallback VAE reference used when no VAE is available

Outputs (3)

NameTypeDescription
modelMODEL
clipCLIP
vaeVAE