ComfyUI Node

Nuke Dissolve

Nuke Dissolve is the blend node ComfyUI keeps making you rebuild

By sumitchatterjee13·Created 12 months ago·Updated about 19 hours ago· 58
Nuke Dissolve
  • A
  • B
  • IMAGE
which0.00

The boring node you'll reach for more than you think

Nuke Dissolve does one thing: it takes image A, image B, and a single which value, and crossfades between them. That's it. No mask, no blend modes, no 28-operation dropdown. In a pack where the sibling NukeMerge ships a full Porter-Duff table, Dissolve is the deliberate minimalist, and it's the one I actually wire up most.

A linear crossfade is one of those operations people keep rebuilding by hand - two scale nodes into a Blend, or a custom math rig - when all they needed was a lerp. This is the lerp. If you've ever wanted to ease between a "before" and "after" of a generation, or slide a result toward a reference, you've wanted this node and just didn't know its name.

How it works (the mechanism)

It's exactly as simple as it looks. The source does:

result = A * (1 - which) + B * which

then clamps to 0–1. A straight, channel-wise linear interpolation between two tensors. There's no color math hiding in here - which matters, because it means the blend is only "correct" if your inputs are in the same space. Crossfading two sRGB PNGs directly lerps gamma-encoded values, which sags the midpoint and makes the transition look muddy. The right way is to decode to linear first; the pack's own NukeRead can hand you images already converted to the OCIO working space, and then the dissolve happens in linear light, which is what a crossfade wants. That's the one piece of compositing lore worth respecting here.

Two details from the code worth knowing. First, if A and B have different resolutions, both get bilinearly resampled up to the larger of the two dimensions before blending - forgiving, silently. Second, which is a single scalar applied to the whole batch, so a batch of N frames all get blended at the same ratio in one run. A real per-frame ramp (dissolve over time) means re-running at stepped which values or tweening downstream - one pass won't do it for you.

The inputs that matter

There are exactly three, and only one is a knob:

  • A (IMAGE) - the image or batch you start from.
  • B (IMAGE) - the image or batch you crossfade into.
  • which (FLOAT, 0–1, default 0, steps of 0.01) - 0 gives you pure A, 1 gives you pure B, and anything between is a straight blend. The tooltip just says "0 = A, 1 = B", which is the whole manual.

The single output is an IMAGE of the blended result, same alpha handling as the inputs - since it's a channel-wise lerp, RGBA alpha crossfades along with color, which is usually exactly what you want for a transition. Wire it into anything that takes an image: a preview, a save, or further compositing. If you need a mask-driven mix instead of a global one, that's the sibling NukeKeymix - Dissolve deliberately doesn't do masks.

Installing it

ComfyUI Manager, search "Nuke Nodes", install, restart. Or by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/sumitchatterjee13/nuke-nodes-comfyui.git nuke-nodes
cd nuke-nodes
pip install -r requirements.txt

Then restart ComfyUI and it appears under the Nuke menu, in the Nuke/Merge submenu. The pack pulls in three real dependencies as prebuilt wheels - OpenImageIO >= 2.5, OpenColorIO >= 2.2, and opencv-python-headless. Dissolve itself only needs torch, but the pack insists on all of them at install time, so expect the download to take a minute. No model files, no API keys.

Where people get burned

  • Old workflows break on 2.x. In the 2.0.0 rewrite the node was renamed from NukeMix to NukeDissolve, and inputs became A/B/which. A saved workflow from 1.x that references NukeMix needs re-wiring. Worth knowing before you drag in an example graph from a blog post.
  • The $OCIO trap is a pack-wide one, but it bites the dissolve hardest. Color dropdowns are resolved at ComfyUI startup, so if you set $OCIO to a show config you must restart ComfyUI for it to take effect - same as launching Nuke from a show environment.
  • It's a numeric lerp, not a color-managed transform. Feed it mismatched color spaces and you'll get a technically perfect blend of two wrong things. When a crossfade looks gray and dead in the middle, that's usually gamma, not the node.

One aside: the author clearly lives in VFX-pipeline land - their other public tool is a 32-bit EXR stack processor - so these nodes carry real compositor habits into ComfyUI. Treat Dissolve as the cheap, deterministic primitive it is: reach for it before you rebuild a blend, and save the 28 modes for when you actually need them.

CategoryNuke/Merge

Inputs (3)

NameTypeDefaultDescription
AIMAGE
BIMAGE
whichFLOAT0.000–10 = A, 1 = B

Outputs (1)

NameTypeDescription
IMAGEIMAGE