Nodes/ComfyUI/SDTurboScheduler
ComfyUI Node Runs on cloud

SDTurboScheduler

The scheduler that hard-codes Turbo's training ladder

By Comfy-Org·Created 4 years ago·Updated 32 minutes ago· 129,926
SDTurboScheduler
  • model
  • SIGMAS
steps1
denoise1.00

SDTurboScheduler generates the noise schedule for distilled Turbo checkpoints - SD 1.5 Turbo, SDXL Turbo, and friends. Distilled models are the reason the phrase "use the schedule the model was trained with" exists: they were trained on a fixed ladder of timesteps, and if you feed them a generic Karras or normal schedule, they receive noise levels they've never seen and hand you back oversaturated, artifacted images. This node hard-codes that ladder so you don't have to reconstruct it by hand.

How it works

The source builds timesteps 999, 899, ..., 99 - ten values, one per step, descending - and maps them through the model's own sigma function, then appends a final zero sigma. Two inputs decide which slice of the ladder you use:

  • steps (default 1, max 10) - how many rungs to keep. The ladder only has ten, which is exactly the Turbo training setup: these models are meant for a handful of steps. 1-4 is the typical working range.
  • denoise (default 1.0, 0-1) - where in the ladder to start. It shifts the window: less denoise skips the highest-noise rungs, which is the knob you touch when you're refining an existing latent instead of sampling from pure noise.

You also feed it the model (a MODEL input) because it needs that model's sigma mapping to translate timesteps into actual sigmas. Output is SIGMAS, which goes to SamplerCustomAdvanced's sigmas input. Pair it with an Euler-family sampler and a BasicGuider or CFGGuider at the low CFG these models want - the whole distilled-model discipline from the knowledge base in one graph.

Why you'd reach for it

Any time your checkpoint is a Turbo/Lightning-style distilled model, the distilled setting rules apply: low steps, low CFG (1-2 or even 0), Euler sampler, and a schedule matching training. This node is that schedule for the Turbo family. The same logic exists for other distilled models - Lightning wants sgm_uniform, which you'd get from BasicScheduler - but Turbo specifically wants this one.

Where people get burned

  • Default steps=1 is a trap for the curious. SDXL Turbo technically runs in one step, but you'll usually want 2-4 for quality. Bump it.
  • Don't use it on normal models. It's a hard-coded ladder with a ceiling of ten steps. Point a full 20-30 step checkpoint at it and you're strangling the schedule for no reason - BasicScheduler/KarrasScheduler is what those want.
  • The model input matters. Sigmas come from that model's sigma mapping, so this node is model-aware by design. Wire the same checkpoint you're actually sampling, not a stand-in.
  • Low steps ≠ low quality forever. The distilled tradeoff is real: you're trading fidelity for speed, and the community's standing advice is to use Turbo for iteration and seed-farming, then rerun winners on the full model.

Ships with ComfyUI core. If a "4-step Turbo" workflow you downloaded renders garbage with your usual settings, this scheduler is usually the missing piece.

Categorymodel/sampling/schedulers

Inputs (3)

NameTypeDefaultDescription
modelMODEL
stepsINT11–10
denoiseFLOAT1.000–1

Outputs (1)

NameTypeDescription
SIGMASSIGMAS