🖼️ Image Composite
Blend, dodge, and burn your way out of the 'paste on top' trap
- background
- foreground
- foreground_mask
- image
Compositing in ComfyUI usually means "put the foreground on top of the background," and a plain paste is almost never what you actually want. If the foreground is a render and the background is a photo, a hard paste looks pasted. What you usually want is blending - the foreground tinted into the scene, or only its bright parts added, or its dark parts burned in. 🖼️ Image Composite is the node for that, with 14 blend modes and proper alpha handling.
What it does
You give it a background and a foreground, and it layers the foreground over the background using the selected blend_mode at the given opacity. The blend math runs in torch per pixel, and it's real compositing - not just alpha blending - so Multiply, Screen, Overlay, Soft/Hard Light, Color Dodge, Color Burn, Linear Dodge/Burn, Difference, and Exclusion all behave the way they do in Photoshop. The foreground is resized to match the background before blending, so mismatched resolutions aren't a blocker.
The input that earns this node its keep is foreground_mask (optional). Wire a MASK and the foreground only lands inside the mask - with the mask's soft edges respected. That's the difference between pasting a square and pasting a shape. If your foreground is already RGBA with transparency, the node respects its own alpha too.
opacity (0–1) is the master blend strength. Crank it to 1 for a full blend; drop it to 0.5 for a half-strength pass that keeps the background showing through.
The workflow shape
The classic combo: a cutout or a mask from a segmenter (this pack's own Text Segmenter is a natural fit) feeding foreground_mask, a generated render on top, and a photo background underneath. Screen mode at moderate opacity is the go-to for adding light or glow effects over a scene - which pairs beautifully with this pack's Reflection Extractor, whose whole purpose is producing a highlight channel designed to be Screen-composited. Multiply is the equivalent for shadows and texture.
Installing it
Comes with the Louis Use pack:
cd ComfyUI/custom_nodes
git clone https://github.com/LouisLU1997/ComfyUI-louis-use Louis_use
Or "Louis Use" in ComfyUI Manager, then restart. No extra dependencies - the blend math is plain torch.
Where people get tripped up
foreground_maskis a mask, not an image. The socket is type MASK, so if you're coming from an image-processing node you need something that outputs an actual mask. The alpha of an RGBA foreground works without the mask socket, but a separate mask gives you independent control.- The foreground gets resized. If you expected exact pixel placement, check your foreground dimensions first - it's scaled to the background, not pasted at native size. There's no offset control, so position it upstream (pad or crop) if you need it somewhere other than full-frame.
- Mode names are Chinese + English. The dropdown labels are like "正片叠底 (Multiply)", "滤色 (Screen)" - the English is right there, but it's worth knowing the Chinese terms map to the standard Photoshop modes.
Fourteen modes, opacity, mask support, no dependencies. It's not a feature-packed compositor, but it's the one that's actually in the right place in your graph when you need a proper blend rather than a paste.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| background | IMAGE | — | |
| foreground | IMAGE | — | |
| blend_mode | COMBO | 正常 (Normal) | 14 options: 正常 (Normal), 正片叠底 (Multiply), 滤色 (Screen), 叠加 (Overlay), 柔光 (Soft Light), 强光 (Hard Light), +8 |
| opacity | FLOAT | 1.000–1 | — |
| foreground_maskopt | MASK | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |