Nodes/AnimateDiff Evolved/Combine LoRA Hooks [2] πŸŽ­πŸ…πŸ…“
ComfyUI Node Runs on cloud

Combine LoRA Hooks [2] πŸŽ­πŸ…πŸ…“

Merging scheduled LoRAs in AnimateDiff

By KosinkadinkΒ·Created 3 years agoΒ·Updated 12 days agoΒ· 3,519
Combine LoRA Hooks [2] πŸŽ­πŸ…πŸ…“
  • lora_hook_A
  • lora_hook_B
  • HOOKS

Quick context before the node itself: AnimateDiff-Evolved has its own LoRA scheduling system, separate from ComfyUI's plain LoRA loader. A "LoRA hook" is a LoRA (or, per the README, a model used as a LoRA) that can be masked, timed to a percentage range of sampling, or attached to specific conditioning - rather than just applying uniformly for the whole run the way a normal LoRA loader does. This node doesn't create hooks; it merges two of them into one.

What it does

If you've built two separate LoRA hooks - say, one for a character LoRA scheduled to the first half of the animation and another for a style LoRA active throughout - this node combines them into a single HOOKS value so downstream nodes (conditioning nodes, model-application nodes) can apply both at once instead of only accepting one hook chain. It's pure plumbing: no strength math, no scheduling logic of its own, just "take A and B, give back one thing that represents both."

Inputs and output

  • lora_hook_A, lora_hook_B (both optional, type HOOKS) - the two hook chains to merge. Either can be left empty if you only have one to pass through, though at that point you don't strictly need this node at all.

Output is HOOKS, feeding into whatever conditioning or model-application node consumes a combined hook set downstream.

How to install it

Bundled with the pack.

  • ComfyUI Manager - search AnimateDiff Evolved by Kosinkadink, install, restart.
  • Manual - cd ComfyUI/custom_nodes && git clone https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved, restart.
  • You'll need actual LoRA hook-creation nodes elsewhere in your graph feeding lora_hook_A/B - this node is only the merge step.

Common issues & troubleshooting

This is a niche corner of the pack. LoRA hooks aren't something most AnimateDiff users touch - community discussion of them is thin even relative to the rest of this pack's less mainstream features. If you're here, you're probably already deep into a specific scheduling problem rather than looking for a general-purpose LoRA loader; for the common case ("just apply this LoRA the whole time"), a plain LoRA loader upstream of your checkpoint is simpler and does the job.

Nothing happens even with both inputs wired. This node only merges - it doesn't apply anything. Check that the resulting HOOKS output actually reaches a node further downstream that consumes hooks (conditioning nodes with an opt_lora_hook input, or the model-application chain), and that the LoRA hooks feeding into A and B were themselves built correctly and pointed at real LoRA files.

You have more than two hooks to combine. Use Combine LoRA Hooks [8] instead - same idea, more slots. This two-slot version is for the simple case; reach for the eight-slot one if you're stacking several scheduled LoRAs at once.

CategoryAnimate Diff πŸŽ­πŸ…πŸ…“/conditioning/combine lora hooks

Inputs (2)

NameTypeDefaultDescription
lora_hook_AoptHOOKSβ€”
lora_hook_BoptHOOKSβ€”

Outputs (1)

NameTypeDescription
HOOKSHOOKSβ€”