KarrasScheduler_motorway_edition
The Karras noise schedule, piped
- MOTORWAY 🚌💨
- MOTORWAY 🚌💨
KarrasScheduler_motorway_edition is core ComfyUI's KarrasScheduler wrapped for the Motorway pipe. Its job, unchanged: compute a Karras noise schedule - a list of sigma values describing how much noise to remove at each step - and hand it to a sampler. The wrapper just stores those sigmas in the pipe under a key instead of pushing them out a socket.
The schedule, briefly
The Karras schedule (from the NVIDIA Karras et al. paper) doesn't remove noise evenly. It concentrates denoising effort in the middle of the trajectory, which tends to produce better results at lower step counts than a linear schedule - that's why "DPM++ 2M Karras" became the default combo for SD 1.5 and SDXL. The four widgets here are the schedule's parameters:
steps(default 20) - how many noise levels to compute.sigma_max(default 14.614642) /sigma_min(default 0.0291675) - the ends of the noise range; the defaults match the Karras paper and you rarely touch them.rho(default 7) - the exponent controlling how aggressively the schedule bends toward the middle.
The one thing the KB is firm about: Karras is a great default for the older curved-trajectory models and a bad habit on modern straight flow-matching ones. Those want a balanced sigma schedule, and a Karras-style redistribution actively distorts the result - several flow-matching models (Z-Image, Qwen, Wan-era stuff) come out of a Karras schedule looking off at the same steps where they shine on a normal one. So don't inherit "Karras always" from your SDXL muscle memory.
Motorway-specific setup
Because every input here is a widget, the MOTORWAY 🚌💨 input is optional - leave it unplugged and the node still computes and stores sigmas, which makes it usable standalone. Set:
- The four widgets above.
OUTPUT_SIGMAS_key(default"SIGMAS") - the pipe key holding the computed schedule.
The only output is the MOTORWAY 🚌💨; grab SIGMAS back out with a Motorway AxB ramp when you need to feed it to a sampler node. In a normal custom-sampling graph, KarrasScheduler sits between a sampler selector and SamplerCustomAdvanced; in the pipe, those pieces just move through keys.
Install and the usual caveats
cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway
Restart ComfyUI, or install via ComfyUI Manager. No pip dependencies, no model files - pure computation, wrapped.
And the pack-wide reality check, because it applies here too: this is a one-person beta project. The README literally says "IF THINGS BREAK ITS BECAUSE I BROKE IT," and the current HEAD is a hotfix that comments out the _motorway_edition registration, so a fresh clone may not show the node at all. The 'MotorwayClass' object has no attribute 'hash_' error, if you see it, means a key you referenced was never written into the pipe. For a schedule generator this small, unless you're all-in on the motorway, the stock KarrasScheduler does the identical math with less ceremony - the wrapper's only reason to exist is that your workflow already routes everything through keys.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| steps | INT | 201–10000 | — |
| sigma_max | FLOAT | 14.610–5000 | — |
| sigma_min | FLOAT | 0.030–5000 | — |
| rho | FLOAT | 7.000–100 | — |
| OUTPUT_SIGMAS_key | STRING | SIGMAS | — |
| MOTORWAY 🚌💨opt | MOTORWAY 🚌💨 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MOTORWAY 🚌💨 | MOTORWAY 🚌💨 | — |