Nodes/AnimateDiff Evolved/Set Unmasked Conds πŸŽ­πŸ…πŸ…“
ComfyUI Node Runs on cloud

Set Unmasked Conds πŸŽ­πŸ…πŸ…“

Filling in what your masked pair didn't cover

By KosinkadinkΒ·Created 3 years agoΒ·Updated 8 days agoΒ· 3,519
Set Unmasked Conds πŸŽ­πŸ…πŸ…“
  • positive
  • negative
  • positive_DEFAULT
  • negative_DEFAULT
  • opt_lora_hook
  • positive
  • negative

Set Props on Conds masks a positive/negative pair to a region. This node answers the question that immediately follows: what fills in everywhere outside that mask? Feed it your already-masked pair and a default fallback pair, and it combines the two so the whole frame is actually covered - masked region from one, everything else from the other - instead of the unmasked area being left to whatever the rest of your graph happens to be doing.

What it does

positive/negative is your masked branch, typically built upstream with Set Props on Conds, carrying whatever mask, strength, LoRA hook, or timestep range you gave it. positive_DEFAULT/negative_DEFAULT is the fallback pair that fills in wherever that mask doesn't reach. The node combines them internally into a single output pair covering the entire frame. Without a node like this, you'd need to build an inverse mask by hand and run a separate combine step to stitch the two together - this does both in one call.

opt_lora_hook lets you scope a LoRA to the combined result the same way the rest of this conditioning family does, tying into the pack's maskable and schedulable LoRA Hooks system.

Why it matters for regional prompting

This is the node that makes masked conditioning actually complete, rather than a half-finished graph. A masked region without a genuine "everywhere else" pair just sits on top of whatever the base conditioning was already doing - rarely the deliberate composition you actually wanted. positive_DEFAULT/negative_DEFAULT turns "the rest of the frame" into an actual, intentional conditioning input rather than an afterthought: a character confined to a masked region, a background prompt filling in everywhere else.

The inputs and outputs that matter

Required: positive, negative, positive_DEFAULT, negative_DEFAULT (all CONDITIONING).

Optional: opt_lora_hook (HOOKS).

Outputs: positive, negative - the combined pair, covering the whole frame.

How to install it

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

then restart. No model download tied to this node itself; the motion module your workflow needs (mm_sd_v15_v2 and friends) is a separate requirement elsewhere in the graph.

Common issues & troubleshooting

Ordering matters here. positive/negative should already carry your mask, built upstream - this node doesn't create a mask itself, it only handles the "everywhere the mask isn't" side and merges the two. If you feed it two unmasked pairs, you're just stacking them, not doing regional prompting.

Visible seam at the mask's edge. If your masked region and default pair describe genuinely contradictory content - two different subjects that shouldn't overlap - a hard or poorly feathered mask boundary will show as a visible blend artifact right at that edge. That's a mask-quality problem, not something this node's settings can fix; soften or clean up the mask upstream instead.

Mixing this up with the singular version. If your graph builds conditioning one branch at a time rather than as positive/negative pairs, the sibling Set Unmasked Cond (no "s") does the equivalent job for that family.

CategoryAnimate Diff πŸŽ­πŸ…πŸ…“/conditioning

Inputs (5)

NameTypeDefaultDescription
positiveCONDITIONINGβ€”
negativeCONDITIONINGβ€”
positive_DEFAULTCONDITIONINGβ€”
negative_DEFAULTCONDITIONINGβ€”
opt_lora_hookoptHOOKSβ€”

Outputs (2)

NameTypeDescription
positiveCONDITIONINGβ€”
negativeCONDITIONINGβ€”