Nodes/ComfyUI-TextureAlchemy/Blend Mode Utility
ComfyUI Node

Blend Mode Utility

26 Blend Modes, One Node, No Photoshop

By amtarr·Created 9 months ago·Updated 4 months ago· 58
Blend Mode Utility
  • base
  • blend
  • mask
  • result
mode
opacity1.00

Every material texture is the result of layers being blended together - dirt over base, AO over albedo, detail over roughness. Blend Mode Utility is TextureAlchemy's compositing workhorse: it blends two images with any of 26 Photoshop-style modes, with opacity control and an optional mask. Multiply, screen, overlay, soft light, color dodge, hue, luminosity - the full menu, in one node.

It sits in the Blending category of amtarr/ComfyUI-TextureAlchemy, and it's the node you'll wire into almost every non-trivial workflow in the pack, because almost every interesting texture effect is a blend.

How it works

Each mode is a standard per-pixel blend equation applied between base and blend:

  • multiply - darkens; the classic "bake AO into albedo" mode. White blend leaves base unchanged, black turns it black.
  • screen - lightens; for adding glow or light passes.
  • overlay / soft_light / hard_light - contrast-y modes that keep detail from both inputs. Overlay is the workhorse for detail-over-base.
  • color_dodge / color_burn / linear_dodge / linear_burn - the dramatic ones; great for light effects, dangerous on textures (they blow out fast).
  • hue / saturation / color / luminosity - HSL-style modes that move one property of the blend onto the base while keeping the rest.

opacity (0–1, default 1) scales how much of the blend result shows - the way layer opacity works in a paint program. The optional mask IMAGE limits blending to certain areas, which is how you get "dirt only in the crevices."

The inputs that matter

  • base - the bottom layer.
  • blend - the layer being composited on top.
  • mode - the 26-mode dropdown. There's no right answer; it's a menu.
  • opacity - global mix amount.
  • mask (optional) - an IMAGE mask; white = blend applies, black = base shows through.

Output is result, a single IMAGE.

Where it slots in

The pattern that justifies this node's existence: Curvature Generator produces an edge mask → multiply it into the albedo for instant contact shading. Or texture detail in overlay mode over a flat base for a procedural material. Or take your AO and multiply it into the albedo at opacity 0.7 for weathering that reads as real. It's also the general-purpose answer for "I need to composite these two textures" when you don't want to hunt through six different core ComfyUI blend nodes.

Installing it

Part of TextureAlchemy:

cd ComfyUI/custom_nodes
git clone https://github.com/amtarr/ComfyUI-TextureAlchemy

restart, and it's under Texture Alchemist → Blending. ComfyUI Manager: search "Texture Alchemy". No extra pip deps.

Gotchas

Inputs are not symmetric - base and blend swapped is a different (usually worse) result with modes like divide and difference, so keep them in the order you intend. The mask input is an IMAGE, not a MASK type; if you feed it from a mask-producing node, convert first. And the aggressive modes (dodge, linear_light, hard_mix) will happily clip your texture to pure white - dial opacity down to 0.3–0.5 before you reach for a milder mode, because you can't un-clip baked-in white.

CategoryTexture Alchemist/Blending

Inputs (5)

NameTypeDefaultDescription
baseIMAGE
blendIMAGE
modeCOMBO26 options: normal, multiply, screen, overlay, soft_light, hard_light, +20
opacityFLOAT1.000–1Layer opacity (0.0 = fully transparent, 1.0 = fully opaque)
maskoptIMAGE

Outputs (1)

NameTypeDescription
resultIMAGE