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

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

Fill in everything your mask didn't cover

By KosinkadinkΒ·Created 3 years agoΒ·Updated 12 days agoΒ· 3,519
Set Unmasked Cond πŸŽ­πŸ…πŸ…“
  • cond
  • cond_DEFAULT
  • opt_lora_hook
  • CONDITIONING

Set Props on Cond masks a conditioning to a region. This node answers the question that immediately follows: what happens everywhere outside that mask? Set Unmasked Cond takes your already-masked conditioning and a second, default conditioning for the rest of the frame, and combines them in one step - it's the AnimateDiff-Evolved take on ComfyUI's stock "set default and combine" pattern, built for this pack's conditioning family specifically.

What it does

Two required inputs. cond is your masked branch - typically something you built with Set Props on Cond, carrying a mask, a strength, maybe a LoRA hook or timestep range. cond_DEFAULT is the fallback conditioning that fills in wherever cond's mask doesn't reach. The node combines the two internally, so you get a single CONDITIONING output covering the whole frame: masked region from cond, everything else from cond_DEFAULT. Without a node like this, you'd need a separate step to build an inverse mask and a separate Combine node to stitch the two together by hand - this collapses both into one.

The optional opt_lora_hook lets you scope a LoRA to this combined result the same way the sibling nodes do, tying into AnimateDiff-Evolved's maskable and schedulable LoRA Hooks feature from the README.

Why it matters for regional prompting

This is the node that makes masked conditioning actually usable in practice, rather than a half-finished graph. Without a genuine "everywhere else" conditioning, a masked region just sits on top of whatever the base prompt or empty conditioning was already doing, which is rarely what you want in a deliberate regional composition - a character in the masked area and a background prompt everywhere else, for instance. cond_DEFAULT is what makes that background prompt an actual conditioning input instead of an afterthought.

Installing it

Same as the rest of the pack: ComfyUI Manager, search AnimateDiff Evolved, author Kosinkadink, install, restart. Or git clone https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved into custom_nodes and restart manually. No model downloads are needed for this specific node - those only come into play once you wire in an actual AnimateDiff motion model elsewhere in the graph.

Common issues

The thing to get right is ordering and intent: cond should already carry the mask, built upstream with Set Props on Cond - this node doesn't create a mask itself, it just handles the "everywhere the mask isn't" side and does the merge. If your masked region and your default conditioning describe genuinely contradictory things - two different subjects that shouldn't overlap, but your mask has soft edges - expect a visible seam or blend artifact right at the mask boundary. That's a mask-quality problem, not a bug in this node, and the fix is a cleaner or better-feathered mask upstream, not a setting here.

CategoryAnimate Diff πŸŽ­πŸ…πŸ…“/conditioning/single cond ops

Inputs (3)

NameTypeDefaultDescription
condCONDITIONINGβ€”
cond_DEFAULTCONDITIONINGβ€”
opt_lora_hookoptHOOKSβ€”

Outputs (1)

NameTypeDescription
CONDITIONINGCONDITIONINGβ€”