Text Scheduler 🍌
Type your own sigma schedule instead of picking one from a dropdown
- model
- SIGMAS
Normally you pick a scheduler by name - Normal, Karras, beta, sgm_uniform - and ComfyUI computes the list of noise levels (sigmas) for you behind the scenes. That covers almost every case. Text Scheduler skips the dropdown and lets you type the exact sequence of timesteps yourself, which is the node for the remaining cases: reproducing an exact schedule from a paper or another UI, matching a hand-tuned result you don't want left to a formula, or hitting an oddball step count a named scheduler doesn't naturally produce.
The scheduler/sampler pairing matters more than most people expect - the scheduler decides how much noise gets removed at each step, and it's tuned per architecture and per training regime (why "Karras" fails outright on flow-matching models like Flux or Z-Image instead of just underperforming, for instance). This node is for when you need to control that curve directly rather than trusting a preset to get it right for your specific case.
The inputs that matter
model- required so the node can convert your typed timesteps into that specific model's actual sigma space. The same numeric schedule means different things on different architectures.timesteps- a multiline text field where you type the schedule by hand. The node doesn't document the exact delimiter, so try comma-separated values first and adjust if it errors.verbose- when on, prints the resulting sigma list so you can sanity-check that what you typed actually mapped to what you expected.
Output is SIGMAS - wire it into anything expecting a schedule: SamplerCustomAdvanced, the sigma slot on an advanced sampler setup, or this same pack's SamplerCustomXY if you're sweeping.
One README note worth carrying over: cgem156-ComfyUI says some of its features assume you also have pythongosssss/ComfyUI-Custom-Scripts installed, specifically its ShowText node, for viewing text output inside the graph. If you want to actually see the verbose output somewhere visible on the canvas rather than only in the console log, that's the companion node to grab.
Installing it
Via ComfyUI Manager: search cgem156-ComfyUI, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/laksjdjf/cgem156-ComfyUI
Restart afterward. No model downloads. If you want verbose output visible in-graph, also install ComfyUI-Custom-Scripts (search "pythongosssss") for its ShowText node.
Common issues & troubleshooting
Node errors on your typed schedule. Malformed input is the most likely cause - check your delimiter (comma vs. newline) and make sure every value is actually in range for the model's timestep space rather than, say, 0–1 fractions if the model expects raw timesteps.
Output doesn't match what you expected from the source you're copying. Different UIs and papers express schedules differently - some list sigmas directly, some list timesteps that get converted to sigmas per-model. Turn verbose on and compare the printed sigma list against your source before assuming the node did something wrong.
This feels like overkill. It usually is, for most workflows. If you're not trying to reproduce a specific published schedule or chase a very particular result, a named scheduler (matched to your architecture - DDPM-style vs. flow-matching changes the right pick entirely) will get you most of the way there with far less fuss. Reach for this once you already know exactly what schedule you want.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| timesteps | STRING | — | |
| verbose | BOOLEAN | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SIGMAS | SIGMAS | — |