Nodes/MD Nodes/MD: Hybrid Scheduler (Advanced)
ComfyUI Node

MD: Hybrid Scheduler (Advanced)

Fourteen schedulers in one node, and it can run two at once

By MDMAchine·Created about a year ago·Updated 3 months ago· 15
MD: Hybrid Scheduler (Advanced)
  • model
  • sigmas
  • plot
  • info
steps30
modekarras_rho
denoise1.00
denoise_mode
split_schedulefalse
mode_b
split_at_step30
use_percentage_splitfalse
split_percentage0.25
rho7.00
bong_pivot0.50
bong_presetbalanced
bong_slope_composition1.20
bong_slope_detail0.80
linear_steps15
linear_steps_relativefalse
power2.00
beta_alpha0.60
beta_beta0.60
threshold_noise0.0025
blend_factor0.50
min_steps_modefixed
min_sliced_steps3
adaptive_min_percentage2.0
detail_preservation0.00
low_denoise_color_fix0.00
use_sigma_overridefalse
start_sigma_override1.00
end_sigma_override0.006
reverse_sigmasfalse
memory_efficientfalse
debug_mode0 - Silent
enable_profilingfalse
presetCustom

The scheduler is the quiet half of your sampler choice - it decides how much noise gets removed at each step, and it's the difference between a Karras curve that concentrates effort mid-run and a flat linear one. ComfyUI's default dropdown covers the basics. This node is for when the basics feel like a jail: 14 scheduling algorithms, three different ways to handle partial denoise, and a split mode that runs two curves in a single generation.

The Advanced variant is the flagship. If you just want a better scheduler without a PhD, the Basic and Lite siblings in this pack cover you - this one is the toybox, and it's worth knowing which knobs actually matter before you start turning all of them.

What actually matters

The model input is the clever part: the node reads the model's model_sampling object and auto-detects its real sigma range (min/max noise) instead of assuming. That means the schedule is tuned to the checkpoint you're actually running, which is more than ComfyUI's stock scheduler does.

  • steps - 20–30 for images, 15–25 for audio, per the tooltip.
  • mode - the curve. karras_rho is the safe default for SD 1.5/SDXL. bong_tangent is the audio-focused one the author pushes for ACE-Step work. ays, poly, beta, exponential, linear_quadratic, sgm_uniform, ddim_uniform, adaptive_linear, and variance_preserving round out the list.
  • denoise and denoise_mode - how a partial schedule (img2img, refinement) is computed. Hybrid (Adaptive Steps) recalculates the curve for the kept steps, which is the quality pick; Subtractive just slices the end of the full curve; Repaced compresses the whole schedule into fewer steps. Defaulting to Hybrid is the right call.
  • rho - Karras/Poly steepness. Higher puts more steps at low noise (fine detail), and 7.0 is the standard.

Then there's the party trick: split_schedule with a second mode_b, split_at_step (or split_percentage), so the early part of the run uses one curve and the late part another. Composition-first then detail-first, as a curve combo. It's a research toy, but a genuinely useful one - and preset at the bottom loads sensible combos like "High Detail (Recommended)" and the two Bong presets if you don't want to build your own.

Honest caveats

Two things the KB and community consensus back up. First, aggressive reshaping like Karras is a correction on DDPM-style models (SD 1.5, SDXL and their finetunes) but actively harmful on flow-matching models like Flux - the near-straight trajectory gets distorted, not improved. On those, you want the gentler modes (simple, linear_quadratic, sgm_uniform, adaptive_linear), and knowing which family your checkpoint belongs to is the difference between a tuned schedule and a muddy image. Second, half the Advanced inputs are mode-specific: bong_slope_* do nothing outside bong_tangent, beta_alpha/beta_beta only shape beta, power only shapes poly. Ignore everything not relevant to your chosen mode.

Outputs are sigmas (wire into a sampler that accepts a SIGMAS input - SamplerCustom or this pack's own samplers), plot (an IMAGE of the curve, great for a preview node), and info (STRING diagnostics).

Installing it

Part of MD Nodes (MDMAchine/ComfyUI_MD_Nodes). ComfyUI Manager → search MD_Nodes → Install, restart. Manual:

cd path/to/ComfyUI/custom_nodes
git clone https://github.com/MDMAchine/ComfyUI_MD_Nodes.git
cd ComfyUI_MD_Nodes
pip install -r requirements.txt

The plot output needs matplotlib - it's in the requirements file, but if your plots come out missing or the node degrades, that's the first thing to check.

Common issues

If output goes black or artifacts at low step counts, check min_steps_mode and min_sliced_steps - slicing can drop the schedule too low and the node has a hard floor for a reason. And if a curve looks wrong, remember reverse_sigmas exists and is marked experimental; it's off for a reason.

CategoryMD_Nodes/Schedulers

Inputs (35)

NameTypeDefaultDescription
modelMODELDIFFUSION MODEL • Purpose: Auto-detects sigma range (max/min noise levels). • Output: Generates sigmas tuned specifically to this model.
stepsINT30TOTAL STEPS • Purpose: Number of denoising iterations to divide the schedule into. ⭐ Recommended: 20-30 for images, 15-25 for audio.
modeCOMBOkarras_rhoSCHEDULER MODE • Purpose: The mathematical curve used for noise reduction. • Options: Karras (Standard), Bong (Audio), AYS (Fast), etc. ⭐ Recommended: Karras for images, Bong for audio.
denoiseFLOAT1.000–1DENOISE STRENGTH • Purpose: How much of the schedule to execute. • Use: <1.0 for Img2Img or Refinement.
denoise_modeCOMBODENOISE MODE • Hybrid: Recalculates curve for partial steps (Best Quality). • Subtractive: Simply slices the end of the curve. • Repaced: Compresses full schedule into fewer steps.
split_scheduleBOOLEANfalseSPLIT SCHEDULE • Purpose: Use two different algorithms in one generation. ⭐ Useful for advanced research and custom effects.
mode_bCOMBOSECONDARY MODE • The algorithm to use after the split point.
split_at_stepINT30SPLIT STEP • The exact step index where the switch occurs.
use_percentage_splitBOOLEANfalsePERCENTAGE SPLIT • Use a percentage instead of a fixed step count.
split_percentageFLOAT0.25SPLIT PERCENTAGE • Point (0.0-1.0) to switch modes.
rhoFLOAT7.00RHO (STEEPNESS) • Purpose: Controls Karras/Poly curve shape. • Higher = More steps at lower noise levels. ⭐ Recommended: 7.0 (Standard), 3.0 (Flat).
bong_pivotFLOAT0.50BONG PIVOT • Division between Composition and Detail phases.
bong_presetCOMBObalancedBONG PRESET • Quick setup for Bong Tangent mode.
bong_slope_compositionFLOAT1.20BONG SLOPE (EARLY) • Steepness of early phase.
bong_slope_detailFLOAT0.80BONG SLOPE (LATE) • Steepness of late phase.
linear_stepsINT15LINEAR STEPS • For Linear-Quadratic mode.
linear_steps_relativeBOOLEANfalseLINEAR RELATIVE • Use % instead of fixed count.
powerFLOAT2.00POLYNOMIAL POWER • Exponent for Poly mode.
beta_alphaFLOAT0.60BETA ALPHA • Shape param for Beta mode.
beta_betaFLOAT0.60BETA BETA • Shape param for Beta mode.
threshold_noiseFLOAT0.0025NOISE THRESHOLD • Gating value for Linear-Quadratic.
blend_factorFLOAT0.50BLEND FACTOR • Mix ratio for Blended Curves.
min_steps_modeCOMBOfixedMIN STEPS MODE • Prevent step count dropping too low.
min_sliced_stepsINT3MIN FIXED STEPS • Hard minimum step count.
adaptive_min_percentageFLOAT2.0MIN PERCENTAGE • Minimum steps as % of total.
detail_preservationFLOAT0.00DETAIL PRESERVATION • Boosts final sigma slightly to keep texture.
low_denoise_color_fixFLOAT0.00COLOR FIX • Corrects color shift at very low denoise.
use_sigma_overrideBOOLEANfalseENABLE OVERRIDE • Ignore model sigmas and use manuals.
start_sigma_overrideFLOAT1.00MANUAL START SIGMA
end_sigma_overrideFLOAT0.006MANUAL END SIGMA
reverse_sigmasBOOLEANfalseREVERSE • Flip schedule (Experimental).
memory_efficientBOOLEANfalseMEMORY EFFICIENT • Chunk calculation for high step counts (500+).
debug_modeCOMBO0 - SilentLOGGING VERBOSITY
enable_profilingBOOLEANfalseENABLE PROFILING
presetoptCOMBOCustomPRESET • Load pre-configured settings.

Outputs (3)

NameTypeDescription
sigmasSIGMAS
plotIMAGE
infoSTRING