Nodes/ComfyUI-PromptCraft/Model & LoRA Group Loader
ComfyUI Node

Model & LoRA Group Loader

The one node this pack is actually about

By moton16·Created 4 months ago·Updated 3 months ago· 6
Model & LoRA Group Loader
  • model
  • clip
  • vae
  • model
  • clip
  • vae
  • lora_prompt_data
checkpointNone
strength_multiplier1.00
lora_stack_data{}

Every LoRA-heavy workflow has the same ugly middle: a Checkpoint Loader, then a daisy-chain of LoRA loaders, each with its own weight slider, wires everywhere. Model & LoRA Group Loader is PromptCraft's answer - one node that loads the base model, applies a whole stack of LoRAs, and also feeds the pack's prompt node. If you install this pack for one node, it's this one, and the README agrees: it's the recommended loader over its older sibling.

What it does

Pick a checkpoint from the dropdown (or set it to None and pass a MODEL in from upstream), then build your LoRA stack right on the node - an inline canvas widget where you can mix individual LoRAs and saved groups (collections of LoRAs you've saved in the LoRA Hub's Groups tab), each with its own enable toggle and separate model/CLIP weight inputs. Group references show up in purple and are resolved at execution time, so you can edit a group once and every workflow that references it picks up the change. Missing LoRA files in a group are skipped with a warning instead of aborting the run.

A strength_multiplier slider (0.0–2.0) scales every LoRA weight in the stack at once - handy when a whole stack is overpowering and you want to pull back without touching five sliders.

How it works, mechanically

The stack state rides in a hidden lora_stack_data JSON widget the frontend maintains - you never type into it, it's what makes the stack survive save/reload. On execution the backend parses that JSON, flattens any group references into concrete LoRA entries, then applies each one with its model and clip weights, both multiplied by strength_multiplier. Loaded LoRA files sit in a thread-safe LRU cache (8 files max), so repeated runs don't re-read weights from disk. The node's IS_CHANGED hash includes the stack JSON and the group file's mtime, so editing a group invalidates the cache and re-runs properly.

The inputs and outputs that matter

Inputs: checkpoint (dropdown or None to pass through), strength_multiplier, plus optional model / clip / vae pass-throughs and the hidden lora_stack_data.

Outputs: model, clip, vae - wire those straight to your KSampler - and lora_prompt_data, a STRING of JSON describing which LoRA prompt groups are active. That last one feeds the PromptCraft prompt node's lora_prompt_data input so it can inject each LoRA's trigger words. The README's recommended layout:

CheckpointLoader → ModelLoraGroupLoader → KSampler
                          ↓
                    PromptCraft (lora_prompt_data input)

The honest comparison

If all you want is a clean way to stack LoRAs and you're not using PromptCraft's tag library or groups, the community's battle-tested default is rgthree's Power Lora Loader - it's the one people actually swear by. This node earns its place when you want the group system, base-model switching, and prompt-data injection tied together, all in the pack. Both work; pick by which ecosystem you're already in.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/moton16/ComfyUI-PromptCraft

or ComfyUI Manager → search ComfyUI-PromptCraft, then restart. No model downloads; LoRAs come from models/loras.

Troubleshooting

  • "未提供 MODEL" - checkpoint is None and nothing is wired into model. Pick a checkpoint or connect upstream.
  • Old workflow errors with "value not in list" - the pack's v1.3.5 fixed exactly this (a frontend migration for renamed fields), so update to the latest version.
  • Stack not updating after group edits - the node caches by file mtime; if edits aren't picked up, restart or clear the LoRA cache.
  • Inline stack widget renders broken - the canvas widget is frontend-heavy; if ComfyUI's Nodes 2.0 rewrite breaks it (it has for several packs), fall back to the legacy canvas.
CategoryMoton PromptCraft

Inputs (6)

NameTypeDefaultDescription
checkpointCOMBONone选择底模,'None' 则使用上游传入的 MODEL
strength_multiplierFLOAT1.000–2全局 LoRA 权重乘数
modeloptMODEL
clipoptCLIP
vaeoptVAE
lora_stack_dataoptSTRING{}

Outputs (4)

NameTypeDescription
modelMODEL
clipCLIP
vaeVAE
lora_prompt_dataSTRING