⏱ Custom Scheduler
A custom noise schedule for Illustrious XL
- SIGMAS
Quick vocabulary check before anything else: a sampler decides how to remove noise at each step, a scheduler decides how much noise to remove at each step. "DPM++ 2M Karras" is really two choices glued into one name - the DPM++ 2M sampler paired with a Karras noise curve. This node only does the second half. It's a replacement for the stock scheduler dropdown, and it doesn't run a sampler at all - it just hands you a curve.
IllustriousScheduler is part of ComfyUI-EasyIllustrious, a node suite built by regiellis (you'll see him post as _playlogic_ on Reddit) specifically for Illustrious XL, the Danbooru-trained SDXL anime finetune. This is his second Illustrious-flavored pack after an earlier one for NoobAI, and the design goal across the whole suite is the same: bake the fiddly SDXL-anime-specific tuning into the node itself instead of making you remember it every time.
What it actually does
You give it a step count and pick one of five scheduler_type strategies, and it outputs a SIGMAS tensor - the literal list of noise levels a sampler will step through. That's the same output type the stock BasicScheduler node produces, so it slots into any SamplerCustom-style graph in place of the normal Karras/exponential/simple picker.
The five strategies aren't just relabeled presets: aware and hybrid_optimized can read an optional content_analysis text field (drop in tags or notes about your scene) and shape the curve around it; adaptive_content uses a complexity_bias slider (0 = simple scenes, 1 = busy ones) instead; distance uses a distance_power value to control how hard the curve front-loads denoising; cosine_annealing is the more standard cosine-shaped ramp. model_version - v0.5 through v3.x, or auto for a simple heuristic - nudges the curve toward whichever Illustrious release you're actually running, since the family's checkpoints don't all want identical schedules. This isn't decoration: in the pack's own Reddit thread, the author confirmed the model-version pickers scattered across his nodes genuinely change output, calling out that NoobAI-based checkpoints in particular render less vivid than Illustrious ones - so if colors look flat, try setting this to match your actual base model instead of leaving it on auto.
The fields worth touching
- steps (1–100, default 24) - must match what your sampler node expects to consume.
- scheduler_type - the five strategies above;
awareis the default and the safest starting point. - model_version (optional) - set this instead of leaving
autoif you know exactly what you're running. - complexity_bias / distance_power (optional) - only relevant if you picked
adaptive_contentordistance.
Output is a single SIGMAS socket. Wire it into your sampler's sigma input the same way you'd wire in a BasicScheduler.
Installing it
Easiest path: open ComfyUI Manager, search "EasyIllustrious," install, restart. Manual route: cd ComfyUI/custom_nodes && git clone https://github.com/regiellis/ComfyUI-EasyIllustrious, then pip install -r ComfyUI-EasyIllustrious/requirements.txt inside your ComfyUI Python environment, then restart.
Where this trips people up
The whole suite is tagged Beta in its own README, and this node is one of the newer, more experimental corners of it - the author is one person shipping his own experiments, and "some nodes may require tuning" is stated plainly rather than hidden. Don't assume hybrid_optimized beats plain Karras by default; A/B it against a stock scheduler on your own prompts before trusting it blindly. If nodes from this pack fail to load at all, it's almost always a missing Python dependency (OpenCV is the recurring one across this suite) rather than anything wrong with this specific node - run pip install -r requirements.txt again inside the actual ComfyUI environment, not your system Python.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| steps | INT | 241–100 | Number of sampling steps to generate a sigma curve for. |
| scheduler_type | COMBO | aware | Which strategy to use when shaping the sigma schedule. |
| model_versionopt | COMBO | v1.0 | Illustrious model version to tailor schedule behavior (auto uses simple heuristics). |
| complexity_biasopt | FLOAT | 0.50–1 | Bias for adaptive_content: 0=simple scenes, 1=highly complex scenes. |
| distance_poweropt | FLOAT | 1.00.5–2 | Curve strength for distance schedule. Higher values emphasize early denoising. |
| content_analysisopt | STRING | Optional hints (e.g., tags/notes). Affects aware/hybrid schedules if provided. | |
| adaptive_modeopt | BOOLEAN | true | Enable non-uniform step sizing for complex content (future-facing; safe to leave on). |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SIGMAS | SIGMAS | — |