Doom LoRA Stack
Up to ten LoRAs, one node, and a master volume knob
- model
- clip
- model
- clip
Doom LoRA Stack is the pack's replacement for the classic one-LoRA-at-a-time LoraLoader chain. Instead of ten chained nodes with ten pairs of strength widgets, it's one node with up to ten slots, each holding a LoRA dropdown plus strength_model and strength_clip values. Add slots with +/- buttons, stack LoRAs, and everything applies in sequence to a single model (and clip) on the way through.
If you only ever load one LoRA, this is a lateral move - LoraLoader does the same job with fewer widgets. The payoff is for the two real use cases: LoRA-heavy stylization stacks (character + style + concept LoRAs are normal in Flux workflows, and the KB's lora-training doc is full of people stacking three-plus), and batch workflows where you want every LoRA applied consistently every run.
How it works
The stacking math is standard load_lora_for_models chaining, with two conveniences layered on top:
global_strength- a single multiplier applied to every slot's strengths at once. Turn the whole stack to 60% with one widget instead of re-typing five numbers. It's effectively a master volume for your LoRA rig, and it's the first thing to reach for when a stack reads "too much."model_only- a boolean (default false) that drops the CLIP application entirely, forcingstrength_clipto 0 for all slots. The tooltip tells you why it exists: video models (LTXV, WAN, MiniMax) don't take CLIP LoRAs the way image models do. Flip this for video checkpoints and stop feeding a clip that gets ignored anyway.
Each active slot (1..lora_count) applies lora_name_i at strength_model_i × global_strength and strength_clip_i × global_strength. Set a slot's name to None and it's skipped, so you can leave gaps. The clip input is optional and ignored when model_only is on.
Outputs: model and clip, both with the stack baked in - wire them straight into a Doom sampler (or any sampler, since this outputs standard ComfyUI types).
One implementation nicety: it caches the last-loaded LoRA file, so repeated runs with the same LoRA don't re-read the safetensors off disk - a real speedup when you're seed-farming a heavy stack.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/PeterMikhai/Doom_Flux_NodePack
Restart or use ComfyUI Manager. No extra dependencies. Needs a current ComfyUI (V3 API). The README's DoomAI_nodes.git clone line is stale; the live repo is Doom_Flux_NodePack.
Common issues
- LoRAs applied to a video model look wrong. That's the
model_onlyflag sitting there unflipped. Video models want model-only application; turn it on. - "Which strength do I set?"
strength_modelis the one that does most of the visible work;strength_clipsteers the textual/CLIP influence. On image models, keep them paired; on a stack that's fighting itself, start by droppingglobal_strengthto 0.7 rather than zeroing slots one by one. - LoRA dropdown groups look odd on Windows - the pack normalizes path separators so subfolders group correctly in the dropdown; if you're seeing backslash soup, it's a known cosmetic thing, and it usually means an older version. Update.
- Strongly negative strengths are allowed (-100..100) - useful for "unapply" tricks, but easy to mis-set. Check a slot's strength before blaming the model.
It's not glamorous, but for LoRA stacking in one place with a master volume and a video-mode switch, it's the pack's "I'd rather this just work" answer.
Inputs (35)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | Модель, к которой применяется стек | |
| model_only | BOOLEAN | false | Только модель, без CLIP — для видео-моделей (LTXV, WAN, MiniMax) |
| global_strength | FLOAT | 1.00-10–10 | Множитель для всех слотов стека разом |
| lora_count | INT | 11–10 | Сколько слотов активно (можно менять кнопками «+/-») |
| lora_name_1 | COMBO | None | LoRA слот 1 (None — пропустить) |
| strength_model_1 | FLOAT | 1.00-100–100 | Сила модели слота 1 |
| strength_clip_1 | FLOAT | 1.00-100–100 | Сила CLIP слота 1 |
| lora_name_2 | COMBO | None | LoRA слот 2 (None — пропустить) |
| strength_model_2 | FLOAT | 1.00-100–100 | Сила модели слота 2 |
| strength_clip_2 | FLOAT | 1.00-100–100 | Сила CLIP слота 2 |
| lora_name_3 | COMBO | None | LoRA слот 3 (None — пропустить) |
| strength_model_3 | FLOAT | 1.00-100–100 | Сила модели слота 3 |
| strength_clip_3 | FLOAT | 1.00-100–100 | Сила CLIP слота 3 |
| lora_name_4 | COMBO | None | LoRA слот 4 (None — пропустить) |
| strength_model_4 | FLOAT | 1.00-100–100 | Сила модели слота 4 |
| strength_clip_4 | FLOAT | 1.00-100–100 | Сила CLIP слота 4 |
| lora_name_5 | COMBO | None | LoRA слот 5 (None — пропустить) |
| strength_model_5 | FLOAT | 1.00-100–100 | Сила модели слота 5 |
| strength_clip_5 | FLOAT | 1.00-100–100 | Сила CLIP слота 5 |
| lora_name_6 | COMBO | None | LoRA слот 6 (None — пропустить) |
| strength_model_6 | FLOAT | 1.00-100–100 | Сила модели слота 6 |
| strength_clip_6 | FLOAT | 1.00-100–100 | Сила CLIP слота 6 |
| lora_name_7 | COMBO | None | LoRA слот 7 (None — пропустить) |
| strength_model_7 | FLOAT | 1.00-100–100 | Сила модели слота 7 |
| strength_clip_7 | FLOAT | 1.00-100–100 | Сила CLIP слота 7 |
| lora_name_8 | COMBO | None | LoRA слот 8 (None — пропустить) |
| strength_model_8 | FLOAT | 1.00-100–100 | Сила модели слота 8 |
| strength_clip_8 | FLOAT | 1.00-100–100 | Сила CLIP слота 8 |
| lora_name_9 | COMBO | None | LoRA слот 9 (None — пропустить) |
| strength_model_9 | FLOAT | 1.00-100–100 | Сила модели слота 9 |
| strength_clip_9 | FLOAT | 1.00-100–100 | Сила CLIP слота 9 |
| lora_name_10 | COMBO | None | LoRA слот 10 (None — пропустить) |
| strength_model_10 | FLOAT | 1.00-100–100 | Сила модели слота 10 |
| strength_clip_10 | FLOAT | 1.00-100–100 | Сила CLIP слота 10 |
| clipopt | CLIP | CLIP (опц.; игнорируется при model_only) |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | MODEL | Модель с применённым стеком |
| clip | CLIP | CLIP с применённым стеком |