Nodes/⚗ AlchemicaSampler/⚗ Alchemica · Face blend (2-6 photos, per-trait guide) [1.0, use Alchemica Face Blend (2-6 photos, per-trait guide)]
ComfyUI Node

⚗ Alchemica · Face blend (2-6 photos, per-trait guide) [1.0, use Alchemica Face Blend (2-6 photos, per-trait guide)]

What it is, and how to move off it

By Nessuno76·Created about a month ago·Updated 21 days ago· 4
⚗ Alchemica · Face blend (2-6 photos, per-trait guide) [1.0, use Alchemica Face Blend (2-6 photos, per-trait guide)]
  • clip
  • foto_1
  • foto_2
  • foto_3
  • foto_4
  • foto_5
  • foto_6
  • soggetto
  • report
◄peso_11.00►
◄peso_21.00►
◄peso_31.00►
◄peso_41.00►
◄peso_51.00►
◄peso_61.00►
◄guida_tratti►
◄idea►
◄parole120►
◄corpo_dalle_fototrue►
◄rileggi_fotofalse►
◄compensa_pelletrue►

If you're looking at this node in a workflow you downloaded, you're looking at the 1.0 build of ⚗ Alchemica Face Blend. The pack went through a community-standard restyle in 1.1 where every node got an English twin with standard socket names, and the old nodes were kept registered under the legacy (1.0) category so saved workflows still open and run. They're hidden from search, identical in behaviour, and nobody should be starting a new graph on one.

The short version: foto_1, peso_1, guida_tratti, soggetto are the Italian parameter names for image_1, weight_1, trait_guide, subject. Same code underneath, same results.

What it does

It blends 2–6 people into one new person - trait by trait, not by averaging pixels. Each photo is read by Krea 2's text encoder (a vision model, so it can actually look at a face; the face comes from a close crop found by an insightface detector if installed, since a face in a full-body shot is too small to describe). Code then shares those 17 traits according to your weights, and the encoder writes the resulting description. Skin, eye and hair colours are computed numerically rather than described by the language model, because the encoder read a brown skin as "warm brown" and produced an olive result.

Outputs: soggetto - the description, wire it into your prompt chain - and report.

The parameters, translated

| 1.0 (this node) | 1.1 twin | Notes | |---|---|---| | foto_1 … foto_6 | image_1 … image_6 | 1 and 2 required, 3–6 optional | | peso_1 … peso_6 | weight_1 … weight_6 | Normalised: 2 and 1 = two thirds / one third. 0 = ignore a photo | | guida_tratti | trait_guide | Per-trait override, one line each, Italian or English accepted: occhi = 2, mascella = 1:70 2:30, pelle, capelli = 1 | | idea | idea | Pose, body, clothes, mood - never the face | | parole | words | Length of the description; 110–140 for the full 17 traits | | corpo_dalle_foto | body_from_photos | Also blend build and body shape | | rileggi_foto | reread_photos | Re-read photos that are already cached in ComfyUI/user/alchemica/schede_foto.json | | compensa_pelle | skin_compensation | Picks the skin word from a table measured on what Krea 2 actually paints | | soggetto / report | subject / report | Outputs |

Everything maps one-to-one, so porting a workflow is a matter of dropping in the new node and reconnecting two wires.

Is there any reason to stay on it?

One, and it's fine: a workflow that works and that you'd rather not touch. The 1.0 nodes aren't deprecated in the sense of "will break" - they're thin registrations of the same tested code, and the pack's authors have been careful to keep the socket order stable so saved values and links don't shift.

If you're building anything new, use ⚗ Alchemica Face Blend. It's the same node, it's discoverable in the search box, and it's where fixes land.

Installing

Both nodes come from one pack:

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

ComfyUI 0.36+, no pip dependencies. Restart the ComfyUI server - a browser reload won't register the nodes, and "I installed it and nothing appeared" is nearly always this.

Common issues

Can't find the node. It's in the legacy category and hidden from search by design. Right-click → Add Node → ⚗ AlchemicaMente → legacy (1.0), or just search the display name.

The output doesn't connect to my prompt box. soggetto is a STRING, and it needs a text input that then gets encoded - the pack's ⚗ Text Encode and ⚗ Prompt nodes both take one. The pack's changelog mentions a STRING vs CONDITIONING mismatch as the most common wiring confusion in hand-built graphs, and this is exactly where it happens.

No insightface. Fine. The face-crop step degrades to reading the whole photo, which is what 1.0.x did anyway; expect coarser trait readings on full-body shots.

Category⚗ AlchemicaMente/legacy (1.0)

Inputs (19)

NameTypeDefaultDescription
clipCLIPKrea 2's text encoder, best straight from the loader (without LoRAs)
foto_1IMAGE—
foto_2IMAGE—
peso_1FLOAT1.000–4How much photo 1 pulls overall. Normalised (2 and 1 = two thirds and one third). 0 = ignore the photo
peso_2FLOAT1.000–4How much photo 2 pulls overall. Normalised (2 and 1 = two thirds and one third). 0 = ignore the photo
peso_3FLOAT1.000–4How much photo 3 pulls overall. Normalised (2 and 1 = two thirds and one third). 0 = ignore the photo
peso_4FLOAT1.000–4How much photo 4 pulls overall. Normalised (2 and 1 = two thirds and one third). 0 = ignore the photo
peso_5FLOAT1.000–4How much photo 5 pulls overall. Normalised (2 and 1 = two thirds and one third). 0 = ignore the photo
peso_6FLOAT1.000–4How much photo 6 pulls overall. Normalised (2 and 1 = two thirds and one third). 0 = ignore the photo
guida_trattiSTRINGOne line per trait, overrides the weights for that trait: occhi = 2 (eyes from photo 2) mascella = 1:70 2:30 pelle, capelli = 1 Traits: origine, viso, occhi, forma occhi, colore occhi, naso, labbra, mascella, zigomi, sopracciglia, capelli, colore capelli, pettinatura, pelle, segni, fronte, eta, corporatura, corpo
ideaSTRINGPose, body, clothing, mood. It never changes the face and hair from the photos
paroleINT12050–220Length of the description (17 traits: 110-140)
corpo_dalle_fotoBOOLEANtrueAlso blend build and body shape from the photos. Off = the body comes only from the idea
rileggi_fotoBOOLEANfalsePhotos already read are remembered on disk (fast). On = read them again (e.g. after changing the text encoder)
compensa_pelleBOOLEANtrueKrea 2 paints skin lighter than the words say. On = picks the word by a table MEASURED on a fine-tuned NVFP4 checkpoint (ITA of the painted skin), so the image matches the blend of the photos. Off = plain words (other checkpoints)
foto_3optIMAGE—
foto_4optIMAGE—
foto_5optIMAGE—
foto_6optIMAGE—

Outputs (2)

NameTypeDescription
soggettoSTRING—
reportSTRING—