WAN2.2 LoRA Randomizer
Randomize WAN2.2's High/Low LoRA Pairs Without the Node Spaghetti
- LORA_STACK_HIGH
- LORA_STACK_LOW
WAN2.2 is a two-pass model, and that single fact shapes everything about how you build for it. One model handles high noise - motion and scene composition - and a second handles low noise, refining detail. LoRAs get split to match: the community's well-worn setup puts a speed LoRA (lightx2v, CausVid) on the low-noise pass at reduced strength like 0.4–0.6 while the high-noise pass stays at full quality, and character/style LoRAs ride wherever they belong. WAN2.2 LoRA Randomizer automates the "which pairs, and how strong" part of that by rolling the dice on a configurable list of high/low LoRA pairs.
It's from the same pack as Model Randomizer - same author, same install, same vibe. If you're doing a batch exploration pass over a handful of LoRA combos, this is the node that shuffles the deck for you.
How it works
Each entry is a pair: a lora_high and a lora_low, with a chance (probability that this pair gets applied), model_weight and clip_weight for the strengths, and an enable toggle. There are two selection modes, and they behave differently enough that you should know which one you're in:
- exclusive_mode off (default) - every pair independently rolls against its chance. Roll under the chance, the pair joins the run; roll over, it sits out. Multiple pairs can land at once, and chance acts like a true 0–1 probability.
- exclusive_mode on - exactly one pair is selected, and the chance values become relative weights for a weighted random choice. In this mode, "chance" is not a probability; it's how much one pair outweighs another.
Either way the node builds two outputs: LORA_STACK_HIGH and LORA_STACK_LOW. Each is a CR-compatible LoRA stack - a list of (lora_name, model_weight, clip_weight) tuples, the format ComfyRoll's stack nodes expect. So the low-output feeds the low-noise model's LoRA input in your WAN2.2 workflow, the high-output feeds the high-noise model's, and each stack can contain several LoRAs if multiple pairs won.
The seed works exactly like its sibling node: 0 for a fresh roll every time, non-zero for a reproducible one. IS_CHANGED returns NaN so ComfyUI never caches away your randomness, and the RNG is local - your other nodes' seeds stay untouched.
Inputs and outputs
The fixed inputs are seed (default 0) and exclusive_mode (a boolean toggle, default off). Per pair you get:
- lora_high / lora_low - dropdowns over your
lorasfolder; both must be set - chance - default 1.0 (always applies); drop it to 0.5 for coin-flip behavior
- model_weight / clip_weight - default 1.0; this is where you'd set 0.4–0.6 for a low-pass speed LoRA
- enabled - toggle to park a pair without deleting it
Outputs are the two stacks above. Wire them into whatever applies a LoRA stack in your WAN2.2 graph - CR Apply LoRA Stack is the canonical consumer, and the tooltip's "CR-compatible" is the author telling you which family to reach for.
Installing it
Same pack, same dead-easy install:
cd ComfyUI/custom_nodes
git clone https://github.com/Mervent/comfyui-model-randomizer.git
Restart ComfyUI, or install via ComfyUI Manager by searching "Model Randomizer" / "comfyui-model-randomizer". No Python dependencies, no model downloads - it only reads LoRAs you already have.
Gotchas
Two things bite people. First, entries missing either a high or a low LoRA are silently skipped, and if nothing survives the filter the node returns empty stacks rather than erroring - useful, but easy to misread as "nothing happened." Second, remember this node only randomizes LoRAs, not your sampler: if you roll in a speed LoRA, you're on the hook for the CFG-1.0 rule that step-distilled WAN LoRAs demand. The node will happily give you a lightx2v pair at CFG 3.5 and let you wonder why everything looks fried. Set your ranges like a person who read the model's manual, not the node's.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| seed | INT | 00–18446744073709550000 | Seed for reproducible selection. 0 = random every time. |
| exclusive_mode | BOOLEAN | false | When enabled, only one LoRA pair is selected using chance values as relative weights. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| LORA_STACK_HIGH | LORA_STACK | CR-compatible LoRA stack containing the high LoRAs from selected pairs. |
| LORA_STACK_LOW | LORA_STACK | CR-compatible LoRA stack containing the low LoRAs from selected pairs. |