Set Model LoRA Hook ππ π
LoRAs that only apply to part of your prompt
- conditioning
- lora_hook
- CONDITIONING
Displayed as Set Model LoRA Hook, this is the entry point to a genuinely underused feature: LoRA Hooks. Normal LoRA loading applies a LoRA globally, for the entire sampling run, to the whole model. LoRA Hooks let you attach a LoRA to a specific conditioning - one prompt, or one prompt-scheduling window - so it's only active when that particular conditioning is influencing the output. The README describes the broader feature as "Maskable and Schedulable SD LoRA (and Models as LoRA) for both AnimateDiff and StableDiffusion usage via LoRA Hooks," and this node is the join point: it's how a hook actually gets tied to a conditioning object.
This is advanced enough, and used narrowly enough in the community, that most AnimateDiff workflows never touch it. It matters specifically if you're doing prompt-traveling or scheduled-prompt work (see ADE_PromptSchedulingLatents) and want different LoRAs active for different segments of the schedule, rather than one LoRA applied uniformly across the whole clip.
How it works
You build a HOOKS object somewhere upstream (from a LoRA Hook loader node in the pack) that represents "this LoRA, at this strength, hooked to fire under certain conditions." This node then takes your existing CONDITIONING - the output of a CLIP Text Encode, or a scheduled-prompt node - and attaches that hook to it, returning a new CONDITIONING that carries the hook along. Downstream, whenever this conditioning is actively influencing a sampling step, the hooked LoRA applies; when it isn't, the LoRA doesn't.
The inputs and outputs that matter
Both required: conditioning (type CONDITIONING, whatever prompt encoding you want the hook attached to) and lora_hook (type HOOKS, built upstream by a LoRA Hook node). No optional inputs. Output is a single CONDITIONING, which you route to your KSampler's positive or negative conditioning input exactly like any normal conditioning - the hook rides along invisibly inside it.
How to install it
Standard for the pack - ComfyUI Manager, search AnimateDiff Evolved by Kosinkadink, or:
cd ComfyUI/custom_nodes && git clone https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved
No model download specific to this node. You do need whatever LoRA file you're hooking, loaded through the pack's LoRA Hook loader upstream to produce the HOOKS object this node consumes.
Common issues & troubleshooting
Not sure what lora_hook should even be plugged from. This node is one piece of a small system (LoRA Hooks) rather than a standalone feature - you build the hook object with a separate loader node before you ever reach this one. If you're landing on this page cold, start by reading up on the pack's LoRA Hooks feature broadly rather than trying to reverse-engineer it from this single node.
Effect isn't showing up. Since the hook only fires when its attached conditioning is actively influencing sampling, double-check the conditioning you attached the hook to is actually reaching your KSampler - if it's getting overwritten or replaced elsewhere in the graph, the hook goes with it.
This is a genuinely niche corner of the pack, and we don't have solid grounding on documented community failure modes beyond the mechanical one above - worth flagging honestly rather than guessing at problems nobody's actually reported.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| conditioning | CONDITIONING | β | |
| lora_hook | HOOKS | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | β |