Set Props and Combine Cond ππ π
Masked, timed, LoRA-aware conditioning
- cond
- cond_ADD
- opt_mask
- opt_lora_hook
- opt_timesteps
- CONDITIONING
If you've used ComfyUI's native "Conditioning (Set Mask)" and "Conditioning (Combine)" nodes, this is AnimateDiff-Evolved's version of both rolled into one - with two extra tricks bolted on that only make sense in an animation context: a LoRA hook slot and a timestep range.
What it does
Regular conditioning masking lets you say "this piece of prompt only applies to this region of the image" (the same idea ControlNet uses spatially - restrict an effect to part of the frame rather than the whole thing). This node takes a base conditioning (cond) and combines a second conditioning (cond_ADD) into it, scaled by strength and optionally restricted to a masked area via opt_mask. That much mirrors the native nodes.
The two things AnimateDiff-Evolved adds: opt_lora_hook lets you attach a LoRA hook to this specific conditioning region, so a LoRA effect can be scoped to the same area a piece of conditioning applies to, rather than applying globally. And opt_timesteps restricts when during sampling this combined conditioning is active - tying it into the same percent-of-sampling scheduling AnimateDiff Keyframes and LoRA hooks use elsewhere in the pack. Put together, that's spatial masking, strength control, LoRA scoping, and temporal scheduling in a single conditioning node - useful for something like "this character's prompt, and this specific LoRA, apply only to the left half of the frame during the first third of the animation."
Inputs and outputs
cond- the base conditioning to build on.cond_ADD- the conditioning being combined into it.strength- how stronglycond_ADDcontributes, 0β10, default 1.set_cond_area- matches the native ComfyUI option for whether the mask defines a bounding-box region or applies more precisely; pick based on how you want the mask's edges handled.opt_mask(optional, MASK) - restrictscond_ADDto a spatial region.opt_lora_hook(optional, HOOKS) - scopes a LoRA hook to this conditioning.opt_timesteps(optional, TIMESTEPS_RANGE) - restricts when in the sampling process this combination is active.
Output is CONDITIONING, feeding your KSampler's positive or negative conditioning input like any other conditioning node.
How to install it
Bundled with the base 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.
Common issues & troubleshooting
Just need basic masked conditioning, no LoRA hook or timing. You don't need this specific node for that - ComfyUI's native masked-conditioning nodes do the job. Reach for this one specifically when you need the LoRA-hook or timestep-range behavior that's unique to AnimateDiff-Evolved.
Mask doesn't seem to restrict anything. Double-check set_cond_area matches what you expect - the bounding-box vs. precise-mask distinction changes how soft or hard the mask edges read, and picking the wrong one can make an effect look like it's not respecting the mask at all when it actually is, just more loosely than expected.
LoRA hook attached here doesn't seem to apply. opt_lora_hook scopes the hook to this conditioning's region and timing - it still needs to be a properly built hook from elsewhere in the LoRA hook system, not a raw LoRA loader output. If the hook itself isn't wired correctly upstream, attaching it here won't fix that.
opt_timesteps seems ignored. Confirm you're feeding a genuine TIMESTEPS_RANGE value from an appropriate upstream node - this input expects that specific type, not a raw float or percent.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| cond | CONDITIONING | β | |
| cond_ADD | CONDITIONING | β | |
| strength | FLOAT | 1.000β10 | β |
| set_cond_area | COMBO | 2 options: default, mask bounds | |
| opt_maskopt | MASK | β | |
| opt_lora_hookopt | HOOKS | β | |
| opt_timestepsopt | TIMESTEPS_RANGE | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | β |