Nodes/TBG’s ComfyUI Development Takeaways/Basic Scheduler Normalized
ComfyUI Node

Basic Scheduler Normalized

A scheduler that makes denoise behave the same on every sampler

By Ltamann·Created about a year ago·Updated 7 months ago· 20
Basic Scheduler Normalized
  • model
  • SIGMAS
scheduler
steps20
denoise1.00
denoise_methodnormalized

The stock ComfyUI scheduler has a quiet quirk that bites everyone doing img2img or video refinement: when you set a denoise below 1, the standard approach just computes a longer sigma schedule and chops the noisy end off. That works, but the exact result depends on how many steps you asked for, which scheduler you picked, and how that scheduler distributes denoising effort - so the same "0.6 denoise" can mean subtly different things across setups. This node exists to make denoise mean the same thing everywhere.

It's a scheduler node, which means it doesn't sample anything itself: you feed it a model, pick a scheduler and steps, set your denoise, and it hands you SIGMAS to wire into a sampler. The difference from the stock Basic Scheduler is the denoise_method dropdown, which controls how denoise gets applied.

The six denoise methods

  • default - mimics stock behavior: more steps computed, noisy tail cut. Familiar but inconsistent.
  • default short - computes the full schedule then keeps only ceil(steps × denoise) steps. Short and simple.
  • normalized (the default) - computes the full schedule, then scales the sigma curve so its maximum equals your denoise value while keeping all the steps. This is the headline: full step count, denoise expressed as the max noise level. Consistent regardless of scheduler.
  • normalized advanced - finds the step in the schedule closest to your denoise value, keeps the curve from there, resamples it back to the full step count, then normalizes. More faithful to the original curve shape.
  • multiplyed - literally multiplies every sigma by denoise. Crude, but predictable.
  • multiplyed normalized - multiply, then rescale so the max lands exactly on denoise.

For most people normalized is the right answer and it's the default for a reason. The others exist for matching how a specific scheduler or habit expects denoise to behave. If you've ever had a workflow that looked great on Karras and washed out on exponential for no visible reason, the normalized method is the fix: it pins the noise ceiling instead of letting the scheduler redraw it.

Inputs worth knowing

  • model - needed because the node reads your model's built-in sampling config to compute realistic sigmas.
  • scheduler - the usual nine (simple, sgm_uniform, karras, exponential, ddim_uniform, beta, normal, linear_quadratic, kl_optimal).
  • steps and denoise - your run parameters. Note that with normalized you keep all steps, unlike stock behavior where partial denoise effectively shortens the run.

Install

Manager → search TBG Takeaways → install, restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/Ltamann/ComfyUI-TBG-Takeaways

Restart and look under TBG/Takeaways. No extra deps, no models to download.

The honest framing: if you've never noticed denoise behaving inconsistently, you don't need this - stock works. It's a consistency tool for people who switch schedulers, run partial-denoise passes in video chains, or build reusable workflows and want the denoise knob to mean the same thing on someone else's machine. If that's you, drop it in front of your sampler and forget it.

CategoryTBG/Takeaways

Inputs (5)

NameTypeDefaultDescription
modelMODEL
schedulerCOMBO9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
stepsINT201–10000
denoiseFLOAT1.000–1
denoise_methodCOMBOnormalized6 options: default, default short , normalized, normalized advanced, multiplyed, multiplyed normalized

Outputs (1)

NameTypeDescription
SIGMASSIGMAS