Sign In

Sampler, Scheduler, & Sigmas: What They Actually Do (and why yours might be wrong)

2

Oct 1, 2026

(Updated: 5 hours ago)

generation guide
Sampler, Scheduler, & Sigmas: What They Actually Do (and why yours might be wrong)

Introduction:

If you have opened one of my workflows, you have seen the ๐Ÿง  brains area. Five schedulers on a switch, split sigmas, a resample, Detail Daemon, a Clown sampler. It works, but I was never truly happy with it. As much as I messed with it, my sigma schedules never behaved as well as I wanted them to, and I could not tell you why.

So I tore it apart. Every node, every number, on Krea 2, Z-Image, Flux 2 Klein and SDXL. Some of what I found was a little embarrassing (one of my favorite nodes was pushing in the wrong direction on Krea 2 ๐Ÿ˜). Then I built two nodes that replace the whole mess with settings you can actually read.

In this guide, we'll discuss the following:

  1. What a sigma actually is (no math degree needed)

  2. What was wrong with my own setup

  3. LC Sigmas: one scheduler node for one-pass, two-pass, image to image and two models

  4. LC Detail Daemon: and why the classic version breaks Krea 2

  5. The big test: which sampler and scheduler work best on which model

Note:

These are raw, isolated tests on my own machine (RTX 5090). Every comparison uses a fixed seed, so the only thing changing is the setting being tested. The nodes are in beta and will ship in my [LC123 nodes](https://github.com/lonecatone23/ComfyUI_LC123_nodes) when they are done.

What is a sigma? ๐Ÿค”

Every image starts as pure noise. Each step, the model removes some of it. A sigma is just the amount of noise left at a step, and the schedule is the list of those amounts from start to finish.

  • Big sigma (lots of noise): the model decides the big stuff. Composition, pose, where the light comes from.

  • Small sigma (little noise): the model works on fine detail. Skin, hair, fabric, text.

  • The shape of the schedule decides how many of your steps go to each part. Spend more steps up top and you get better structure. Spend more at the bottom and you get more texture.

That is it. Every scheduler (simple, beta, karras, etc.) is just a different way of spreading your steps between "big stuff" and "fine detail".

๐Ÿ’ก Flow models (Krea 2, Flux, Z-Image) count noise from 1.0 down to 0. SDXL counts from about 14.6 down to 0. Same idea, different ruler. This matters later.

What was wrong with my setup

I traced every wire in my Krea 2 flagship's Processing area. Here is what I found:

  • Detail Daemon's strength is multiplied by your CFG. The same 0.3 is twice as strong at cfg 2 as at cfg 1, and seven times as strong on SDXL at cfg 7. Nothing on the node tells you that.

  • Detail Daemon's start and end only count the pass it sits on. In a two-pass setup, moving your step swap quietly moves where the detail lands.

  • Split sigmas can jump. If the low pass uses a different schedule than the high pass, it starts at a different noise level than where the high pass stopped. The image is half done at one noise level and the model is told it is at another.

  • "Denoise 0.5" is not half. On Krea 2, denoise 0.5 starts the image at 76% noise, because of the model's shift. KSampler does the same thing. It just never tells you.

  • Resample after the split changes the high pass only. Your "total steps" stopped meaning total steps.

None of these are bugs you would ever see. They just make the results feel random, and you end up turning knobs until something looks okay. (no....just no.)

LC Sigmas ๐Ÿ“‰

One node replaces the scheduler switch, the split, the resample, and the noise nodes.

LC Sigmas (BETA)

  • steps: total steps, both passes together.

  • handoff: the step where the low pass takes over. 0 = one pass.

  • shape: the schedule family (simple, beta, karras, etc.).

  • focus: one slider. Negative = structure (more steps at high noise). Positive = detail (more steps at low noise). 0 = the shape exactly as ComfyUI makes it.

  • shift: the model's own, auto from the image size (Krea 2, Flux), or your own number.

  • denoise / i2i_steps: image to image. "keep steps" works like KSampler: denoise 0.5 still runs all your steps.

  • model_2 / shape_2: an optional second model and schedule for the low pass. It always starts at exactly the noise level where the high pass stopped, even if the second model has a different shift.

  • renoise: the low pass restarts with a little more noise (0.1 = 10% more). This is the one for cleaning up ControlNet: the clean model gets room to wash out what the ControlNet model left behind.

  • Outputs: sigmas_high, sigmas_low, noise_high, noise_low (no more RandomNoise / DisableNoise nodes), an info line, and the full schedule.

The node draws the schedule as a graph: high pass in orange, low pass in blue, the model's plain schedule dashed behind it. Under it, a plain sentence: "20 steps (14 high + 6 low) ยท starts at 100% noise ยท handoff at 58% noise, low restarts at 63%". No more guessing.

Does the split actually line up?

  • Krea 2 Turbo, 8 steps, cfg 1, euler, seed fixed

  • Same prompt for all five

04_lc_sigmas_split.jpg

How close two images are is measured in PSNR (decibels). It compares every pixel. Higher = closer.

PSNR: What it means.

  • 40 dB and up = you cannot tell them apart

  • 30 - 40 dB = tiny differences if you flip between them

  • 20 - 30 dB = same picture, visibly reworked

  • under 20 dB = different image

Things to notice:

  • Split vs one pass: 43 dB. Splitting the render in two changes nothing, which is exactly what should happen.

  • Second model with a different shift: 40 dB. The low pass picks up right where the first model stopped.

  • Renoise 0.15: 21.5 dB. Same picture, reworked. Look at the net and the hands. This is the room the low pass gets to clean things up.

  • Low pass on beta: a different schedule for the second half, no jump, no artifacts.

Focus

05_focus.jpg

Things to notice:

  • Focus -0.6 (structure): the composition itself changes. More steps went to the big decisions.

  • Focus +0.6 (detail): same composition as the original, more steps on texture. Look at the rope and the net.

๐Ÿ’ก Structure is where your picture is decided. Detail is where your finish is decided. If you like the composition, push focus positive. If the anatomy or layout is off, push it negative.

Image to image

06_i2i.jpg

Things to notice:

  • The info line said "starts at 76% noise" for denoise 0.5. That is why your i2i at 0.5 changes more than you expect on Krea 2.

  • keep steps reworks the image with all 8 steps. fewer steps only runs 4. Same noise level, less refinement.

LC Detail Daemon ๐Ÿ˜ˆ (and why the classic one breaks Krea 2)

Detail Daemon works by lying to the model. It tells the model there is a little less noise than there really is, so the model removes a little less, and the leftover turns into fine detail. Great idea. Here is the problem.

Classic Detail Daemon on SDXL

  • SDXL base 1.0, 25 steps, cfg 6, dpmpp_2m / karras

  • Detail window 20% to 80% of the render

02_classic_dd_sdxl.jpg

Things to notice:

  • Exactly what it promises. Positive adds detail (look at the net and the clouds), negative softens.

Classic Detail Daemon on Krea 2

  • Krea 2 Turbo, 8 steps, cfg 1, euler / simple

  • Same window, same method

01_classic_dd_krea.jpg

Things to notice:

  • +0.10: hazier, not sharper. The beard loses definition.

  • +0.20: the image falls apart into blocks. Look at the shirt.

  • -0.10: the negative setting is the crispest one. On Krea 2, classic Detail Daemon works backwards. ๐Ÿค”

The fix: "look only"

Flow models like Krea 2 do not react to the lie the same way. So the new node has a mode where the model is told there is less noise, but the real amount still gets removed. Only what the model sees changes.

03_lookonly_dd_krea.jpg

Things to notice:

  • +0.05 and +0.10: crisper beard, skin and fabric. Positive means more detail again.

  • +0.20: still breaks into blocks. Krea 2 Turbo has a limit, stay at 0.10 or under.

LC Detail Daemon (BETA) (and a model version for plain KSampler)

  • amount: how much of the noise is hidden from the model at the peak. 0.05 = subtle, 0.10 = strong. Not multiplied by CFG, so it means the same thing at cfg 1 and cfg 7.

  • start / end: how far along the image is, 0% = pure noise, 100% = finished. It is read from the noise level itself, so it lands in the same place in a one-pass or two-pass setup, at any step count.

  • peak: where in that window the effect is strongest. It fades in and out smoothly.

  • mode: auto picks classic for SDXL and look only for flow models. Positive always means more detail.

  • The node draws the effect as a curve, and with your sigmas wired it shows which steps get the detail.

The big test: best sampler and scheduler per model

How many images does it take to stop guessing? 3,432, as it turns out. ๐Ÿฅฑ

How it was tested:

  • Models: Krea 2 Turbo, Krea 2 Raw, Z-Image Turbo, Flux 2 Klein 9B, SDXL base 1.0, Illustrious (WAI v17)

  • Samplers (10): euler, euler_ancestral, dpmpp_2m, dpmpp_2m_sde, er_sde, uni_pc, res_2m, res_2s, heun, dpmpp_sde

  • Shapes (9): simple, beta, beta57, normal, karras, sgm_uniform, linear_quadratic, kl_optimal, bong_tangent (flow models only)

  • Fair cost: res_2s, heun and dpmpp_sde run the model twice per step, so they get half the steps. Every combo costs the same.

  • Model calls per image: Krea 2 Turbo 8, Z-Image Turbo 8, Klein 9B 4, SDXL 30, Illustrious 28, Krea 2 Raw 28 (cfg 3.5)

  • 3 prompts x 2 seeds per combo: a freckled portrait, a street market with a painted sign, a red fox in snow (Krea 2 Raw: 2 images per combo, it is slow)

  • 1024 x 1024, all through LC Sigmas and SamplerCustomAdvanced

How it was scored:

  • Burned: how much of the image is blown to pure white or crushed to pure black. A good Krea 2 render sits around 2 to 4%. A fried one is 10 to 45%. Anything that burned noticeably more than plain euler / simple on the same model is out.

  • Then ranked on: fine detail, leftover noise, and how well it matches the prompt (CLIP).

  • Then I looked at every winner. The numbers got me close, my eyes made the call. The first version of the scoring ranked a burned karras combo near the top on Krea 2. Do not trust one score. ๐Ÿ˜

Krea 2 Turbo

07_krea_turbo_full_grid.jpg

Things to notice:

  • The karras column: dead on every single sampler. Blurry, burned faces.

  • The uni_pc row: burns on almost every shape. Even simple and sgm_uniform run hot.

  • dpmpp_2m: great on beta, falls apart on normal, karras and kl_optimal.

  • 41 of 90 combos burned. Krea 2 is picky.

08_krea_turbo_top_picks.jpg

Things to notice:

  • The sign: every top pick spells FRESH FISH cleanly and adds the painted fish. Plain euler / simple is fine, just flatter.

  • The fox fur: dpmpp_2m / beta and res_2m / beta57 are noticeably crisper.

The results, per model

{65BE127F-9BC8-45CD-B96F-E57E021C3BE0}.png

Notes:

  • Z-Image's top score was dpmpp_2m / kl_optimal, but by eye it over-cooks the skin (blotchy). It is off the list.

  • Krea 2 Raw was tested at 28 steps to keep the run sane. Its normal recipe is about 52.

  • the burn check does not work on anime. Backlit anime art is full of pure white highlights on purpose, so it flagged half of Illustrious. By eye, only linear_quadratic is actually broken there.

๐Ÿ’ก The one rule that held on every flow model (Krea 2, Z-Image, Klein): beta, beta57 and simple are safe. karras, kl_optimal, linear_quadratic and uni_pc are where things break. SDXL and Illustrious are far more forgiving.

12_klein9b_full_grid.jpg

Focus and Detail Daemon on the winners

Every model's top 3 combos were run again with focus at -0.5, -0.25, +0.25, +0.5, and LC Detail Daemon at 0.05, 0.10 and 0.15 (auto mode, 20% to 80% of the way).

09_dd_krea_turbo.jpg

Things to notice:

  • Krea 2 Turbo, dpmpp_2m / beta: a steady climb in detail. 0.10 is the sweet spot. 0.15 starts to over-freckle the face.

10_dd_sdxl.jpg

Things to notice:

  • SDXL, res_2s / simple: 0.05 is plenty. At 0.10 the face goes crunchy. res_2s runs the model twice per step, so the detail lands twice.

11_dd_illustrious.jpg

Things to notice:

  • Illustrious: the biggest gain of any model. Look at the hair strands and the fur. 0.05 to 0.10 is great, 0.15 starts adding specks.

{AA77F354-3B36-43EA-B42A-59638D3FD171}.png

Focus surprised me. On the best combos, neither direction made images better on average. It changes the composition (negative) or the finish (positive), and prompt match drops a little either way. So focus is a creative tool, not a quality knob. Leave it at 0 until you want a different look.

ClownSampler (RES4LYF)

13_clownsampler.jpg
  • Krea 2 Turbo, ClownSampler res_2s, eta 0.5, 4 steps

  • One pass, split (3 + 1), renoise, and LC Detail Daemon wrapped around it: all work. The handoff lines up exactly.

  • โš ๏ธ ClownSampler already adds its own noise every step (eta). Stacked with Detail Daemon at 0.10, a few dark specks show up in the sky. With ClownSampler, keep Detail Daemon at 0.05.

  • ClownsharKSampler (the all-in-one) adds its own starting noise, so it does not take LC Sigmas' schedule. Use ClownSampler with SamplerCustomAdvanced instead.

Summary:

Sigmas are not magic. They are a list of noise levels, and every scheduler is just a different way of spending your steps between the big decisions and the fine detail. The problems in my old setup were not one big bug. They were small things you cannot see: a strength secretly multiplied by CFG, a window that moved when the split moved, a handoff that jumped, a denoise that was not what it said. Fix those, and the knobs start doing what their names say.

And the big one: do not assume a node works the same on every model. Detail Daemon is great on SDXL and backwards on Krea 2. Test it on your model.

For those of you interested, these are part of my LC123 Node Pack but are still in BETA. I will be rolling them out this weekend.

Please comment and let me know what you think.


Instagram: [synth.studio.models](https://www.instagram.com/synth.studio.models/)

Buy me a โ˜• [HERE](https://ko-fi.com/lonecatone)

This represents many hours of work. If you enjoy it, please ๐Ÿ‘ like, ๐Ÿ’ฌ comment, and feel free to โšก tip ๐Ÿ˜‰


"True Nothing is. Permitted Everything is"- Yoda Auditore, Assassin's Wars


Article draft and testing by Claude (Anthropic).

2