⚗ Alchemica Prompt (enhance + encode + NAG) [old, use Alchemica Prompt (idea / list / Ollama + NAG + latent)]
The English twin that got replaced before you found it
- clip
- model
- image
- model
- positive
- negative
- report
This node has a slightly awkward place in the AlchemicaSampler lineup, and understanding it saves you twenty minutes of wondering why you can't find it in the search box.
What it is
AlchemicaPromptAllInOne is the English restyle of the pack's original all-in-one prompt block: text encoder writes the prompt (or takes yours as written), encodes scene plus detail, patches NAG onto the model. One node between the loader and the sampler.
Then the pack moved on, and this became the middle child. Its display name says so in full: "⚗ Alchemica Prompt (enhance + encode + NAG) [old, use Alchemica Prompt (idea / list / Ollama + NAG + latent)]". The replacement is AlchemicaPromptStudio, which keeps this behaviour and adds an improve prompt mode, list/string/example sources, wildcards, an optional Ollama backend, and the start latent.
So: it's hidden from search, still registered, and it opens and runs old workflows unchanged. If you're building something new, skip to PromptStudio. There is no reason to pick this one on purpose.
What it does
Two modes. generate from idea hands your few words to Krea 2's own Qwen3-VL encoder, which writes a SCENE paragraph, a DETAIL paragraph about surfaces and skin, and a NEGATIVE list; the encoded result covers scene plus detail, and the text shows up in the report. as written skips the model entirely and encodes your scene, detail and negative_text verbatim.
style (eight photographic registers), words (scene length) and creativity (0 = deterministic, 0.6–0.9 = variations, at which point seed matters) all only apply in the generate mode. The optional image socket gives the encoder a visual reference - Qwen3-VL is a vision-language model, so with an empty idea and an image connected, it describes the image. skin decides how detail talks about skin: smooth (no body hair) strips body-hair words from the prompt and pushes them into the negative, natural (fine vellus hair) is the original 1.0 behaviour, model decides says nothing. instructions is where you put your own rules in any language; they win over the built-in ones when they conflict.
The nag_* group is the reason this node exists rather than a plain CLIP Text Encode. Krea 2 Turbo runs at CFG 1, and at CFG 1 the negative prompt is inert - there is no unconditional pass to steer. NAG applies the negative in attention space instead, and this node hands you the knobs: nag_scale (calibrated at 3), nag_tau capping the push away from the positive, nag_alpha blending back toward the original attention, nag_blocks for which DiT layers participate, and nag_sigma_start / nag_sigma_end for the window. Leave nag_sigma_start at −1 and it begins at the calibrated hand-off sigma, which is the setting that removes things without changing the composition. structure adds PAG (sharper, more contrast) or SEG (blurred queries; expect halos above 0.3).
Inputs and outputs
In: clip, model, and the text widgets. Out: model with NAG and structure applied - wire that one to the sampler, not the loader - plus positive, negative (only relevant if you raise the sampler's cfg above 1) and report. It's an output node, so the report is visible on the canvas.
Installing it
ComfyUI Manager, search "AlchemicaSampler", or:
cd ComfyUI/custom_nodes
git clone https://github.com/Nessuno76/ComfyUI-AlchemicaSampler
# restart the ComfyUI server
ComfyUI 0.36.0 or newer, because the prompt writing uses CLIP.generate. No extra Python packages; you do need the Krea 2 model, Qwen3-VL text encoder and Qwen-Image VAE in their model folders.
Where it goes wrong
- You can't find it in the node search. You shouldn't be able to - it's deprecated and hidden. Use ⚗ Alchemica Prompt (idea / list / Ollama + NAG + latent).
- The prompt never changes when you tweak the negative. The enhancer's answers are cached in memory against the rules, your text, the image and the creativity/seed, so changes to NAG or resolution don't rewrite the prompt. That's a feature.
- It wrote no DETAIL. The report says so explicitly when the model returned an incomplete answer, and shows the raw text.
- Negative prompt does nothing. With
nag_scaleat 0 the model passes through untouched, which is exactly the default-configuration behaviour of a distilled model.
Inputs (26)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | Text encoder di Krea 2: scrive il prompt (se 'genera da idea') e lo codifica sempre | |
| model | MODEL | Qui arriva NAG/struttura applicati, pronto per il sampler | |
| mode | COMBO | generate from idea | genera da idea = scrive scena/dettaglio/negativo da 'idea'. tal quale = usa 'scena'/'dettaglio'/'negativo' come li scrivi, senza generazione |
| idea | STRING | Usata solo con 'genera da idea'. Qualunque lingua, bastano poche parole. Vuota + immagine = descrive l'immagine | |
| scene | STRING | Con 'tal quale': il prompt usato com'e'. Con 'genera da idea': ignorata (la scrive il text encoder: leggi il risultato nel 'report') | |
| detail | STRING | Con 'tal quale': dettaglio usato com'e' (vuoto = solo 'scena'). Con 'genera da idea': ignorato | |
| negative_text | STRING | Con 'tal quale': negativo per il NAG, usato com'e'. Con 'genera da idea': ignorato | |
| style | COMBO | realistic photo | Usato solo con 'genera da idea' |
| words | INT | 8030–200 | Lunghezza della SCENA (il dettaglio e' il 30-50% in piu'). Usato solo con 'genera da idea' |
| creativity | FLOAT | 0.000–1.5 | 0 = deterministico (stesso testo ogni volta). 0.6-0.9 = variazioni; cambia il seed. Usato solo con 'genera da idea' |
| seed | INT | 00–18446744073709550000 | Conta solo con 'genera da idea' e creativita > 0 |
| nag_scale | FLOAT | 3.00–20 | NAG: forza del negativo a cfg 1. 0 = spento. Tarato: 3 |
| nag_tau | FLOAT | 2.51–10 | NAG: limite della norma (quanto puo' allontanarsi dal positivo) |
| nag_alpha | FLOAT | 0.250–1 | NAG: mescola con l'attenzione originale |
| nag_blocks | STRING | all | Blocchi DiT (0-27): 'tutti', '0-13', '5,8,10-12' |
| nag_sigma_start | FLOAT | -1.00-1–1 | NAG attivo da questa sigma in giu'. 1.0 = da subito (puo' cambiare la composizione). -1 = dalla sigma di passaggio del profilo (~0.87): togli il negativo SENZA cambiare la composizione |
| nag_sigma_end | FLOAT | 0.000–1 | NAG attivo fino a questa sigma |
| structure | COMBO | off | PAG = attenzione identita': piu' nitido e contrastato. SEG = query sfocate: aloni sopra 0.3 |
| structure_scale | FLOAT | 0.00-5–10 | Forza della guida di struttura. 0 = spenta |
| structure_blocks | STRING | 8-19 | — |
| seg_blur | FLOAT | 10.00.5–1000 | SEG: sigma gaussiana in token (>=1000 = infinita) |
| structure_sigma_start | FLOAT | -1.00-1–1 | Finestra della guida di struttura: da questa sigma... (-1 = dal profilo) |
| structure_sigma_end | FLOAT | 0.000–1 | ...fino a questa (costa solo dentro la finestra) |
| imageopt | IMAGE | Riferimento visivo (Qwen3-VL lo guarda). Solo con 'genera da idea' | |
| skinopt | COMBO | smooth (no body hair) | Solo con 'genera da idea' |
| instructionsopt | STRING | Tue istruzioni extra per l'enhancer, qualunque lingua. Solo con 'genera da idea' |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| model | MODEL | Con NAG/struttura applicati: collega qui il sampler |
| positive | CONDITIONING | Scena + dettaglio in un solo conditioning: collega qui il 'positive' del sampler |
| negative | CONDITIONING | Negativo codificato: serve solo se nel sampler metti cfg > 1 |
| report | STRING | — |