LoRA list for WanVideoWrapper by Kijai [darkilNodes]
Paste your LoRA list, get Wan low/high lists — no more per-node edits
- prev_low
- prev_high
- blocks
- lora_low
- lora_high
- ❓help
Wan 2.2's MoE architecture splits denoising between a high-noise expert (motion, composition) and a low-noise expert (detail). That split is great for quality and annoying for LoRA management, because Kijai's WanVideoWrapper nodes want you to feed the low and high noise models their own separate LoRA lists. If you've ever maintained the same speed LoRA in two places, this node exists to kill that chore: you paste one textual list and it parses it into lora_low and lora_high outputs ready for WanVideoWrapper.
How the list format works
Each line defines one LoRA, and items can also be split with ; or |. The basic syntax is:
<LoRA name>[:<strength>]
The name is matched against files in your ComfyUI loras folder (exact name, basename, or even a substring), and the optional strength overrides the node-wide default_lora_strength (FLOAT, default 1.0). Comments - both // line comments and /* ... */ block comments - are stripped before parsing, so you can leave a human-readable list sitting in the workflow.
The low/high targeting is where it gets clever. Prefixes send a LoRA to one expert only:
- Low-noise model:
l<<,l<,<low:,low: - High-noise model:
h<<,h<,<high:,high: - No prefix → applies to both
So a list like speed:0.8 hits both experts, while l<<detail_lora:0.6 only touches the low-noise pass. If you've read anything about Wan speed LoRAs being applied to the low-noise pass only, this is exactly the syntax for it.
The inputs and outputs that matter
input_list(STRING) - the list of LoRA definitions.default_lora_strength(FLOAT, default 1.0) - fallback strength for entries without one.prev_low/prev_high(WANVIDLORA) - optional previous lists to prepend, so you can chain builders.blocks(SELECTEDBLOCKS) - pass a block-selection dict if you're doing block-level targeting.low_mem_load(BOOLEAN) andmerge_loras(BOOLEAN, default true) - the latter merges multiple LoRAs into a single tensor when possible, which is the WanVideoWrapper efficiency trick.
Outputs are lora_low and lora_high (both WANVIDLORA) plus a ❓help string. The README's example is the whole story: Wan22VideoLoraListBuilder → WanVideoSetLoRAs (Kijai).
Where people get burned
Misspell a LoRA name and you get a logged error and the entry silently drops out - the node is forgiving to the point of invisibility, so check the console if a LoRA isn't biting. Also, the WANVIDLORA type is owned by WanVideoWrapper, so without Kijai's pack installed this node won't connect to anything. And merge_loras on by default is fine until you merge two LoRAs that were meant to stack - when results look "flatter" than expected, try flipping it off.
Installing
Part of the pytraveler/comfyui-darkil-nodes pack. ComfyUI Manager search ComfyUI-darkil-nodes, or:
cd ComfyUI/custom_nodes
git clone https://github.com/pytraveler/comfyui-darkil-nodes
Restart, and have ComfyUI-WanVideoWrapper installed alongside - it's the real dependency here. No model downloads come with the pack.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| input_list | STRING | — | |
| default_lora_strength | FLOAT | 1.00-10–10 | — |
| prev_lowopt | WANVIDLORA | — | |
| prev_highopt | WANVIDLORA | — | |
| blocksopt | SELECTEDBLOCKS | — | |
| low_mem_loadopt | BOOLEAN | false | — |
| merge_lorasopt | BOOLEAN | true | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| lora_low | WANVIDLORA | — |
| lora_high | WANVIDLORA | — |
| ❓help | STRING | — |