Nodes/ComfyUI/LatentAdd
ComfyUI Node Runs on cloud

LatentAdd

Add two latents, get a blend

By Comfy-Org·Created 4 years ago·Updated about an hour ago· 129,964
LatentAdd
  • samples1
  • samples2
  • LATENT

This is the + operator for latent space. LatentAdd takes two latents and adds them element-wise: every channel, every pixel position, added together. It's the latent version of "combine these two things," and like most arithmetic on latents it's a blunt instrument that rewards understanding what you're actually adding.

The mechanism

samples1 + samples2, point for point, with one automatic convenience: samples2 is first resized to match samples1's spatial shape (via common_upscale with bilinear + center crop) and its batch is repeated to match. So the node won't explode on a size mismatch - it quietly conforms samples2 to samples1 and adds. The result inherits samples1's metadata.

Because latent space is compressed and structured, "adding" two latents is not like adding two images. It's more like adding two interpretations: the result carries the combined signal, and whether that lands as a coherent image or a mess depends entirely on what you're adding.

What it's actually good for

  • Blending styles or compositions. Add a content latent and a style-ish latent and you get both, though nobody can fully predict the ratio.
  • Signal injection. Add a structured perturbation or a feature latent onto a base to nudge it in a direction.
  • Batch-level effects. Since the add is per-pixel across the batch, it applies uniformly.

Honestly, for most blending jobs you'd reach for LatentBlend (which interpolates with a ratio) or the proper model-side merge nodes. LatentAdd is the brute-force tool: no ratio, no smoothness, just sum. If LatentBlend is a mixer, this is a bowl.

Inputs, output, and the trap

Two inputs - samples1, samples2 - and one LATENT out. The trap is magnitude. Adding doubles the average latent value in overlapping regions, and latents aren't linear in the way pixel values are. An over-hot latent can push the sampler into territory it wasn't trained on, producing oversaturated or "burned" output. If you see that, you're usually better off scaling one of the inputs down (there's a LatentMultiply for that) before adding, or reaching for the interpolation-based blend instead. There's also the Reinhard tonemap operation in this family if you need to clamp the result's dynamic range.

The one-liner summary

Want a sum, exactly, with no ratio knob? This node. Want a controlled mix? Look at LatentBlend first. It's a real node with a real job - just know the job is "add," and adding is rarely the gentlest way to combine two things.

Categorymodel/latent/advanced

Inputs (2)

NameTypeDefaultDescription
samples1LATENT
samples2LATENT

Outputs (1)

NameTypeDescription
LATENTLATENT