Nodes/Comfyui-ZiT-Lora-loader/Z-Image Turbo LoRA Stack
ComfyUI Node

Z-Image Turbo LoRA Stack

10 Slots, Per-Slot Strength, and the QKV Fix Built In

By capitan01R·Created 6 months ago·Updated 5 months ago· 36
Z-Image Turbo LoRA Stack
  • model
  • MODEL
lora_1
strength_11.00
enabled_1true
fuse_qkv_1true
lora_2
strength_21.00
enabled_2true
fuse_qkv_2true
lora_3
strength_31.00
enabled_3true
fuse_qkv_3true
lora_4
strength_41.00
enabled_4true
fuse_qkv_4true
lora_5
strength_51.00
enabled_5true
fuse_qkv_5true
lora_6
strength_61.00
enabled_6true
fuse_qkv_6true
lora_7
strength_71.00
enabled_7true
fuse_qkv_7true
lora_8
strength_81.00
enabled_8true
fuse_qkv_8true
lora_9
strength_91.00
enabled_9true
fuse_qkv_9true
lora_10
strength_101.00
enabled_10true
fuse_qkv_10true

Single-LoRA workflows are the Z-Image default, but eventually you want a character plus a style plus a detail LoRA in one image. On SDXL that was just tedious. On Z-Image it's also a trap - the community has burned itself stacking multiple LoRAs at full strength and watching quality collapse into mush. If you're going to stack, do it with control. That's the whole reason the Z-Image Turbo LoRA Stack exists.

It's the same architecture-aware loading as the single Z-Image Turbo LoRA Loader - fuses separate to_q/to_k/to_v keys into Z-Image's fused QKV format, remaps to_out.0out, builds the key map with ComfyUI's z_image_to_diffusers() - but applied to up to 10 LoRAs in sequence, all in one node. Without that fusion step, most diffusers-format Z-Image LoRAs quietly drop their attention weights on the stock loader; the Stack bakes the fix into every slot.

The inputs that matter

One MODEL in, one MODEL out. Then ten identical slots, each with four controls:

  • lora_N - dropdown of your models/loras folder, default None.
  • strength_N - per-slot strength, −20 to 20, default 1.
  • enabled_N - on/off toggle, default on. This is the killer feature.
  • fuse_qkv_N - the QKV fusion toggle, default on. Set it to Direct only if the file already ships in fused format.

How it works

The node builds one shared key map from your model, then walks the slots in order: for each enabled slot it loads the LoRA, fuses QKV if the file has separate Q/K/V keys, patches a clone of the model, and chains that result into the next slot. That ordering matters - it's not a weighted blend. Each subsequent LoRA patches on top of the previous one, so slot order is effectively your layering order.

Why use this over chaining three LoraLoaders? No spaghetti, one node, and per-slot bypass. enabled_N alone is worth it: flip a slot on and off to A/B test a combination without disconnecting anything, and strength_N lets you park a temperamental LoRA at 0.7 while everything else sits at 1.

The honest caveat

The community consensus on Z-Image is that more than one LoRA at once tends to collapse quality, and LoKR-format LoRAs are the partial exception. This node doesn't magically fix that - nothing does. What it does is make it cheap to find out. For most people the winning config ends up being one character LoRA plus one light style LoRA with everything else toggled off, and this node is the fastest way to discover that for your specific files.

Installing and troubleshooting

cd ComfyUI/custom_nodes
git clone https://github.com/capitan01R/Comfyui-ZiT-Lora-loader

Restart ComfyUI. It's also in ComfyUI Manager under the pack title Comfyui-ZiT-Lora-loader. No extra dependencies, no model downloads - same story as the single loader, since it's literally the same codebase (the Stack subclasses the Loader).

If a slot "does nothing," check the console: each one logs [Z-Image LoRA Stack] Slot N: name (N keys). A slot with zero useful keys means the file's naming doesn't line up - try toggling fuse_qkv off for that file or running it through the single loader to see what's happening. A strength of 0 or an off toggle skips the slot cleanly, so those are your debugging switches too. And remember the base rule: Turbo LoRAs won't work on Z-Image Base at all, stack node or not.

Categoryloaders/Z-Image

Inputs (41)

NameTypeDefaultDescription
modelMODEL
lora_1optCOMBO1 options: None
strength_1optFLOAT1.00-20–20
enabled_1optBOOLEANtrue
fuse_qkv_1optBOOLEANtrue
lora_2optCOMBO1 options: None
strength_2optFLOAT1.00-20–20
enabled_2optBOOLEANtrue
fuse_qkv_2optBOOLEANtrue
lora_3optCOMBO1 options: None
strength_3optFLOAT1.00-20–20
enabled_3optBOOLEANtrue
fuse_qkv_3optBOOLEANtrue
lora_4optCOMBO1 options: None
strength_4optFLOAT1.00-20–20
enabled_4optBOOLEANtrue
fuse_qkv_4optBOOLEANtrue
lora_5optCOMBO1 options: None
strength_5optFLOAT1.00-20–20
enabled_5optBOOLEANtrue
fuse_qkv_5optBOOLEANtrue
lora_6optCOMBO1 options: None
strength_6optFLOAT1.00-20–20
enabled_6optBOOLEANtrue
fuse_qkv_6optBOOLEANtrue
lora_7optCOMBO1 options: None
strength_7optFLOAT1.00-20–20
enabled_7optBOOLEANtrue
fuse_qkv_7optBOOLEANtrue
lora_8optCOMBO1 options: None
strength_8optFLOAT1.00-20–20
enabled_8optBOOLEANtrue
fuse_qkv_8optBOOLEANtrue
lora_9optCOMBO1 options: None
strength_9optFLOAT1.00-20–20
enabled_9optBOOLEANtrue
fuse_qkv_9optBOOLEANtrue
lora_10optCOMBO1 options: None
strength_10optFLOAT1.00-20–20
enabled_10optBOOLEANtrue
fuse_qkv_10optBOOLEANtrue

Outputs (1)

NameTypeDescription
MODELMODEL