Nodes/⚗ AlchemicaSampler/⚗ Alchemica KSampler Pro (two-phase prompt, previews)
ComfyUI Node

⚗ Alchemica KSampler Pro (two-phase prompt, previews)

Pick the composition before you spend the render

By Nessuno76·Created about a month ago·Updated 21 days ago· 4
⚗ Alchemica KSampler Pro (two-phase prompt, previews)
  • model
  • positive
  • latent_image
  • positive_detail
  • negative
  • refiner_model
  • opts
  • vae
  • latent
  • sigma_plot
  • report
  • used_seed
  • image
◄seed0►
◄profile▾►
◄modebalanced►
◄two_stagetrue►
◄redraw-1.00►
◄detail0.12►
◄variety0.60►
◄denoise1.00►
◄phase_switch_sigma-1.00►
◄phase_blend0.00►
◄previews0►
◄pick0►
◄refine_variant0►
◄preview_methodlatent2rgb (fast)►
◄degrid0.0►

Krea 2 Turbo locks composition in the very first step - the pack measured 98.5% of it settled by σ ≈ 0.87. Which means the expensive part of a render is deciding something you could have checked in thirty seconds. This node does the checking: it generates N cheap low-resolution previews from consecutive seeds, you look at them, you tell it which one to finish.

That's the feature that justifies the node. The two-phase prompt and the refinement variant are the supporting cast.

Previews, the actual workflow

previews = N produces N low-res images with seeds seed, seed+1, … up to about 30 seconds each. Stage 1 is exactly the stage 1 of the final image, and stage 2 is redone small with the same noise field. Measured preview→final similarity: 0.87–0.90. Clothing may change; pose and framing don't.

Then the loop, and this is the bit people miss:

  1. Set previews to something like 6. Keep the seed on fixed - a randomized seed defeats the entire mechanism.
  2. Queue. You get six thumbnails.
  3. Set previews back to 0 and pick to the number you liked.
  4. Queue again, at the same fixed seed. That preview's composition gets finished at full quality.

used_seed is an output for exactly this reason - it tells you which seed the run actually used, so you can go back and reproduce it. If you ran previews and didn't note the number, it's in there.

The two-phase prompt

positive is the scene prompt. positive_detail (optional input) is the rendering-only prompt, and it takes over below phase_switch_sigma:

  • phase_switch_sigma default -1, which means "where composition is locked, from the profile" - around 0.87. Lower it and the detail prompt weighs less. 0 = off.
  • phase_blend 0 = a hard switch at no cost. Above 0 cross-fades the two prompts and costs one extra model call per step inside the band.

The measurement that makes this worth reading the tooltip for: the detail prompt acts on skin, fabric, patterns and small objects, and it does not act on colours or global style - those are decided in the first step alongside composition. So don't put "warm golden light" in the detail prompt and expect anything. Two-phase prompting measured 0.996–0.997 similarity to the scene-only image, versus 0.35–0.71 for just shoving all the words into one prompt. It's a real separation, not a vibe.

Refinement variant

refine_variant changes only the second-stage noise. Same pose, same framing, different face, different lettering, different jewellery and small objects. Set it to 1, 2, 3… to roll the fine detail of a composition you already like without rolling the composition. This is the quiet hero of the node for anyone generating a series.

Everything else

Same skeleton as the all-in-one: mode (fast / balanced / max detail), two_stage, redraw (-1 = from the profile), detail 0.12, variety 0.6 (drop to 0.15–0.2 if you see wet-skin droplets with a strong LoRA), denoise 1 (below 1 = img2img, which disables previews and two stages), and a profile whose (auto) picks the profile calibrated at the closest resolution to yours.

Optional inputs: positive_detail, negative, refiner_model (stage 2 with another checkpoint), opts, vae (decodes and shows the image in the node - with previews > 0, all of them are shown), preview_method (latent2rgb instant, taesd sharper with the TAE model), degrid 0 (active only with a VAE connected).

Outputs: latent, sigma_plot, report, used_seed, image.

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. The pack's KREA2_PRO example workflow is wired for exactly this node; KreaAlchemicaMente_K2AM is the simpler line if you're just starting.

Where people get burned

A randomized seed with previews. The previews are consecutive seeds on purpose. If your seed is set to randomize, pick finishes a composition that has nothing to do with what you looked at.

Confusing previews with a batch. It's not a batch of finished images, it's a scouting pass. Running previews = 8 and keeping all eight finished images is not what happens.

Expecting the detail prompt to fix colours. It can't, and the authors measured that. Colours and style go in the scene prompt.

Forgetting the calibration. Without a profile, -1 values fall back to analytic defaults and the report says so - you lose the measured hand-off, which is precisely the number the phase switch wants to use.

Category⚗ AlchemicaMente/sampling

Inputs (23)

NameTypeDefaultDescription
modelMODEL—
positiveCONDITIONINGSCENE prompt (or your only prompt)
latent_imageLATENTAt the final resolution (⚗ Resolution node)
seedINT00–18446744073709550000BASE seed. With previews keep it on 'fixed'
profileCOMBO(auto) = profile calibrated on this model at the closest resolution
modeCOMBObalanced3 options: fast, balanced, max detail
two_stageBOOLEANtrue—
redrawFLOAT-1.00-1–0.95Hand-off sigma between the two stages. -1 = from the profile
detailFLOAT0.120–0.25Micro-relief. 0.12 validated; above 0.2 coloured speckles come back
varietyFLOAT0.600–1.2Noise that creates texture. 0 = deterministic
denoiseFLOAT1.000–11.0 = from scratch. <1 = img2img (no two stages, no previews)
phase_switch_sigmaFLOAT-1.00-1–0.99Sigma below which the DETAIL prompt takes over. -1 = where composition is locked (from the profile, ~0.87). Lower = detail weighs less. 0 = off. Acts on skin, fabric, patterns, small objects; NOT on colours or global style (measured: those are decided in the first step together with composition)
phase_blendFLOAT0.000–0.4Width of the cross-fade between the two prompts. 0 = hard switch (no cost). >0 = gradual blend, costs one extra model call per step inside the band
previewsINT00–16N > 0: generates N low-resolution previews (seed, seed+1, ...), up to ~30 s each. Measured: pose and framing match the final image (0.87-0.90); clothing may change. Then set 0 again and pick the number in 'scelta' (choice)
pickINT00–255With previews = 0: completes preview number k (uses seed + k)
refine_variantINT00–9999Changes ONLY the second-stage noise: same pose and framing, but face, lettering, jewellery and small objects change. 0 = standard
positive_detailoptCONDITIONINGDETAIL prompt (from the ⚗ Two-phase prompt or ⚗ Text node). Disconnected = behaves like AlchemicaKrea
negativeoptCONDITIONING—
refiner_modeloptMODELStage 2 with a different model
optsoptALCHEMICA_OPTS—
vaeoptVAEOptional: the final image is decoded and SHOWN in this node, and returned on the 'image' output (like the Efficiency KSampler)
preview_methodoptCOMBOlatent2rgb (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)
degridoptFLOAT0.00–10Only 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 (5)

NameTypeDescription
latentLATENT—
sigma_plotIMAGE—
reportSTRING—
used_seedINT—
imageIMAGE—