⚗ Alchemica Image Mix (blended start latent)
Blend the photos into a latent and let the sampler sort them out
- vae
- image_1
- image_2
- image_3
- image_4
- latent
- preview
- width
- height
- report
Different philosophy to the pack's other "mix people" nodes. Face Blend and Hybrid describe the mixture in words; Image Mix doesn't describe anything. It takes up to four photos, weights them, blends them into a single start latent, and hands it to the sampler with the instruction to turn the average into one coherent person.
Done right, the result looks like a real synthesis. Done lazily, it looks like a double exposure. The difference is one number.
The mechanism, and why the recommendation matters
Encoded photos averaged together give you a latent where two faces overlap - a ghost. A diffusion sampler started from that ghost with denoise around 0.65–0.80 resolves the overlap into a single, coherent face. Go lower and you keep more of the raw blend, which means more ghost. Go higher and you're telling the sampler to invent, and you drift away from the source photos entirely.
That's the whole trick, and it's why the tooltip on this node tells you denoise 0.65–0.80 rather than leaving you to find out.
Inputs
Required: vae, image_1, and weight_1 … weight_4 (two photos are still just "photo 2 in the optional slot", so image_2 … image_4 are the optional ones).
weight_1…weight_4- normalised, so 2 and 1 means 67% / 33%. 0 ignores a photo.aspect- the output shape,2:3by default, orfrom image_1to inherit the first photo's ratio.megapixels- the final resolution. The sampler works at this size; this node is deciding it, not the sampler.fit- how photos of different shapes are fitted (center crop,pad,stretch). Centre crop is right for portraits.mode-latentencodes then blends;pixelblends the pixels then encodes. The tooltip's own verdict: very similar, pixel sometimes cleaner.contrast- 1.0 is a plain mean. Averaging flattens fine contrast, and this gives it back: try 1.1–1.2. Below 1 blurs the blend further.
Outputs: latent, preview (IMAGE - look at it), width, height (INT), and report.
The preview and width/height outputs exist because this node can't see the sampler. Check the preview before you spend a render on a smeared blend. And use the returned width/height to set your sampler's size - you don't want the sampler working at 1024×1536 on a latent the node built at 2 MP and 2:3.
Wiring it
Load Krea 2 ─ vae ──► Alchemica Image Mix ─ latent ──► Alchemica KSampler (denoise 0.7)
Load Image × 2–4 ────────────────────────────┘
Two-stage mode is off when denoise < 1 - that's true across the pack's samplers, so don't go looking for a broken setting.
The thing that actually ruins blends
Misaligned faces. Averaging two photos where the faces are different sizes and in different positions produces a smeared face, and no denoise value fixes that. Crop both photos so the face occupies roughly the same region and the same size before feeding them in. The fit widget aligns the frame, not the face.
Second most common: mixing a studio headshot with a low-light candid. The average is dominated by whichever is brighter and flatter. Match tone and scale first - ten seconds in any editor saves a lot of confused queueing.
Installing
# ComfyUI Manager: search "AlchemicaSampler"
cd ComfyUI/custom_nodes && git clone https://github.com/Nessuno76/ComfyUI-AlchemicaSampler
ComfyUI 0.36+, no pip dependencies, restart the server. This is the 1.1 node; the 1.0 original is registered as ⚗ Alchemica · Mix images with Italian parameter names, so any workflow you downloaded from before the restyle still opens.
When to use this instead of the word-based mixers
If you want a result you can explain - a child of these two, with these traits from each - use Face Blend. If you want the model's visual knowledge of what these two people look like together, with no description in the middle, use this. It's also the better tool when your reference photos aren't faces at all: two landscapes, two lighting setups, a texture and a subject.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| vae | VAE | — | |
| image_1 | IMAGE | — | |
| weight_1 | FLOAT | 1.000–4 | Weight of photo 1. Weights are normalised (2 and 1 = 67% / 33%). 0 = ignore this photo |
| weight_2 | FLOAT | 1.000–4 | Weight of photo 2. Weights are normalised (2 and 1 = 67% / 33%). 0 = ignore this photo |
| weight_3 | FLOAT | 1.000–4 | Weight of photo 3. Weights are normalised (2 and 1 = 67% / 33%). 0 = ignore this photo |
| weight_4 | FLOAT | 1.000–4 | Weight of photo 4. Weights are normalised (2 and 1 = 67% / 33%). 0 = ignore this photo |
| aspect | COMBO | 2:3 | Output shape. 'dal primo' = same aspect ratio as photo 1 |
| megapixels | FLOAT | 2.000.25–8 | FINAL resolution (the sampler works at this size) |
| fit | COMBO | center crop | How photos with a different shape are fitted. Cropping to the centre is best for portraits |
| mode | COMBO | latent | latente = blend the encoded photos; pixel = blend the pixels, then encode (very similar, sometimes cleaner) |
| contrast | FLOAT | 1.000.5–1.5 | 1.0 = plain mean. Averaging flattens fine contrast; >1 gives it back (try 1.1-1.2), <1 blurs the blend more |
| image_2opt | IMAGE | — | |
| image_3opt | IMAGE | — | |
| image_4opt | IMAGE | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| latent | LATENT | — |
| preview | IMAGE | — |
| width | INT | — |
| height | INT | — |
| report | STRING | — |