Nodes/ComfyUI-ConDelta/Mask ConDelta (Clamp ConDelta with another ConDelta or Conditioning)
ComfyUI Node

Mask ConDelta (Clamp ConDelta with another ConDelta or Conditioning)

Clamp one delta using another conditioning as the bound

By envy-ai·Created 2 years ago·Updated 11 months ago· 209
Mask ConDelta (Clamp ConDelta with another ConDelta or Conditioning)
  • conditioning_delta
  • mask
  • CONDITIONING

Before you wire anything into this node, read its full display name, not just its short one: "Mask ConDelta (Clamp ConDelta with another ConDelta or Conditioning)." That parenthetical is the actual behavior. If you came here expecting to plug in an image mask, you're about to hit a type error - the mask input is typed CONDITIONING, not MASK. Despite the name, this node doesn't do image masking at all. It's a third clamping tool, alongside ClampConDelta and HardClampConDelta, except this one bounds a delta using another conditioning's values instead of a fixed number.

How it works

You give it conditioning_delta (the thing you want to constrain) and mask (a second conditioning that defines the limits, despite the misleading name). The node clamps the delta element-wise against the mask's values, rather than against a flat numeric range like HardClampConDelta does or the fixed -1/1 of ClampConDelta. That makes it the most flexible of the three clamping nodes - the bound isn't a single number, it varies across the vector according to whatever you feed in as mask - but also the one that takes the most thought to use correctly, since you have to build a sensible second conditioning to clamp against rather than just picking a number.

The inputs and outputs that matter

  • conditioning_delta - the delta you're constraining.
  • mask - despite the name, this is a CONDITIONING input, not an image mask. It's the reference that sets the clamp bounds.

Output is a single CONDITIONING. One more thing worth knowing: this node's schema marks it as an output node, which in ComfyUI terms means it can act as a graph endpoint on its own - you don't strictly have to chain its output further for the graph to consider it "done," even though in practice you'll usually still want to wire the result onward into an add or apply node to actually affect a generation.

How to install it

Via ComfyUI Manager: search "ComfyUI-ConDelta", install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/envy-ai/ComfyUI-ConDelta

then restart. No model files needed for this node specifically.

Common issues & troubleshooting

The single most likely mistake: trying to plug an actual image mask into mask. ComfyUI will refuse the connection because the types don't match - mask here wants a CONDITIONING, same type as everything else in this pack. If you're looking for spatial, per-pixel masking of a generation, this isn't that node; look at ComfyUI's native conditioning-area or mask-based conditioning tools instead.

If you don't have a specific reason to bound against another conditioning's shape, use ClampConDelta or HardClampConDelta instead. Both are simpler to reason about - a fixed range or a single numeric bound - and cover the common "my delta got too large" case without needing you to construct a second conditioning just to act as a limiter.

This node's naming is a genuine trap, not a beginner misunderstanding. Even experienced ComfyUI users reasonably expect "Mask" to mean spatial masking; keep the parenthetical in mind whenever you see this node in a shared workflow.

Categoryconditioning

Inputs (2)

NameTypeDefaultDescription
conditioning_deltaCONDITIONING
maskCONDITIONING

Outputs (1)

NameTypeDescription
CONDITIONINGCONDITIONING