LTX Sigma Scheduler
One scheduler for every LTX video generation, distilled or not
- sigmas
- schedule_info
LTX video is the speed story of the open-weights video world - LTX-2's 19B model and its LTX-2.3 successor made synchronized audio-video generation something a 4090 can chew on. The catch is that LTX ships in dev and distilled flavors, and the distilled checkpoints have rigid, immutable schedules while the dev models use a token-count-adaptive shift. People routinely slam a distilled LTX-2 into a dev-style scheduler and get garbage, or vice versa. The LTX Sigma Scheduler covers all three generations and both schedule regimes in one node.
The matrix
Two dropdowns do most of the work:
- generation -
LTXV 0.9.8,LTX-2 19B, orLTX-2.3 22B. Pick the family you actually loaded. - stage -
Dev,Distilled Stage 1, orDistilled Stage 2. This is the schedule regime, not a training note. Dev mode derives a shift from the token count (adaptive); the distilled stages use immutable publisher vectors - the pack calls them "immutable" because they're fixed per the official recipe, not tunable.
Beyond that:
- steps - default 20. The dev lanes are documented around 20/40/30 default step counts depending on generation; check
schedule_infofor what the profile expects. - token_count - for Dev mode, the number of tokens your sequence resolves to. This is what the adaptive shift keys off, so it's the input to get right for dev models. The README pairs this with an explicit value; the default 4096 is a placeholder until you know your sequence.
- stretch (default true) and terminal (default 0.1) - controls for how the schedule is stretched and what terminal sigma to use. Leave
stretchon unless you know why you're turning it off. - strict_official - keep on for the pinned recipes.
- start_step / end_step - slice.
Outputs are sigmas and schedule_info. As with every Sigmax scheduler, wire sigmas directly into the LTX custom-sampling path and don't add another scheduler or time shift.
Scope, read once
The pack's compatibility doc is explicit: this is schedule construction only. Sigmax does not load video weights, run encoders, or claim video-quality parity. If you use it with the wrong text encoder or VAE, that's outside the node's promises. And the distilled stages are "immutable publisher vectors" - there is no dial, so don't go looking for one. If a distilled model needs a different schedule, that's a different recipe, not a knob on this node.
Installing
Whole pack, one shot:
cd ComfyUI/custom_nodes
git clone https://github.com/rookiestar28/ComfyUI-Sigmax comfyui-sigmax
Restart ComfyUI and search Sigmax; ComfyUI Manager lists "ComfyUI-Sigmax". Python 3.10+, ComfyUI 0.29.0+, no extra dependencies, no model downloads.
Where people get burned
Mismatching generation and stage is the big one - an LTX-2.3 22B distilled checkpoint on the LTXV 0.9.8 / Dev lane is a different model with a different schedule. And for dev models, a wrong token_count silently changes the shift; if your dev outputs look off, check that value before touching anything else.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| generation | COMBO | 3 options: LTXV 0.9.8, LTX-2 19B, LTX-2.3 22B | |
| stage | COMBO | 3 options: Dev, Distilled Stage 1, Distilled Stage 2 | |
| steps | INT | 201–10000 | — |
| token_count | INT | 40961–16777216 | — |
| stretch | BOOLEAN | true | — |
| terminal | FLOAT | 0.1000.001–0.99 | — |
| strict_official | BOOLEAN | true | — |
| start_step | INT | 00–9999 | — |
| end_step | INT | -1-1–10000 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| sigmas | SIGMAS | — |
| schedule_info | STRING | — |