Nodes/ComfyUI-JakeUpgrade/Apply LoRA Stack Model Only JK๐Ÿ‰
ComfyUI Node

Apply LoRA Stack Model Only JK๐Ÿ‰

Patch the model with a whole LoRA stack, leave CLIP alone

By jakechaiยทCreated 2 years agoยทUpdated 3 months agoยท 147
Apply LoRA Stack Model Only JK๐Ÿ‰
  • model
  • lora_stack
  • MODEL

Most LoRA tutorials teach "model + clip" - apply the patch to both the diffusion model and the text encoder. This node deliberately does half of that: it takes a LORA_STACK and patches the model only, leaving CLIP untouched. That's less niche than it sounds, and it's the reason the stacker in this pack has a model_only mode at all.

Why model-only exists

A LoRA file can carry weights for the text encoder as well as the UNet/DiT. Patch CLIP with those and the prompt semantics shift - sometimes nicely, sometimes into mush. Model-only application is the standard move when:

  • The LoRA is a style or object patch and you want the prompt to stay exactly as written.
  • You're on an architecture where the text-encoder patch is irrelevant or unsupported.
  • The file contains a CLIP section that fights your other LoRAs.
  • You're in a video workflow (Jake's Wan stuff does this) where the conditioning path isn't the thing you want touched.

It's also just the honest version of "I want these weights in, and I don't want to think about CLIP."

The inputs

Just two:

  • model - the MODEL from your checkpoint loader.
  • lora_stack - the LORA_STACK wire from CR LoRA Stack JK. In that node pick input_mode: model_only so the stack only contains slots where the model weight matters; slots built in advanced mode will still apply, but their clip weights get discarded here.

The single output is MODEL, which flows straight into your KSampler or sampler custom node. Under the hood it's a loop: for each tuple it loads the file with comfy.utils.load_torch_file and calls comfy.sd.load_lora_for_models(model, None, lora, strength, 0) - CLIP literally passed as None. No magic, just the ComfyUI core loader with the clip half snipped off.

Installing it

This is one node inside the ComfyUI-JakeUpgrade pack, so you install the pack:

cd ComfyUI/custom_nodes
git clone https://github.com/jakechai/ComfyUI-JakeUpgrade
cd ComfyUI-JakeUpgrade
# Windows standalone: run install.bat
# or: python_embeded\python.exe -s -m pip install -r requirements.txt
# everyone else:
pip install -r requirements.txt

ComfyUI Manager: search "JakeUpgrade", install, restart. The dependencies are ordinary (numpy, pillow, torch, simpleevalโ€ฆ) and there are no model files to fetch - this node only reads ComfyUI/models/loras.

Troubleshooting

  • "LORA weights not found" errors. The .safetensors was trained for a different architecture than the checkpoint you loaded. A Flux LoRA won't patch an SDXL model no matter which apply node you use.
  • Nothing seems to change. Your stack probably has model weight 0, the slot disabled, or the name set to "None" - the stacker drops all three. Also remember this node changes model behavior, not prompt interpretation; if the effect you expected was textual, model-only is doing exactly what it says.
  • ComfyUI Manager shows a JakeUpgrade / IPAdapter_plus conflict. That's the pack's replacement/ folder tripping the conflict check. Harmless; the README says JakeUpgrade never loads those files.
  • Random CUDA errors with ComfyUI-MultiGPU installed. The README calls this one out directly - disable MultiGPU on recent ComfyUI builds.
Category๐Ÿ‰ JK/๐Ÿ’Š LoRA

Inputs (2)

NameTypeDefaultDescription
modelMODELModel to apply LoRAs to
lora_stackLORA_STACKStack of LoRA parameters to apply

Outputs (1)

NameTypeDescription
MODELMODELโ€”