Smart HunyuanVideo Lora Select
The HunyuanVideo LoRA picker that keeps a paper trail
- prev_lora
- lora
- lora_string
If you're stacking LoRAs on a HunyuanVideo render, the fiddly part isn't picking the file - it's remembering what you stacked and at what strength when you go back to reproduce the shot. Smart HunyuanVideo Lora Select is the "pick one LoRA, get a machine-readable object and a human-readable receipt" node. It's part of slvslvslv's SmartHelperNodes pack, and it exists because the author got tired of losing track of which LoRAs went into a video.
Context matters here: HunyuanVideo was the first open video model that felt genuinely good - celebrated as uncensored, easy to train, and cinematic, but it wanted 45–60GB of VRAM at launch and lacked an official image-to-video mode, which is why Wan eventually took the ecosystem. People still run HyVid for its look and its LoRA culture, and stacking multiple LoRAs is how you combine a character with a style. That's the workflow this node lives in.
How it works
You pick a LoRA from ComfyUI/models/loras (it lists .safetensors files), set a strength, and choose which transformer blocks it hits. The node builds a small HYVIDLORA object - path, strength, name, and block group - and hands it downstream. It also renders a formatted lora_string like:
mylora, str:0.8, blocks:(double_blocks)
That string is the party trick. Feed it into the pack's SmartSaveText and you've got a permanent log of the exact LoRA load for every render, no screenshots required.
The blocks_type input is the HunyuanVideo-specific bit you won't see on an SDXL LoRA loader. HyVid's transformer has single_blocks and double_blocks; none means "apply everywhere" and all is the kitchen sink. double_blocks is the sensible default - if you don't know why you'd change it, leave it alone.
The inputs and outputs that matter
lora- dropdown of your LoRA files.strength- −10 to 10; the tooltip reminds you that 0.0 unmerges the LoRA entirely.blocks_type-none/all/single_blocks/double_blocks.prev_lora- optional; chain another Select into it to merge multiple LoRAs into one list. For more than a couple, skip this and use the pack's SmartHVLoraStack instead.- Outputs:
lora(HYVIDLORA) andlora_string(STRING).
The lora output is a data object, not the applied model - something downstream that understands HYVIDLORA has to actually merge the weights. Think of this node as the "declare your intent" half of a loader pair.
Installing it
This node ships inside SmartHelperNodes, so you install the pack once:
cd ComfyUI/custom_nodes
git clone https://github.com/slvslvslv/ComfyUI-SmartHelperNodes
Restart ComfyUI afterward. ComfyUI Manager also finds it under "SmartHelperNodes". No pip dependencies - requirements.txt is empty - and no downloads beyond your own LoRA files.
Common issues
The usual trap: you pick a LoRA and nothing changes in the output. Nine times out of ten that's because the lora object isn't actually connected to a node that applies it - this selector doesn't patch the model, it just describes the LoRA. Also remember blocks_type: none means no block restriction, which is what you want for a general-purpose LoRA; if a LoRA behaves weirdly after switching to a block-specific setting, that's your knob to turn back.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| lora | COMBO | LORA models are expected to be in ComfyUI/models/loras with .safetensors extension | |
| strength | FLOAT | 1.00-10–10 | LORA strength, set to 0.0 to unmerge the LORA |
| blocks_type | COMBO | double_blocks | 4 options: none, all, single_blocks, double_blocks |
| prev_loraopt | HYVIDLORA | For loading multiple LoRAs | |
| lora_stringopt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| lora | HYVIDLORA | — |
| lora_string | STRING | — |