Nodes/⚗ AlchemicaSampler/⚗ Alchemica · Mix images (blended character) [1.0, use Alchemica Image Mix (blended start latent)]
ComfyUI Node

⚗ Alchemica · Mix images (blended character) [1.0, use Alchemica Image Mix (blended start latent)]

Italian params, same ghost-in-a-latent trick

By Nessuno76·Created about a month ago·Updated 21 days ago· 4
⚗ Alchemica · Mix images (blended character) [1.0, use Alchemica Image Mix (blended start latent)]
  • vae
  • immagine_1
  • immagine_2
  • immagine_3
  • immagine_4
  • latent
  • anteprima
  • width
  • height
  • report
◄peso_11.00►
◄peso_21.00►
◄peso_31.00►
◄peso_41.00►
◄formato2:3►
◄megapixels2.00►
◄adattamentoritaglia al centro►
◄modolatente►
◄contrasto1.00►

This is the original ⚗ Alchemica · Mix images - the node that blends up to four photos into one start latent so a sampler can resolve them into a single coherent person. It's still registered, hidden away in the legacy (1.0) category after the pack's 1.1 restyle, and its English twin is ⚗ Alchemica Image Mix.

The reason you'd land here is a downloaded workflow from before the restyle. The reason you'd leave is that there's no behavioural difference at all, only names.

The name mapping

| 1.0 | 1.1 twin | Notes | |---|---|---| | immagine_1 … immagine_4 | image_1 … image_4 | 1 required, 2–4 optional | | peso_1 … peso_4 | weight_1 … weight_4 | Normalised: 2 and 1 = 67% / 33%. 0 ignores a photo | | formato | aspect | dal primo → from image_1 | | megapixels | megapixels | Unchanged; the final resolution | | adattamento | fit | ritaglia al centro → center crop, adatta (bordi replicati) → pad (replicate edges), stira → stretch | | modo | mode | latente → latent, pixel → pixel | | contrasto | contrast | 1.0 is a plain mean; 1.1–1.2 gives back the fine contrast averaging flattens | | latent, anteprima, width, height, report | latent, preview, width, height, report | Only anteprima → preview changed |

What it actually does

Encode each photo with the VAE, weight them, average, and return a latent. That average looks like a double exposure - two faces overlapping, neither fully there. The sampler's job is to collapse that ghost into one person, which is why the pack tells you to run denoise at 0.65–0.80: below that you keep the ghost, above it you're inventing.

anteprima gives you the blend as an image so you can look at the thing before committing a render to it, and width / height are there so you can set the sampler to the same size the node built the latent at - the node picked the resolution, the sampler just works on it.

Alignment is the whole game

Averaging two photos whose faces sit at different scales produces a smear, and no denoise value rescues a smear. Crop both references so the face is roughly the same size and in roughly the same place; the adattamento widget aligns the frame, not the face. Same for exposure - the average of a bright studio shot and a dim candid is a bright studio shot with a ghost.

Porting

Two-minute job: swap in ⚗ Alchemica Image Mix, reconnect the VAE and up to four images, and translate the three menu widgets. formato, adattamento and modo are the only translated values, and the defaults are the same in both nodes (2:3, centre crop, latent mode), so a straight rewire gives an identical result.

Installing

# ComfyUI Manager: search "AlchemicaSampler"
# or
cd ComfyUI/custom_nodes && git clone https://github.com/Nessuno76/ComfyUI-AlchemicaSampler

ComfyUI 0.36+ for the pack as a whole, no pip dependencies, restart the ComfyUI server afterwards. Legacy nodes don't show up in the node search box - you'll find it under right-click → Add Node → ⚗ AlchemicaMente → legacy (1.0).

Common issues

Blend looks like two people. Lower denoise is the wrong direction - you want it in the 0.65–0.80 band, and the alignment fixes above matter more than the number.

The sampler renders at the wrong size. It isn't reading this node's width/height outputs; those are informational. Set the sampler's latent size from them, or wire them into your resolution node.

Faces get swapped between the sources. Weighted averages don't preserve identity, and the sampler is free to resolve the overlap either way. If you need to say "this trait from this photo", the word-based mixers in the same pack are the right tool.

Category⚗ AlchemicaMente/legacy (1.0)

Inputs (14)

NameTypeDefaultDescription
vaeVAE—
immagine_1IMAGE—
peso_1FLOAT1.000–4Weight of photo 1. Weights are normalised (2 and 1 = 67% / 33%). 0 = ignore this photo
peso_2FLOAT1.000–4Weight of photo 2. Weights are normalised (2 and 1 = 67% / 33%). 0 = ignore this photo
peso_3FLOAT1.000–4Weight of photo 3. Weights are normalised (2 and 1 = 67% / 33%). 0 = ignore this photo
peso_4FLOAT1.000–4Weight of photo 4. Weights are normalised (2 and 1 = 67% / 33%). 0 = ignore this photo
formatoCOMBO2:3Output shape. 'dal primo' = same aspect ratio as photo 1
megapixelsFLOAT2.000.25–8FINAL resolution (the sampler works at this size)
adattamentoCOMBOritaglia al centroHow photos with a different shape are fitted. Cropping to the centre is best for portraits
modoCOMBOlatentelatente = blend the encoded photos; pixel = blend the pixels, then encode (very similar, sometimes cleaner)
contrastoFLOAT1.000.5–1.51.0 = plain mean. Averaging flattens fine contrast; >1 gives it back (try 1.1-1.2), <1 blurs the blend more
immagine_2optIMAGE—
immagine_3optIMAGE—
immagine_4optIMAGE—

Outputs (5)

NameTypeDescription
latentLATENT—
anteprimaIMAGE—
widthINT—
heightINT—
reportSTRING—