Combine LoRA Hooks [4] ππ π
Merging multiple scheduled/masked LoRAs into one chain
- lora_hook_A
- lora_hook_B
- lora_hook_C
- lora_hook_D
- HOOKS
LoRA Hooks are AnimateDiff-Evolved's answer to a real problem: you have two character LoRAs and you want both characters in one scene without them bleeding into each other, or a style LoRA that should only apply for part of a clip. The README describes the feature as "Maskable and Schedulable SD LoRA (and Models as LoRA) for both AnimateDiff and StableDiffusion usage via LoRA Hooks." This node doesn't create a hook - it merges up to four already-built ones into a single chain you can apply at once.
Why you'd need a combiner at all
Each LoRA Hook carries its own schedule and/or mask - when it applies, where it applies. Once you've built more than one (say, one hook per character, each masked to a different region of the frame, or one hook active only in the first half of the clip and another in the second), you need a way to bundle them before handing them off to whatever node actually applies hooked LoRAs during conditioning. This node is that bundler for up to four hooks at once. Community discussion of the technique confirms it's real and it works, with a caveat worth taking seriously: one detailed answer to "how do I get two character LoRAs to interact without merging into each other" pointed straight at LoRA Hooks, with the honest disclaimer "you can do it with Lora Hooks, but it's hard" - this is a genuinely fiddly, advanced technique, not a quick toggle.
Inputs and output
lora_hook_A,lora_hook_B,lora_hook_C,lora_hook_D(all optional,HOOKS) - up to four hook chains to merge. You don't need all four filled in; wire in as many as you're actually combining.- Output:
HOOKS- the merged chain, ready to hand to whatever conditioning/apply node in your graph consumes hooked LoRAs.
If you need more than four hooks combined at once, chain multiple ADE_CombineLoraHooksFour nodes together - feed the output of one in as one of the four slots on the next.
Installing the pack
ComfyUI Manager: search AnimateDiff Evolved, confirm the author is Kosinkadink, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved
restart. This node itself needs no extra model download - you'll still need the individual LoRA files each hook is built around, plus a motion module for the rest of an AnimateDiff graph.
Common issues
Characters/styles still bleed together after combining hooks. This is the expected difficulty, not a bug - masking and scheduling LoRA weights correctly enough to keep two character LoRAs cleanly separated genuinely requires understanding both LoRA weight behavior and mask construction well. If it's not working, the fix is usually in how the individual hooks were built (mask precision, LoRA weight strength) rather than in this combiner node, which just merges whatever it's given.
Combined result looks like only one hook is applying. Confirm each of the four input hooks is actually a HOOKS type coming from a properly configured hook-building node, not left unconnected - an unconnected optional input simply contributes nothing, silently.
Need to combine more than four. There's no five-or-more variant of this exact node in the pack; chain two ADE_CombineLoraHooksFour nodes together instead, feeding one's output into a slot on the other.
This all feels harder than it should. It is, by the community's own account, not just yours - LoRA Hooks are widely described as one of the more advanced techniques in this pack, worth budgeting real trial-and-error time for rather than expecting first-try results.
KB gap: our knowledge base doesn't cover LoRA Hooks as a technique in any depth - the mechanics of how masking and scheduling actually combine at the weight level would be worth a proper writeup given how often the technique comes up for multi-character scenes.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| lora_hook_Aopt | HOOKS | β | |
| lora_hook_Bopt | HOOKS | β | |
| lora_hook_Copt | HOOKS | β | |
| lora_hook_Dopt | HOOKS | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| HOOKS | HOOKS | β |