Single Pass Mask Applicator
The mask multiply you keep re-drawing by hand
- image
- mask
- image
So many texture operations come down to the same primitive: take this image, multiply it by this mask, done. Want to darken only the crevices? Multiply the albedo by your AO. Want to zero out everything outside a region before a composite? Multiply by the mask. Single Pass Mask Applicator is that multiply, wrapped in a node so you don't re-build it with Math nodes every time.
How it works
image and mask in, masked image out. The node grayscales the mask if it's RGB (using luminance weights), expands it to match the image's channel count, clamps it to 0–1, and multiplies: output = image * mask. Black in the mask kills those pixels, white keeps them, gray dims them. That's the whole thing.
The quiet bit of engineering is the shape handling: the mask can come in as a proper ComfyUI MASK, an RGB image, or even an RGBA image, and it gets normalized to the image's dimensions and channels before the multiply. So you can feed it a mask from a segmentation node, a color-mask node, or a hand-painted image without converting anything first.
The honest take
This is the "simple" version in a family that also has the multimatte applicator (which extracts a channel from a render pass first). If you already have a mask, this is the one you want - it does nothing else, and nothing else is what makes it reliable. There's no strength slider and no invert toggle. If you need "multiply by 0.5×mask," chain a math node after it; if you need the opposite region, invert the mask upstream (the pack has plenty of mask tools for that).
Installing it
Part of amtarr/ComfyUI-TextureAlchemy. ComfyUI Manager → search "Texture Alchemy", or:
cd ComfyUI/custom_nodes
git clone https://github.com/amtarr/ComfyUI-TextureAlchemy
Restart, then right-click → Add Node → Texture Alchemist → Adjustment. No dependencies, no models.
Where people get burned
The only real trap is forgetting what a multiply does to values: it can only dim, never brighten, and it will happily turn an sRGB image into something with dark, muddy midtones if your mask has gray values where you expected white. Check the mask's range - a mask that "looks white" at 0.9 will still darken the image by 10%. And yes, the pack prints its console banner every run; that's the author's style, not a warning sign.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| mask | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |