ComfyUI Node

AD_Scheduler

A BasicScheduler with a 'start anywhere' knob for detail-refine passes

By SS-snap·Created about a year ago·Updated about a year ago· 6
AD_Scheduler
  • model
  • SIGMAS
scheduler
steps20
denoise1.00
sigmas_ratio1.00

You've got an image you mostly like, and you want it sharper - more micro-detail in the skin, the fabric, the hair - without the model redrawing the whole thing into something different. That's the classic partial-denoise refinement: inject a little noise into the latent, then only run the tail of the schedule. AD_Scheduler exists to give you a precise knob for that tail.

Honestly, the pack is one node and it's a fork of ComfyUI's built-in BasicScheduler with a single added parameter. If you already know how sigmas work, the whole pitch fits in one sentence: it computes the same sigma schedule BasicScheduler would, then truncates it so your sampler only runs the fraction of the schedule you ask for.

How it works

A scheduler node doesn't generate anything - it produces the SIGMAS tensor that tells a sampler how much noise to remove at each step. AD_Scheduler takes your model, a scheduler name, step count, and denoise strength, then calls the same calculate_sigmas routine the core node uses. That part is identical to BasicScheduler.

The extra input is sigmas_ratio (default 1.0, 0.0–1.0). It's the fraction of the schedule that actually survives. After computing the normal schedule, the node keeps only the last steps × sigmas_ratio steps - which, because sigmas are ordered from noisy to clean, is the low-noise tail. Crank it down and your sampler starts mid-flight, near the clean end of the trajectory, so it does a light pass that polishes rather than reconstructs.

The README's wording on this is a bit of a trap. It says ratio 0.1 with 30 steps "starts at step 3, leaving 27 steps" - but its own example grid tells the real story: ratio 0.2 with 30 steps denoises from step 24 to 30, ratio 0.4 from step 18 to 30. The code agrees with the examples. Higher ratio = more of the schedule runs = bigger change. Lower ratio = lighter touch. The direction is easy to get backwards on first read, so trust the test images, not the prose.

Inputs and outputs

The inputs, per the node's schema:

  • model (MODEL) - your checkpoint or UNET. Required; it's how the node reads the model's sampling config so the sigmas actually match the model.
  • scheduler - the standard nine ComfyUI schedulers: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, normal, linear_quadratic, kl_optimal.
  • steps (INT, default 20) - total steps for the full schedule.
  • denoise (FLOAT, default 1.0) - same as any KSampler's denoise; below 1.0 it computes a longer schedule and takes the tail.
  • sigmas_ratio (FLOAT, default 1.0) - the knob this pack is actually about.

Output is a single SIGMAS tensor. Wire it into a SamplerCustomAdvanced node's sigmas input - that's what the shipped workflow does. The node never samples anything itself; it's upstream plumbing.

Install

Zero drama here. No requirements.txt, no pip packages, no model downloads - it imports only comfy and torch, both already in ComfyUI. Install via ComfyUI Manager (search "Ad scheduler" / ComfyUI-Ad_scheduler) or:

cd ComfyUI/custom_nodes
git clone https://github.com/SS-snap/ComfyUI-Ad_scheduler

Restart ComfyUI. That's it.

Where it fits

The author's example workflow is a Flux detail pass: encode an image, inject noise into the latent (InjectLatentNoise+), then SamplerCustomAdvanced with these sigmas, using euler and the normal scheduler. The three dials you tune together are the injected noise amount, denoise, and sigmas_ratio - the README's own test grids show no one setting works for every image.

Two honest caveats. First, this is a thin utility: with sigmas_ratio at 1.0 it does exactly what the built-in BasicScheduler does, so you're installing it for that one extra knob. Second, if your model is flow-matching (Flux, Z-Image, and friends), remember the DDPM-era scheduler advice doesn't fully transfer - the author's own Flux workflow uses normal, and the KB notes aggressive schedules like karras can distort flow-matching trajectories. Keep the scheduler conservative and lean on sigmas_ratio to control how much actually runs.

CategorySnap Processing

Inputs (5)

NameTypeDefaultDescription
modelMODEL
schedulerCOMBO9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
stepsINT201–10000
denoiseFLOAT1.000–1
sigmas_ratioFLOAT1.000–1

Outputs (1)

NameTypeDescription
SIGMASSIGMAS