Nodes/DDRK Omega Sampler/DDRK Omega Scheduler
ComfyUI Node

DDRK Omega Scheduler

The DDRK Omega Scheduler in practice

By HVOSTOVSKY·Created about a month ago·Updated about a month ago· 0
DDRK Omega Scheduler
  • model
  • SIGMAS
steps20
scheduler_typeddrk_auto
flow_shift3.0
warmup_steps0
beta_a2.0
beta_b1.0
auto_optimizetrue

The DDRK Omega Scheduler is the quiet half of the pack: it doesn't denoise anything. Give it a model and a step count and it hands back a SIGMAS schedule you feed into a sampler - typically the pack's own DDRK Omega Sampler via SamplerCustom, or anything else that takes a SIGMAS input. If that's all you needed to hear, the answer to "why bother" is the schedule list, because it's built around the single most confusing fact in modern diffusion: the sampler rules split by architecture.

Why nine schedulers instead of a dropdown

Karras and exponential schedules are the classics for SD 1.5/SDXL - they concentrate denoising effort in the middle steps and genuinely improve lower step counts there. On flow-matching models (Flux, SD3, Qwen, and friends) that redistribution is a distortion, not a correction, which is why the "don't use Karras on Flux" rule became folklore. So this node splits its nine schedulers by family:

  • ddrk_auto - picks per family and step count. This is the recommended default and the one you should leave on.
  • FM-only: ddrk_cosine, ddrk_beta, ddrk_flow_linear, ddrk_flow_cosmos, ddrk_fewstep (the last is an aggressive shift for 4-8 step distilled runs).
  • EDM-only: ddrk_edm_karras (rho=7), ddrk_edm_poly, ddrk_edm_simple.

The node reads the model's sigma_max to know which family it's on, so the same ddrk_auto works whether you're rendering SDXL or Flux.

The inputs that matter

  • model and steps - the two you can't avoid.
  • scheduler_type - set ddrk_auto and forget it, unless you're chasing a specific look.
  • flow_shift - the flow-matching shift knob (default 3); it controls how sampling effort splits between composition and detail. This is the FM replacement for "choosing a scheduler" and it's model-specific, so treat it as something to tune, not set once.
  • beta_a / beta_b - shape parameters used only by ddrk_beta, and the node's party trick: it exposes them in the UI. The defaults A=2, B=1 give Karras-like monotonically shrinking steps. Raising B above ~2 shifts resolution toward high sigma and leaves a big final step, which is usually undesirable. Fun fact from the changelog: ddrk_beta used to raise NotImplementedError because PyTorch's Beta distribution has no inverse CDF - 1.6.0 replaced it with the closed-form Kumaraswamy inverse, and these two params became reachable at all.
  • warmup_steps - 0 to 5 leading steps, off by default.
  • auto_optimize - on by default; it auto-selects scheduler and flow_shift for FM few-step runs. Disable it when you want full manual control, because otherwise it can override what you picked.

Output is a single SIGMAS wire.

Installing it

It's part of the DDRK Omega pack, which has no dependencies beyond ComfyUI itself and needs no model downloads:

cd ComfyUI/custom_nodes/
git clone https://github.com/HVOSTOVSKY/DDRK-Omega-Sampler.git

Restart ComfyUI. Or use ComfyUI Manager and search "DDRK Omega Sampler".

Gotchas

  • If you set beta_b high and wonder why the tail looks broken - that's the expected behavior, not a bug. Keep B low.
  • auto_optimize silently taking over your FM schedule choice confuses people constantly. If shift seems to do nothing, check it first, then check whether your scheduler even uses flow_shift (the tooltips say which params each scheduler ignores).
  • The schedules were all exercised on real generations but have no automated tests - the README says so plainly. ddrk_auto is the safe path.
Categorysampling/custom_schedulers

Inputs (8)

NameTypeDefaultDescription
modelMODELAuto-detects FM vs EDM by sigma_max
stepsINT201–1000
scheduler_typeCOMBOddrk_auto9 options: ddrk_auto, ddrk_cosine, ddrk_beta, ddrk_flow_linear, ddrk_flow_cosmos, ddrk_fewstep, +3
flow_shiftFLOAT3.01–10
warmup_stepsINT00–5
beta_aFLOAT2.00.1–10Shape parameter A, used only by ddrk_beta. Higher A front-loads larger steps at high sigma and leaves finer steps near sigma 0. Ignored by every other scheduler.
beta_bFLOAT1.00.1–10Shape parameter B, used only by ddrk_beta. Raising B above ~2 shifts resolution toward high sigma and leaves a large final step, which is usually undesirable. A=2, B=1 gives Karras-like monotonically shrinking steps.
auto_optimizeBOOLEANtrueAuto-select scheduler & flow_shift for FM few-step. Disable for full manual control.

Outputs (1)

NameTypeDescription
SIGMASSIGMAS