⚗ Alchemica KSampler (Krea 2, all-in-one)
The all-in-one Krea 2 sampler, and the honest answer about whether it's better
- model
- positive
- latent_image
- negative
- vae
- refiner_model
- opts
- latent
- sigma_plot
- report
- image
Here's the thing about this pack most sampler nodes don't do: the authors ran their own A/B/C test and published the result, including the part where their recipe loses. Plain ComfyUI KSampler vs calibrated schedule only vs the full two-stage recipe: branch B is "closest to the original and not always an improvement", branch C gives the most detail but a different picture every time, and if A already looks right to you, keep A.
So reach for this node when you want control and the last bit of detail, not because stock Krea 2 at 8 steps is bad. It isn't.
What it is
One node with the six knobs that matter. Everything else - step spacing, the hand-off between stages, the detail window, the restart sigma - comes from your calibration profile, or from an analytic fallback if you haven't run one. The report always tells you which of the two you got, which is the single most useful line it prints.
The knobs
model,positive,latent_image- the latent is not created here, feed it from ⚗ Resolution (or any Empty Latent) at your final resolution.profile-(auto)recognises the checkpoint and picks the closest-resolution profile. Leave it on auto.mode-fast(~30 s),balanced(~45 s),max detail(~70 s), at 3 MP. This is the step budget;stepsoverrides it if you insist.two_stage- on by default, and effectively required above ~1.5 MP. Stage 1 composes at half resolution, stage 2 refines at full.redraw- how freely stage 2 may redraw.-1= from the profile, and that's the recommendation. Crank it and you get more new detail and a possibly different composition.detail- micro-relief on skin and fabric. 0.12 is the validated value. Above 0.2 you get coloured speckles; 0.40 covers skin in them.variety- ancestral noise, i.e. texture and seed-to-seed variety. 0 = deterministic. Read the tooltip on this one: on checkpoint + strong-LoRA combinations, above ~0.3 it can produce wet-skin droplet artifacts regardless of where the noise is gated. Confirmed clean at 0.15 with a strong skin LoRA at x2. If your image looks like it's been rained on, dropvarietyto 0.15–0.2 first.denoise- 1.0 is from scratch. Below 1 turns it into img2img and disables two-stage mode.contraction- scale of the initial noise. Leave at 0.85. It is not the cause of the droplets (the authors tested it at 1.0), but at lowvarietythe 0.85 default is measurably cleaner than 1.0.cfg--1means 1.0, the Turbo default, where no negative is computed and costs nothing.
Optional inputs worth knowing: negative (only used if you push cfg above 1), vae (decodes and shows the final image in the node, Efficiency-KSampler style - the node is an output node when you use it), refiner_model (stage 2 with a different checkpoint: compose with Krea 2, refine with a fine-tune), opts (the option-node chain), preview_method (latent2rgb is instant, taesd is sharper if the TAE model is in models/vae_approx), and degrid - 0 here by default, and only active with a VAE connected.
Outputs: latent, sigma_plot (an image of the schedule it actually used - save a few, they explain what the calibration bought you), report, image.
Where it fits
Load Krea 2 → LoRA Stack → Prompt → Alchemica KSampler → Save Image
That's the pack's KreaAlchemicaMente_K2AM template, and it's the right place to start. Model, text encoder and VAE travel through the chain instead of being re-wired from the loader to five nodes.
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. You'll also want the three model files (krea2_turbo_nvfp4.safetensors or ..._fp8_scaled, qwen3vl_4b_fp8_scaled.safetensors, qwen_image_vae.safetensors) and ideally one calibration run.
Common issues
"NO profile for this model." Expected on a fresh install. It still generates; the report says it used the analytic schedule. Run the Calibration once per checkpoint and this goes away.
Out of memory at 5 MP. The pack's own testing says 4 MP is the sweet spot and 5 MP is close-ups only. Drop to 4 MP or fast.
The picture changed when you only touched detail or variety. Those feed ancestral noise, so seeds move. If you want the same image with more bite, change the calibrated schedule branch, not the noise.
Headless image output. If you don't connect a vae, there's no image output - decode with a VAE Decode node as usual and put DeGrid after it.
Inputs (20)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| positive | CONDITIONING | — | |
| latent_image | LATENT | At the final resolution (⚗ Resolution node) | |
| seed | INT | 00–18446744073709550000 | — |
| profile | COMBO | (auto) recognises the model and uses its calibration profile | |
| mode | COMBO | balanced | How many steps: veloce (fast) ~30 s, equilibrato (balanced) ~45 s, massimo dettaglio (max detail) ~70 s at 3 MP |
| two_stage | BOOLEAN | true | Composes at half resolution and refines at full resolution. Required above ~1.5 MP |
| redraw | FLOAT | -1.00-1–0.95 | How freely the second stage may redraw. -1 = from the profile (recommended). Higher = more new detail, but the composition may change |
| detail | FLOAT | 0.120–0.25 | Micro-relief of skin and fabric. 0.12 is the validated value; above 0.2 coloured speckles come back |
| variety | FLOAT | 0.600–1.2 | Ancestral noise: texture and seed-to-seed variety. 0 = deterministic. 2026-10-05: on checkpoint+LoRA combos with a strong LoRA, above ~0.3 this can produce wet-skin/droplet artifacts ('gocce') regardless of where it's gated — if you see that, lower this to 0.15-0.2 first (confirmed clean at 0.15 on a fine-tuned checkpoint with a strong LoRA at x2) |
| denoise | FLOAT | 1.000–1 | 1.0 = from scratch. <1 = img2img (disables two-stage mode) |
| contraction | FLOAT | 0.850.3–1.2 | Scale of the initial noise. 1 = standard ComfyUI noise. 2026-10-05: NOT a cause of 'gocce' by itself (tested at 1.0 with eta 0.6: gocce unchanged), but at LOW varieta (~0.3) the default 0.85 is measurably cleaner than 1.0 — leave at 0.85 unless you have a specific reason to change it |
| steps | INT | -1-1–50 | Step override. -1 = from 'modo'. Single-stage: total steps. Two-stage: overrides only stage 2 (refinement); stage 1 stays tied to the calibration profile |
| cfg | FLOAT | -1.00-1–20 | CFG override, flat (no high/low schedule). -1 = 1.0 (Turbo default: negative skipped, 0 extra cost) |
| negativeopt | CONDITIONING | Used only if you set cfg > 1 | |
| vaeopt | VAE | Optional: the final image is decoded and SHOWN in this node, and returned on the 'image' output (like the Efficiency KSampler) | |
| refiner_modelopt | MODEL | Optional: composes with the main model and REFINES with this one (e.g. anatomy from a fine-tune, skin from base Krea 2). Requires two-stage mode | |
| optsopt | ALCHEMICA_OPTS | For tinkerers: overrides everything with the option nodes (including contraction/steps/cfg set here) | |
| preview_methodopt | COMBO | latent2rgb (fast) | Live preview while sampling. latent2rgb = instant, a bit soft; taesd = sharper (needs the TAE model in models/vae_approx, otherwise latent2rgb); 'ComfyUI setting' = whatever ComfyUI is set to (often none) |
| degridopt | FLOAT | 0.00–10 | Only with a VAE connected: removes the faint 2-pixel line grid of Krea 2's VAE from the image shown and returned here (the latent is untouched). Max correction in grey levels: 2 = recommended, 0 = off |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| latent | LATENT | — |
| sigma_plot | IMAGE | — |
| report | STRING | — |
| image | IMAGE | — |