Nodes/ComfyUI Smart Helper Nodes/Smart HunyuanVideo Lora Stack
ComfyUI Node

Smart HunyuanVideo Lora Stack

One node for all your HunyuanVideo LoRAs — up to 50 of them, if you're unhinged

By slvslvslv·Created 2 years ago·Updated about 21 hours ago· 3
Smart HunyuanVideo Lora Stack
  • prev_lora
  • lora
  • lora_string
lora_count1
blocks_typedouble_blocks
lora_1_enabledtrue
lora_1_nameNone
lora_1_strength1.00
lora_2_enabledtrue
lora_2_nameNone
lora_2_strength1.00
lora_3_enabledtrue
lora_3_nameNone
lora_3_strength1.00
lora_4_enabledtrue
lora_4_nameNone
lora_4_strength1.00
lora_5_enabledtrue
lora_5_nameNone
lora_5_strength1.00
lora_6_enabledtrue
lora_6_nameNone
lora_6_strength1.00
lora_7_enabledtrue
lora_7_nameNone
lora_7_strength1.00
lora_8_enabledtrue
lora_8_nameNone
lora_8_strength1.00
lora_9_enabledtrue
lora_9_nameNone
lora_9_strength1.00
lora_10_enabledtrue
lora_10_nameNone
lora_10_strength1.00
lora_11_enabledtrue
lora_11_nameNone
lora_11_strength1.00
lora_12_enabledtrue
lora_12_nameNone
lora_12_strength1.00
lora_13_enabledtrue
lora_13_nameNone
lora_13_strength1.00
lora_14_enabledtrue
lora_14_nameNone
lora_14_strength1.00
lora_15_enabledtrue
lora_15_nameNone
lora_15_strength1.00
lora_16_enabledtrue
lora_16_nameNone
lora_16_strength1.00
lora_17_enabledtrue
lora_17_nameNone
lora_17_strength1.00
lora_18_enabledtrue
lora_18_nameNone
lora_18_strength1.00
lora_19_enabledtrue
lora_19_nameNone
lora_19_strength1.00
lora_20_enabledtrue
lora_20_nameNone
lora_20_strength1.00
lora_21_enabledtrue
lora_21_nameNone
lora_21_strength1.00
lora_22_enabledtrue
lora_22_nameNone
lora_22_strength1.00
lora_23_enabledtrue
lora_23_nameNone
lora_23_strength1.00
lora_24_enabledtrue
lora_24_nameNone
lora_24_strength1.00
lora_25_enabledtrue
lora_25_nameNone
lora_25_strength1.00
lora_26_enabledtrue
lora_26_nameNone
lora_26_strength1.00
lora_27_enabledtrue
lora_27_nameNone
lora_27_strength1.00
lora_28_enabledtrue
lora_28_nameNone
lora_28_strength1.00
lora_29_enabledtrue
lora_29_nameNone
lora_29_strength1.00
lora_30_enabledtrue
lora_30_nameNone
lora_30_strength1.00
lora_31_enabledtrue
lora_31_nameNone
lora_31_strength1.00
lora_32_enabledtrue
lora_32_nameNone
lora_32_strength1.00
lora_33_enabledtrue
lora_33_nameNone
lora_33_strength1.00
lora_34_enabledtrue
lora_34_nameNone
lora_34_strength1.00
lora_35_enabledtrue
lora_35_nameNone
lora_35_strength1.00
lora_36_enabledtrue
lora_36_nameNone
lora_36_strength1.00
lora_37_enabledtrue
lora_37_nameNone
lora_37_strength1.00
lora_38_enabledtrue
lora_38_nameNone
lora_38_strength1.00
lora_39_enabledtrue
lora_39_nameNone
lora_39_strength1.00
lora_40_enabledtrue
lora_40_nameNone
lora_40_strength1.00
lora_41_enabledtrue
lora_41_nameNone
lora_41_strength1.00
lora_42_enabledtrue
lora_42_nameNone
lora_42_strength1.00
lora_43_enabledtrue
lora_43_nameNone
lora_43_strength1.00
lora_44_enabledtrue
lora_44_nameNone
lora_44_strength1.00
lora_45_enabledtrue
lora_45_nameNone
lora_45_strength1.00
lora_46_enabledtrue
lora_46_nameNone
lora_46_strength1.00
lora_47_enabledtrue
lora_47_nameNone
lora_47_strength1.00
lora_48_enabledtrue
lora_48_nameNone
lora_48_strength1.00
lora_49_enabledtrue
lora_49_nameNone
lora_49_strength1.00
lora_50_enabledtrue
lora_50_nameNone
lora_50_strength1.00
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 to None (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.

CategorySmartHelperNodes

Inputs (154)

NameTypeDefaultDescription
lora_countINT10–50
blocks_typeCOMBOdouble_blocks4 options: none, all, single_blocks, double_blocks
lora_1_enabledBOOLEANtrue
lora_1_nameCOMBONone1 options: None
lora_1_strengthFLOAT1.00-10–10
lora_2_enabledBOOLEANtrue
lora_2_nameCOMBONone1 options: None
lora_2_strengthFLOAT1.00-10–10
lora_3_enabledBOOLEANtrue
lora_3_nameCOMBONone1 options: None
lora_3_strengthFLOAT1.00-10–10
lora_4_enabledBOOLEANtrue
lora_4_nameCOMBONone1 options: None
lora_4_strengthFLOAT1.00-10–10
lora_5_enabledBOOLEANtrue
lora_5_nameCOMBONone1 options: None
lora_5_strengthFLOAT1.00-10–10
lora_6_enabledBOOLEANtrue
lora_6_nameCOMBONone1 options: None
lora_6_strengthFLOAT1.00-10–10
lora_7_enabledBOOLEANtrue
lora_7_nameCOMBONone1 options: None
lora_7_strengthFLOAT1.00-10–10
lora_8_enabledBOOLEANtrue
lora_8_nameCOMBONone1 options: None
lora_8_strengthFLOAT1.00-10–10
lora_9_enabledBOOLEANtrue
lora_9_nameCOMBONone1 options: None
lora_9_strengthFLOAT1.00-10–10
lora_10_enabledBOOLEANtrue
lora_10_nameCOMBONone1 options: None
lora_10_strengthFLOAT1.00-10–10
lora_11_enabledBOOLEANtrue
lora_11_nameCOMBONone1 options: None
lora_11_strengthFLOAT1.00-10–10
lora_12_enabledBOOLEANtrue
lora_12_nameCOMBONone1 options: None
lora_12_strengthFLOAT1.00-10–10
lora_13_enabledBOOLEANtrue
lora_13_nameCOMBONone1 options: None
lora_13_strengthFLOAT1.00-10–10
lora_14_enabledBOOLEANtrue
lora_14_nameCOMBONone1 options: None
lora_14_strengthFLOAT1.00-10–10
lora_15_enabledBOOLEANtrue
lora_15_nameCOMBONone1 options: None
lora_15_strengthFLOAT1.00-10–10
lora_16_enabledBOOLEANtrue
lora_16_nameCOMBONone1 options: None
lora_16_strengthFLOAT1.00-10–10
lora_17_enabledBOOLEANtrue
lora_17_nameCOMBONone1 options: None
lora_17_strengthFLOAT1.00-10–10
lora_18_enabledBOOLEANtrue
lora_18_nameCOMBONone1 options: None
lora_18_strengthFLOAT1.00-10–10
lora_19_enabledBOOLEANtrue
lora_19_nameCOMBONone1 options: None
lora_19_strengthFLOAT1.00-10–10
lora_20_enabledBOOLEANtrue
lora_20_nameCOMBONone1 options: None
lora_20_strengthFLOAT1.00-10–10
lora_21_enabledBOOLEANtrue
lora_21_nameCOMBONone1 options: None
lora_21_strengthFLOAT1.00-10–10
lora_22_enabledBOOLEANtrue
lora_22_nameCOMBONone1 options: None
lora_22_strengthFLOAT1.00-10–10
lora_23_enabledBOOLEANtrue
lora_23_nameCOMBONone1 options: None
lora_23_strengthFLOAT1.00-10–10
lora_24_enabledBOOLEANtrue
lora_24_nameCOMBONone1 options: None
lora_24_strengthFLOAT1.00-10–10
lora_25_enabledBOOLEANtrue
lora_25_nameCOMBONone1 options: None
lora_25_strengthFLOAT1.00-10–10
lora_26_enabledBOOLEANtrue
lora_26_nameCOMBONone1 options: None
lora_26_strengthFLOAT1.00-10–10
lora_27_enabledBOOLEANtrue
lora_27_nameCOMBONone1 options: None
lora_27_strengthFLOAT1.00-10–10
lora_28_enabledBOOLEANtrue
lora_28_nameCOMBONone1 options: None
lora_28_strengthFLOAT1.00-10–10
lora_29_enabledBOOLEANtrue
lora_29_nameCOMBONone1 options: None
lora_29_strengthFLOAT1.00-10–10
lora_30_enabledBOOLEANtrue
lora_30_nameCOMBONone1 options: None
lora_30_strengthFLOAT1.00-10–10
lora_31_enabledBOOLEANtrue
lora_31_nameCOMBONone1 options: None
lora_31_strengthFLOAT1.00-10–10
lora_32_enabledBOOLEANtrue
lora_32_nameCOMBONone1 options: None
lora_32_strengthFLOAT1.00-10–10
lora_33_enabledBOOLEANtrue
lora_33_nameCOMBONone1 options: None
lora_33_strengthFLOAT1.00-10–10
lora_34_enabledBOOLEANtrue
lora_34_nameCOMBONone1 options: None
lora_34_strengthFLOAT1.00-10–10
lora_35_enabledBOOLEANtrue
lora_35_nameCOMBONone1 options: None
lora_35_strengthFLOAT1.00-10–10
lora_36_enabledBOOLEANtrue
lora_36_nameCOMBONone1 options: None
lora_36_strengthFLOAT1.00-10–10
lora_37_enabledBOOLEANtrue
lora_37_nameCOMBONone1 options: None
lora_37_strengthFLOAT1.00-10–10
lora_38_enabledBOOLEANtrue
lora_38_nameCOMBONone1 options: None
lora_38_strengthFLOAT1.00-10–10
lora_39_enabledBOOLEANtrue
lora_39_nameCOMBONone1 options: None
lora_39_strengthFLOAT1.00-10–10
lora_40_enabledBOOLEANtrue
lora_40_nameCOMBONone1 options: None
lora_40_strengthFLOAT1.00-10–10
lora_41_enabledBOOLEANtrue
lora_41_nameCOMBONone1 options: None
lora_41_strengthFLOAT1.00-10–10
lora_42_enabledBOOLEANtrue
lora_42_nameCOMBONone1 options: None
lora_42_strengthFLOAT1.00-10–10
lora_43_enabledBOOLEANtrue
lora_43_nameCOMBONone1 options: None
lora_43_strengthFLOAT1.00-10–10
lora_44_enabledBOOLEANtrue
lora_44_nameCOMBONone1 options: None
lora_44_strengthFLOAT1.00-10–10
lora_45_enabledBOOLEANtrue
lora_45_nameCOMBONone1 options: None
lora_45_strengthFLOAT1.00-10–10
lora_46_enabledBOOLEANtrue
lora_46_nameCOMBONone1 options: None
lora_46_strengthFLOAT1.00-10–10
lora_47_enabledBOOLEANtrue
lora_47_nameCOMBONone1 options: None
lora_47_strengthFLOAT1.00-10–10
lora_48_enabledBOOLEANtrue
lora_48_nameCOMBONone1 options: None
lora_48_strengthFLOAT1.00-10–10
lora_49_enabledBOOLEANtrue
lora_49_nameCOMBONone1 options: None
lora_49_strengthFLOAT1.00-10–10
lora_50_enabledBOOLEANtrue
lora_50_nameCOMBONone1 options: None
lora_50_strengthFLOAT1.00-10–10
prev_loraoptHYVIDLORAFor loading multiple LoRAs
lora_stringoptSTRING

Outputs (2)

NameTypeDescription
loraHYVIDLORA
lora_stringSTRING