Nodes/⚗ AlchemicaSampler/⚗ Alchemica · Sigmas [1.0, use Alchemica Scheduler (SIGMAS)]
ComfyUI Node

⚗ Alchemica · Sigmas [1.0, use Alchemica Scheduler (SIGMAS)]

The Alchemica schedule as a SIGMAS you can plug into SamplerCustom

By Nessuno76·Created 23 days ago·Updated 6 days ago· 3
⚗ Alchemica · Sigmas [1.0, use Alchemica Scheduler (SIGMAS)]
  • model
  • opts
  • SIGMAS
  • IMAGE
◄presetalchemica_turbo►
◄profilo▾►
◄denoise1.00►

Step placement is the thing most people never touch and the thing that most affects a distilled flow-matching model. Krea 2 travels a near-straight path from noise to image; where you spend your eight or twelve samples along that path is not cosmetic. This node hands you the Alchemica step placement as a bare SIGMAS, with no sampling attached.

What it returns

Two outputs:

  • SIGMAS - the descending sigma list for a preset, single-stage. Feed it to SamplerCustom or SamplerCustomAdvanced.
  • IMAGE - a plot of the schedule. Small thing, disproportionately useful: when a generation looks wrong in a way you can't name, seeing that the steps bunched at the top or bottom of the curve tells you more than staring at the output.

The inputs

model - needed even though this node samples nothing, because the schedule depends on the model's own noise schedule (ModelSamplingFlux for Krea 2, shift mu 1.15).

preset - the same nine the samplers use, and the choice here is the schedule: alchemica_duale (the analytic two-lobe curve), alchemica_tarato (the one measured on your checkpoint), flux_shift, linear_flow, plunge_restart, and so on.

profilo - (auto) recognises the checkpoint, (nessuno) means none. This matters more here than anywhere else in the pack, because alchemica_tarato is the profile's step density. Without a profile the node warns and falls back to the analytic curve.

denoise - 1.0 for a full trajectory. Below 1 truncates the schedule for img2img, the same way a KSampler's denoise does.

opts (optional) - the chain socket, same as everywhere else in this pack.

A small nicety: if a workflow you saved references a profile name that isn't in the current dropdown, the node accepts it as long as the file exists on disk. That's a deliberate escape from the usual "menu built at startup" annoyance.

Why you'd use this instead of a sampler node

Three real cases.

You're building with SamplerCustom anyway. Then you need sigmas from somewhere, and this gives you the pack's curves rather than BasicScheduler's four options.

You want a core sampler with an Alchemica schedule. SIGMAS → SamplerCustom's sigmas input while the sampler socket holds euler, dpmpp_2m or whatever you've settled on. This is the cleanest way to isolate one variable: take the community's favourite sampler and give it the calibrated step placement. If your images suddenly improve, the schedule was the problem; if nothing changes, it wasn't.

You want to compare schedules on one seed. Two SamplerCustom branches sharing a noise seed, differing only in which SIGMAS node feeds them. That's the experiment the pack's own KREA2_ALCHEMICA_CONFRONTO workflow runs against Comfy's simple.

Worth remembering alongside it: the measured hand-off sigma (~0.87, where 98.5% of composition is locked) is baked into the two-stage presets, not into this node's single-stage output. This is a flat trajectory - no stage boundary, no restart unless the preset's geometry says so.

Installing

Part of the pack:

cd ComfyUI/custom_nodes
git clone https://github.com/Nessuno76/ComfyUI-AlchemicaSampler

Restart the server. No dependencies - the pack's pyproject.toml lists none and the scheduler code is pure torch. You do need ComfyUI 0.36.0+ for the pack generally, and a Krea 2 checkpoint loaded (or at least loadable) so the node can read the model's noise schedule.

Traps

Mismatched presets. The ⚗ Sampler (SAMPLER) node has its own preset widget. If you build "12-step foto_tarata sigmas + alchemica_turbo loop", you've invented a third recipe and the report will show values from neither cleanly.

comfy: prefixed schedulers mixed with calibrated ones. They're both selectable (comfy:karras, comfy:sgm_uniform via the option node), but the classic KL-optimised schedulers were designed for DDPM-style curved paths, not rectified flow. On Krea 2 they aren't merely "different", they're the wrong shape - a straight path leaves nothing for them to fix.

Expecting sigmas to be tuned to your step count. They're tuned to the model, not to your patience. Fewer steps on a calibrated curve still puts the samples where the model moves fastest, which is the whole argument - but 4 steps at 5 MP is still 4 steps at 5 MP.

Category⚗ AlchemicaMente/legacy (1.0)

Inputs (5)

NameTypeDefaultDescription
modelMODEL—
presetCOMBOalchemica_turbo10 options: rif_euler_simple, alchemica_duale, alchemica_turbo, alchemica_quality, alchemica_hires_2stage, foto_tarata, +4
profiloCOMBO2 options: (auto), (nessuno)
denoiseFLOAT1.000–1—
optsoptALCHEMICA_OPTSChain from another Alchemica options node

Outputs (2)

NameTypeDescription
SIGMASSIGMAS—
IMAGEIMAGE—