GITSScheduler_motorway_edition
The GITS two-stage schedule, on the Motorway
- MOTORWAY 🚌💨
- MOTORWAY 🚌💨
GITS - Generalized Implicit Two-stage Sampling, from the zju-pi diff-sampler project that ByteDance's Seedance work drew on - is one of the more interesting newer schedulers in ComfyUI, and also one of the most obscure. Its premise: instead of one smooth denoise trajectory, run a coarse first stage that gets the structure right, then a fine second stage that polishes detail. GITSScheduler is the node that produces the sigma sequence for that two-stage run, and its Motorway-ed twin from agilly1989/ComfyUI_agilly1989_motorway writes those sigmas to a key on the pipe.
The inputs that matter
- coeff (float, default 1.2, range 0.8–1.5) - the stage-splitting control. This is the GITS knob: it picks which precomputed noise-level curve gets used, and the two-stage character changes with it. It's advanced, it's tunable, and the default is sane.
- steps (int, default 10) - total sampling steps. For up to 20 steps the node uses exact precomputed noise tables; beyond that it log-linear interpolates.
- denoise (float, default 1.0) - how much of the schedule to actually run. 1.0 is full denoise; 0.5 trims to the second half (the refinement stage). This is how img2img-style partial denoise slots in.
- OUTPUT_SIGMAS_key (default
SIGMAS) - where the sigma tensor is stored on the Motorway.
Output is the MOTORWAY pipe; a motorway-ed sampler reads the sigmas via its INPUT_sigmas_key.
How it behaves
The implementation is worth knowing because it explains the defaults. Below 20 steps, GITS looks up a precomputed noise-level table indexed by (coeff, steps) - those tables are literally in ComfyUI's nodes_gits.py - and forces the final sigma to 0. Above 20 steps it interpolates from the last table. The result is a schedule tuned for the coarse-then-fine philosophy rather than for a generic sampler's assumptions.
Honest positioning: GITS is not a mainstream recommendation. The community's sampler sweeps put it well outside the "just use Euler with a normal schedule" advice that dominates for flow models, and it's most at home when you deliberately pair it with the GITS sampler in a custom-sampling setup. If you're chasing it, run it with the matching sampler, not with a random Euler - the two-stage design only pays off when the sampler honors it.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway
Restart ComfyUI, or install via ComfyUI Manager under "ComfyUI_agilly1989_motorway." No extra dependencies.
Standing pack caveat: v1.1.7's pyproject.toml calls itself "HOTFIX - REMOVED MONKEYPATCH AND GENERATED NODES," and the generated clones are commented out of __init__.py. Core Motorway nodes work; the _motorway_edition clones may not be in your menu until the author re-enables them. If it's missing, core GITSScheduler produces identical sigmas, and a Motorway 1x0 ramp gets them onto the bus manually.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| coeff | FLOAT | 1.200.8–1.5 | — |
| steps | INT | 102–1000 | — |
| denoise | FLOAT | 1.000–1 | — |
| OUTPUT_SIGMAS_key | STRING | SIGMAS | — |
| MOTORWAY 🚌💨opt | MOTORWAY 🚌💨 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MOTORWAY 🚌💨 | MOTORWAY 🚌💨 | — |