Smart HunyuanVideo Lora Stack
One node for all your HunyuanVideo LoRAs — up to 50 of them, if you're unhinged
- prev_lora
- lora
- lora_string
Smart HunyuanVideo Lora Stack is the "I never want to add another LoRA node again" answer. Where the pack's SmartHVLoraSelect handles one LoRA at a time, this node gives you fifty slots - each with its own name, strength, and an on/off switch - all inside a single node. It's the rgthree Power Lora Loader idea applied to HunyuanVideo, minus the trigger-word fetching and plus a whole lot of vertical space.
Let's be honest about the 50: that's absurd, and the author knows it. The lora_count input controls how many slots actually process, so you use four slots, not fifty. The point is that you never have to insert another node when a workflow grows - you just flip a slot on.
How it works
Pick a blocks_type once (the same none/all/single_blocks/double_blocks choice as the Select node - double_blocks is the safe default for HunyuanVideo), set lora_count, and fill in the enabled slots. On execution it walks slots 1 through lora_count, skips anything disabled or set to None, and collects the rest into one HYVIDLORA list with per-LoRA strengths. Every enabled LoRA is appended to the human-readable lora_string output, one line each:
char_lora, str:0.8, blocks:(double_blocks)
style_lora, str:0.5, blocks:(double_blocks)
That string is your reproducibility receipt - wire it into SmartSaveText and every render logs exactly what it loaded.
The inputs that matter
lora_count- how many slots get processed (0–50).blocks_type- the block-group selector applied to all stacked LoRAs.lora_N_enabled- the toggle that actually matters when you're A/B-ing whether a LoRA helps.lora_N_name- dropdown, defaults toNone(slot unused).lora_N_strength- per-LoRA, −10 to 10.prev_lora- chain in a previous stack/select output to combine groups.
Outputs are the same pair as the Select: lora (HYVIDLORA) and lora_string (STRING).
What it's for, in context
HunyuanVideo's LoRA culture is real - people stack a character LoRA, a motion LoRA, and a style LoRA the way SDXL folks stacked style+character+concept. Doing that with five separate loader nodes clutters the graph fast. This collapses the whole stack to one node with visible on/off toggles, so you can disable the style LoRA between runs without rewiring anything. If your workflow lives in the pack's HunyuanVideo world, this is the stacker you reach for.
Installing it
It's part of SmartHelperNodes; install the pack once:
cd ComfyUI/custom_nodes
git clone https://github.com/slvslvslv/ComfyUI-SmartHelperNodes
Restart ComfyUI, or install via ComfyUI Manager by searching "SmartHelperNodes". No pip dependencies (requirements.txt is empty), no model downloads.
Common issues
Two things bite people. First, lora_count defaults to 1 - bump it or your second enabled slot silently does nothing. Second, the node only describes LoRAs; the lora output still needs a HunyuanVideo application node that understands HYVIDLORA to merge the weights, same as the Select. If you enable slots and see no change, that's the first thing to check. And if you ever genuinely fill all 50 slots, we should talk.
Inputs (154)
| Name | Type | Default | Description |
|---|---|---|---|
| lora_count | INT | 10–50 | — |
| blocks_type | COMBO | double_blocks | 4 options: none, all, single_blocks, double_blocks |
| lora_1_enabled | BOOLEAN | true | — |
| lora_1_name | COMBO | None | 1 options: None |
| lora_1_strength | FLOAT | 1.00-10–10 | — |
| lora_2_enabled | BOOLEAN | true | — |
| lora_2_name | COMBO | None | 1 options: None |
| lora_2_strength | FLOAT | 1.00-10–10 | — |
| lora_3_enabled | BOOLEAN | true | — |
| lora_3_name | COMBO | None | 1 options: None |
| lora_3_strength | FLOAT | 1.00-10–10 | — |
| lora_4_enabled | BOOLEAN | true | — |
| lora_4_name | COMBO | None | 1 options: None |
| lora_4_strength | FLOAT | 1.00-10–10 | — |
| lora_5_enabled | BOOLEAN | true | — |
| lora_5_name | COMBO | None | 1 options: None |
| lora_5_strength | FLOAT | 1.00-10–10 | — |
| lora_6_enabled | BOOLEAN | true | — |
| lora_6_name | COMBO | None | 1 options: None |
| lora_6_strength | FLOAT | 1.00-10–10 | — |
| lora_7_enabled | BOOLEAN | true | — |
| lora_7_name | COMBO | None | 1 options: None |
| lora_7_strength | FLOAT | 1.00-10–10 | — |
| lora_8_enabled | BOOLEAN | true | — |
| lora_8_name | COMBO | None | 1 options: None |
| lora_8_strength | FLOAT | 1.00-10–10 | — |
| lora_9_enabled | BOOLEAN | true | — |
| lora_9_name | COMBO | None | 1 options: None |
| lora_9_strength | FLOAT | 1.00-10–10 | — |
| lora_10_enabled | BOOLEAN | true | — |
| lora_10_name | COMBO | None | 1 options: None |
| lora_10_strength | FLOAT | 1.00-10–10 | — |
| lora_11_enabled | BOOLEAN | true | — |
| lora_11_name | COMBO | None | 1 options: None |
| lora_11_strength | FLOAT | 1.00-10–10 | — |
| lora_12_enabled | BOOLEAN | true | — |
| lora_12_name | COMBO | None | 1 options: None |
| lora_12_strength | FLOAT | 1.00-10–10 | — |
| lora_13_enabled | BOOLEAN | true | — |
| lora_13_name | COMBO | None | 1 options: None |
| lora_13_strength | FLOAT | 1.00-10–10 | — |
| lora_14_enabled | BOOLEAN | true | — |
| lora_14_name | COMBO | None | 1 options: None |
| lora_14_strength | FLOAT | 1.00-10–10 | — |
| lora_15_enabled | BOOLEAN | true | — |
| lora_15_name | COMBO | None | 1 options: None |
| lora_15_strength | FLOAT | 1.00-10–10 | — |
| lora_16_enabled | BOOLEAN | true | — |
| lora_16_name | COMBO | None | 1 options: None |
| lora_16_strength | FLOAT | 1.00-10–10 | — |
| lora_17_enabled | BOOLEAN | true | — |
| lora_17_name | COMBO | None | 1 options: None |
| lora_17_strength | FLOAT | 1.00-10–10 | — |
| lora_18_enabled | BOOLEAN | true | — |
| lora_18_name | COMBO | None | 1 options: None |
| lora_18_strength | FLOAT | 1.00-10–10 | — |
| lora_19_enabled | BOOLEAN | true | — |
| lora_19_name | COMBO | None | 1 options: None |
| lora_19_strength | FLOAT | 1.00-10–10 | — |
| lora_20_enabled | BOOLEAN | true | — |
| lora_20_name | COMBO | None | 1 options: None |
| lora_20_strength | FLOAT | 1.00-10–10 | — |
| lora_21_enabled | BOOLEAN | true | — |
| lora_21_name | COMBO | None | 1 options: None |
| lora_21_strength | FLOAT | 1.00-10–10 | — |
| lora_22_enabled | BOOLEAN | true | — |
| lora_22_name | COMBO | None | 1 options: None |
| lora_22_strength | FLOAT | 1.00-10–10 | — |
| lora_23_enabled | BOOLEAN | true | — |
| lora_23_name | COMBO | None | 1 options: None |
| lora_23_strength | FLOAT | 1.00-10–10 | — |
| lora_24_enabled | BOOLEAN | true | — |
| lora_24_name | COMBO | None | 1 options: None |
| lora_24_strength | FLOAT | 1.00-10–10 | — |
| lora_25_enabled | BOOLEAN | true | — |
| lora_25_name | COMBO | None | 1 options: None |
| lora_25_strength | FLOAT | 1.00-10–10 | — |
| lora_26_enabled | BOOLEAN | true | — |
| lora_26_name | COMBO | None | 1 options: None |
| lora_26_strength | FLOAT | 1.00-10–10 | — |
| lora_27_enabled | BOOLEAN | true | — |
| lora_27_name | COMBO | None | 1 options: None |
| lora_27_strength | FLOAT | 1.00-10–10 | — |
| lora_28_enabled | BOOLEAN | true | — |
| lora_28_name | COMBO | None | 1 options: None |
| lora_28_strength | FLOAT | 1.00-10–10 | — |
| lora_29_enabled | BOOLEAN | true | — |
| lora_29_name | COMBO | None | 1 options: None |
| lora_29_strength | FLOAT | 1.00-10–10 | — |
| lora_30_enabled | BOOLEAN | true | — |
| lora_30_name | COMBO | None | 1 options: None |
| lora_30_strength | FLOAT | 1.00-10–10 | — |
| lora_31_enabled | BOOLEAN | true | — |
| lora_31_name | COMBO | None | 1 options: None |
| lora_31_strength | FLOAT | 1.00-10–10 | — |
| lora_32_enabled | BOOLEAN | true | — |
| lora_32_name | COMBO | None | 1 options: None |
| lora_32_strength | FLOAT | 1.00-10–10 | — |
| lora_33_enabled | BOOLEAN | true | — |
| lora_33_name | COMBO | None | 1 options: None |
| lora_33_strength | FLOAT | 1.00-10–10 | — |
| lora_34_enabled | BOOLEAN | true | — |
| lora_34_name | COMBO | None | 1 options: None |
| lora_34_strength | FLOAT | 1.00-10–10 | — |
| lora_35_enabled | BOOLEAN | true | — |
| lora_35_name | COMBO | None | 1 options: None |
| lora_35_strength | FLOAT | 1.00-10–10 | — |
| lora_36_enabled | BOOLEAN | true | — |
| lora_36_name | COMBO | None | 1 options: None |
| lora_36_strength | FLOAT | 1.00-10–10 | — |
| lora_37_enabled | BOOLEAN | true | — |
| lora_37_name | COMBO | None | 1 options: None |
| lora_37_strength | FLOAT | 1.00-10–10 | — |
| lora_38_enabled | BOOLEAN | true | — |
| lora_38_name | COMBO | None | 1 options: None |
| lora_38_strength | FLOAT | 1.00-10–10 | — |
| lora_39_enabled | BOOLEAN | true | — |
| lora_39_name | COMBO | None | 1 options: None |
| lora_39_strength | FLOAT | 1.00-10–10 | — |
| lora_40_enabled | BOOLEAN | true | — |
| lora_40_name | COMBO | None | 1 options: None |
| lora_40_strength | FLOAT | 1.00-10–10 | — |
| lora_41_enabled | BOOLEAN | true | — |
| lora_41_name | COMBO | None | 1 options: None |
| lora_41_strength | FLOAT | 1.00-10–10 | — |
| lora_42_enabled | BOOLEAN | true | — |
| lora_42_name | COMBO | None | 1 options: None |
| lora_42_strength | FLOAT | 1.00-10–10 | — |
| lora_43_enabled | BOOLEAN | true | — |
| lora_43_name | COMBO | None | 1 options: None |
| lora_43_strength | FLOAT | 1.00-10–10 | — |
| lora_44_enabled | BOOLEAN | true | — |
| lora_44_name | COMBO | None | 1 options: None |
| lora_44_strength | FLOAT | 1.00-10–10 | — |
| lora_45_enabled | BOOLEAN | true | — |
| lora_45_name | COMBO | None | 1 options: None |
| lora_45_strength | FLOAT | 1.00-10–10 | — |
| lora_46_enabled | BOOLEAN | true | — |
| lora_46_name | COMBO | None | 1 options: None |
| lora_46_strength | FLOAT | 1.00-10–10 | — |
| lora_47_enabled | BOOLEAN | true | — |
| lora_47_name | COMBO | None | 1 options: None |
| lora_47_strength | FLOAT | 1.00-10–10 | — |
| lora_48_enabled | BOOLEAN | true | — |
| lora_48_name | COMBO | None | 1 options: None |
| lora_48_strength | FLOAT | 1.00-10–10 | — |
| lora_49_enabled | BOOLEAN | true | — |
| lora_49_name | COMBO | None | 1 options: None |
| lora_49_strength | FLOAT | 1.00-10–10 | — |
| lora_50_enabled | BOOLEAN | true | — |
| lora_50_name | COMBO | None | 1 options: None |
| lora_50_strength | FLOAT | 1.00-10–10 | — |
| prev_loraopt | HYVIDLORA | For loading multiple LoRAs | |
| lora_stringopt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| lora | HYVIDLORA | — |
| lora_string | STRING | — |