Nodes/NDDG_Great_Nodes/🍄Great Image Blend
ComfyUI Node

🍄Great Image Blend

The boring-but-handy blender that ties the pack together

By NeoDroleDeGueule·Created 10 months ago·Updated 9 months ago· 14
🍄Great Image Blend
  • image_a
  • image_b
  • IMAGE
â—„modenormalâ–ş
â—„opacity1.00â–ş

Sometimes the most useful node in a pack is the boring one. The Image Blend node does one thing - composite two images with a blend mode and an opacity - and it does it without ceremony. In the NDDG_Great_Nodes pack it's the glue: the sibling generator nodes hand you organic gradient images, and this is how you get them onto your render instead of sitting next to it.

How it works

You feed it an image_a and an image_b, pick a mode, and set an opacity. Internally it does three pieces of housekeeping you'd otherwise have to do by hand:

  • Size matching. It resizes image_b to cover image_a - scaling up with Lanczos and center-cropping - so the two are always the same dimensions when blended. No "they have to match" errors, no manual resize nodes in your graph.
  • Alpha handling. If either image lacks an alpha channel, it's added as fully opaque. Blends stay clean regardless of where the inputs came from.
  • The actual blend math. Per-pixel, for each of the nine modes: normal, multiply, screen, overlay, add, subtract, difference, lighten, darken. Nothing exotic - the familiar image-editing repertoire - but reliably implemented, with values clamped to 0–1 so you never blow out or go negative.

The opacity slider (0 to 1) controls how strongly image_b wins. At 1 it's a full blend; at 0 you just get image_a back. For a soft compositing tool, 0.3–0.6 is where most of the interesting work happens.

The output is a single IMAGE, ready to feed into a VAE decode, a save node, or onward into whatever composite chain you're building.

Where it earns its keep

Honestly? Most of the value is in the modes beyond normal. Use screen or add to layer a subtle gradient or glow over a render for lighting effects, multiply to darken a background with a colored wash, difference when you want to compare two versions of an image side by side. The pack's own workflow practically writes itself: generate an organic gradient with the random or interactive gradient node, blend it over your render with this, and you've got a colored, textured background without touching Photoshop.

How to install it

Same pack, same one-time install:

cd ComfyUI/custom_nodes
git clone https://github.com/NeoDroleDeGueule/NDDG_Great_Nodes

or search NDDG_Great_Nodes in ComfyUI Manager, then restart. No models, no downloads, no extra dependencies beyond what ships with ComfyUI (with the usual pack-wide note: if the whole pack fails to import with a matplotlib error, pip install matplotlib in ComfyUI's Python env fixes it).

Common issues

Two small quirks, both visible in the source, worth knowing before you're surprised by them:

  • It only uses the first frame. If either input is a batch of multiple images, only image[0] of each gets blended. Fine for single images - a genuine trap if you're feeding it batched outputs expecting a per-frame blend.
  • It never caches. The node always re-executes (its change-detection returns NaN), so tweaking opacity or mode always triggers a recompute. That's mostly invisible, but it does mean the node re-runs on every parameter nudge in a live graph.

That's the whole story. It's not flashy, it doesn't generate anything, and you'll probably stop noticing it's there - which is exactly what a good utility node should be.

Category🍄NDDG/Blend

Inputs (4)

NameTypeDefaultDescription
image_aIMAGE—
image_bIMAGE—
modeCOMBOnormal9 options: normal, multiply, screen, overlay, add, subtract, +3
opacityFLOAT1.000–1—

Outputs (1)

NameTypeDescription
IMAGEIMAGE—