Eric Krea2 Sigmas
Where sampler tuning actually happens — per-stage sigma curves with a live preview
- sigmas
Here's the thing about the modern sampler debate: it's not really about the solver, it's about where the sigma steps land. Eric Krea2 Sigmas is the pack's dedicated tool for that - it authors per-stage sigma curves (S1/S2/S3) and hands them to Multi-Stage Ultra as a KREA2_SIGMAS bundle that overrides each stage's schedule dropdown. Think of it as the steering wheel for where your sampling effort goes, separate from how each step is solved.
Every stage on the node gets the same set of knobs. sN_enable toggles whether that stage uses this curve or falls back to the Ultra panel's dropdown. sN_curve picks the spacing family - linear (composition), balanced/karras (more low-sigma detail), beta57/beta (the RES4LYF beta spacing that anime and realism workflows now name by default), bong_tangent (hold-then-drop), exponential (geometric), plus linear_quadratic and simple. Then the two controls that do the real work:
- sN_detail_bias - the knob you'll actually touch. Positive packs steps at low sigma (fine detail); negative favors high sigma (structure). The tooltip is explicit that it works on every curve - Karras rho for the karras family, slope for bong_tangent, step redistribution otherwise. Want more texture? Push +0.2. Getting mottling? Pull back.
- sN_rho / sN_alpha / sN_beta - advanced: explicit Karras rho (0 = auto from detail_bias), and the Beta-distribution α/β for the
betacurve.beta57is just fixed α=0.5, β=0.7. You can ignore these until you're chasing a specific recipe.
The author's own field notes are your best starting point: res_2s + beta57 for the Stage-1 draft, deis_3m/deis_4m (or the newer abnorsett_4m) + bong_tangent for refine passes, and positive detail bias on karras tends to improve stability for deis_3m. The README's sampler×schedule stability table is the deep dive; this node is where you act on it.
The node also ships the pack's ★ preset system - sigmas_preset dropdown backed by sigmas_presets.json, with shipped recipes like the EXP1–EXP6 exponential-family set that the author found as his field-tested Stage-1 curves. And preset_notes lets you save one or two sentences about what a curve is for, which is exactly the kind of self-documentation that keeps a preset library usable three months later. The on-node live preview (solid = steps that run, ring = re-noise level, ghost = full schedule) means you can see the curve bend as you drag detail_bias - which is how you learn what these knobs do without burning generations.
Wiring is one output, sigmas, into the Ultra node's sigmas input. The shapes are resolution-independent; the Ultra node realizes them at its own s1_steps/s2_steps/s3_steps, so you can tune a curve once and reuse it across resolutions.
How to install
Part of EricRollei/Krea2_ComfyUI_Advanced. ComfyUI Manager → search "Krea2_ComfyUI_Advanced", or:
cd ComfyUI/custom_nodes
git clone https://github.com/EricRollei/Krea2_ComfyUI_Advanced
Restart, plus the pack-wide prerequisites (git diffusers with Krea2Pipeline, transformers>=4.57.0, Krea 2 weights).
Common issues
- Curve has no effect on a stage -
sN_enableoff, or the stage's sampler iseuler(euler stages skip the custom-shape machinery and run stock flow-match shift). Check both. - Presets you saved don't show - dropdown refreshes on graph reload.
- Detail looks splotchy at high res on Turbo - that's the mu/shift conversation, not the curve; raise
distilled_shifthandling on the Ultra node or dropdetail_bias. The two knobs interact more than you'd think.
Inputs (20)
| Name | Type | Default | Description |
|---|---|---|---|
| sigmas_presetopt | COMBO | custom | Load a saved sigma-shape recipe into the panel for this run. 'custom' = use the panel as-is. Use the ★ Save Preset button to add one; the list refreshes on graph reload. |
| s1_enableopt | BOOLEAN | true | When ON, S1 uses this curve and OVERRIDES the Ultra node's s1_schedule dropdown. When OFF, S1 falls back to that dropdown (mix authored + panel stages). |
| s1_curveopt | COMBO | beta57 | S1 sigma spacing. linear=composition; balanced/karras=more low-sigma detail; beta57/beta=RES4LYF beta spacing; bong_tangent=hold-then-drop; exponential=geometric. |
| s1_detail_biasopt | FLOAT | 0.00-1–1 | S1 detail vs composition (-1..+1). >0 packs steps at low sigma (fine detail); <0 favours high sigma (structure). Works on every curve (Karras rho / bong_tangent slope, or a step redistribution otherwise). |
| s1_rhoopt | FLOAT | 0.00–30 | S1 advanced: explicit Karras rho for balanced/karras curves. 0 = auto (derived from detail_bias). Higher = more low-sigma concentration. |
| s1_alphaopt | FLOAT | 0.500.05–6 | S1 advanced: Beta-distribution alpha (only the 'beta' curve). beta57 is fixed alpha=0.5. |
| s1_betaopt | FLOAT | 0.700.05–6 | S1 advanced: Beta-distribution beta (only the 'beta' curve). beta57 is fixed beta=0.7. |
| s2_enableopt | BOOLEAN | true | When ON, S2 uses this curve and OVERRIDES the Ultra node's s2_schedule dropdown. When OFF, S2 falls back to that dropdown (mix authored + panel stages). |
| s2_curveopt | COMBO | linear | S2 sigma spacing. linear=composition; balanced/karras=more low-sigma detail; beta57/beta=RES4LYF beta spacing; bong_tangent=hold-then-drop; exponential=geometric. |
| s2_detail_biasopt | FLOAT | 0.00-1–1 | S2 detail vs composition (-1..+1). >0 packs steps at low sigma (fine detail); <0 favours high sigma (structure). Works on every curve (Karras rho / bong_tangent slope, or a step redistribution otherwise). |
| s2_rhoopt | FLOAT | 0.00–30 | S2 advanced: explicit Karras rho for balanced/karras curves. 0 = auto (derived from detail_bias). Higher = more low-sigma concentration. |
| s2_alphaopt | FLOAT | 0.500.05–6 | S2 advanced: Beta-distribution alpha (only the 'beta' curve). beta57 is fixed alpha=0.5. |
| s2_betaopt | FLOAT | 0.700.05–6 | S2 advanced: Beta-distribution beta (only the 'beta' curve). beta57 is fixed beta=0.7. |
| s3_enableopt | BOOLEAN | true | When ON, S3 uses this curve and OVERRIDES the Ultra node's s3_schedule dropdown. When OFF, S3 falls back to that dropdown (mix authored + panel stages). |
| s3_curveopt | COMBO | linear | S3 sigma spacing. linear=composition; balanced/karras=more low-sigma detail; beta57/beta=RES4LYF beta spacing; bong_tangent=hold-then-drop; exponential=geometric. |
| s3_detail_biasopt | FLOAT | 0.00-1–1 | S3 detail vs composition (-1..+1). >0 packs steps at low sigma (fine detail); <0 favours high sigma (structure). Works on every curve (Karras rho / bong_tangent slope, or a step redistribution otherwise). |
| s3_rhoopt | FLOAT | 0.00–30 | S3 advanced: explicit Karras rho for balanced/karras curves. 0 = auto (derived from detail_bias). Higher = more low-sigma concentration. |
| s3_alphaopt | FLOAT | 0.500.05–6 | S3 advanced: Beta-distribution alpha (only the 'beta' curve). beta57 is fixed alpha=0.5. |
| s3_betaopt | FLOAT | 0.700.05–6 | S3 advanced: Beta-distribution beta (only the 'beta' curve). beta57 is fixed beta=0.7. |
| preset_notesopt | STRING | One or two sentences: what this curve is FOR (which sampler / recipe) and what it does. Saved and loaded with the ★ preset. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| sigmas | KREA2_SIGMAS | — |