ComfyUI Node
LC Sigmas (BETA)
One scheduler for one- and two-pass sampling: schedule presets (base, beta, flowmatch, hyperbolic, gaussian, your saved curves) you can bend by dragging on the graph, the step swap to a second model, image-to-image denoise, what the second pass does (continue or renoise), and the noise and sampler for each pass.
LC Sigmas (BETA)
- model
- model_2
- image_size_latent
- sigmas_high
- sigmas_low
- noise_high
- noise_low
- info
- sigmas_full
- sampler
◄samplereuler►
◄sigma_curve_presetsbase►
◄base_schedulerbeta57►
◄steps20►
◄step_swap0►
◄denoise1.00►
◄denoise_stepsfull schedule►
◄low_passcontinue noise schedule►
◄scheduler_shape_2same as first►
◄first_pass_resample1.00►
◄sigma_shiftuse model default►
◄custom_shift1.15►
◄beta_alpha0.60►
◄beta_beta0.60►
◄flowmatch_shift3.00►
◄flowmatch_dynamictrue►
◄flowmatch_terminal0.00►
◄hyperbolic_functiontanh►
◄hyperbolic_scale1.00►
◄gaussian_mean0.04►
◄gaussian_std1.00►
◄gaussian_operationmodulate►
◄edit_modesmooth►
◄smooth_radius1.5►
◄curve_edit►
◄seed0►
CategoryLC123/sampling
Inputs (29)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | The first pass's model. Its noise range and sigma shift set the schedule. | |
| sampler | COMBO | euler | The sampler both passes use (the sampler output). With RES4LYF installed its samplers are listed too, and a ClownSampler Selector can be wired in. The line under the graph shows what tested best for your model. |
| sigma_curve_presets | COMBO | base | The curve the steps follow, from noisy to clean. base = a plain scheduler (base_scheduler). beta = the beta curve with your own alpha and beta. flowmatch = the FlowMatch Euler Discrete curve. hyperbolic = the base curve bent by sinh / cosh / tanh. gaussian = the base curve bent by a bell curve. saved: = a curve you saved. Drag the points on the graph to bend any of them. |
| base_scheduler | COMBO | beta57 | The scheduler under base, hyperbolic and gaussian (sigma_curve_presets). Flow models (Krea 2, Z-Image, Flux 2): beta, beta57 and simple are safe; karras, kl_optimal and linear_quadratic burn. |
| steps | INT | 201–1000 | Total steps, both passes together. |
| step_swap | INT | 00–1000 | The step where the second model (model_2) takes over. 0 = one pass only. |
| denoise | FLOAT | 1.000–1 | How much of your input image gets redrawn. 1 = a new image from scratch (text to image). |
| denoise_steps | COMBO | full schedule | full schedule = denoise covers the whole run; the second pass just carries on. at step swap = denoise covers the first pass only; the second pass refines on its own. |
| low_pass | COMBO | continue noise schedule | What the second pass does at the step swap. continue noise schedule = it takes the leftover noise and finishes the job (one schedule over two samplers). renoise = the first pass finishes the picture, then fresh noise goes back up to the swap point's level, so the second pass has something to refine, like a detailer. |
| scheduler_shape_2 | COMBO | same as first | The second pass's curve. same as first = the schedule above, curve edits included. |
| first_pass_resample | FLOAT | 1.000.25–4 | Walks the first pass in more (or fewer) steps along the same path; where it starts and stops stays put. 1 = off. 1.15 = 15% more first-pass steps. |
| sigma_shift | COMBO | use model default | Bends the schedule without changing the step count. Higher = more steps on composition (the noisy start), lower = more on detail. use model default = what the model was trained with. by image size = Flux's rule (needs image_size_latent). custom = custom_shift. SDXL-type models have no shift. flowmatch and saved curves ignore it. |
| custom_shift | FLOAT | 1.150–20 | The model's own shift number. Krea 2 / Flux: 0.5 small images, 1.15 = Krea 2 Turbo's default, 2+ = strongly composition-heavy. |
| beta_alpha | FLOAT | 0.600–50 | beta: higher = more steps at the noisy start. |
| beta_beta | FLOAT | 0.600–50 | beta: higher = more steps at the clean end (detail). |
| flowmatch_shift | FLOAT | 3.000–20 | flowmatch: the curve's shift (used when flowmatch_dynamic is off). |
| flowmatch_dynamic | BOOLEAN | true | flowmatch: dynamic shifting (as in V23.2) or the fixed flowmatch_shift. |
| flowmatch_terminal | FLOAT | 0.000–0.99 | flowmatch: stretch the curve so the last step lands here. 0 = off. |
| hyperbolic_function | COMBO | tanh | hyperbolic: the function that bends the base curve. |
| hyperbolic_scale | FLOAT | 1.000.01–10 | hyperbolic: how hard the function bends it. |
| gaussian_mean | FLOAT | 0.04-10–10 | gaussian: where the bell curve sits (a noise level). |
| gaussian_std | FLOAT | 1.000.01–10 | gaussian: how wide the bell curve is. |
| gaussian_operation | COMBO | modulate | gaussian: how the bell curve bends the base curve. |
| edit_mode | COMBO | smooth | Dragging a point on the graph: smooth pulls its neighbours along, spike moves only that point. |
| smooth_radius | FLOAT | 1.50–20 | smooth: how many steps around the point come along. |
| curve_edit | STRING | Your curve edit (set by dragging on the graph). | |
| seed | INT | 00–18446744073709550000 | Seed for noise_high (noise_low uses seed + 1). |
| model_2opt | MODEL | The second pass's model, if different (e.g. without ControlNet). Its own schedule, lined up. | |
| image_size_latentopt | LATENT | Only for sigma_shift = by image size: the empty latent, so the shift can follow the image size. |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| sigmas_high | SIGMAS | First pass (or the only pass). |
| sigmas_low | SIGMAS | Second pass, from the step swap. |
| noise_high | NOISE | Noise for the first sampler. |
| noise_low | NOISE | Noise for the second sampler (none when it continues the schedule). |
| info | STRING | What the schedule does, in words. |
| sigmas_full | SIGMAS | The whole first-model schedule, unsplit. |
| sampler | SAMPLER | The chosen sampler, for SamplerCustomAdvanced. |