HT Scheduler Bridge
Scheduler as a string, sigmas as the output — HT Scheduler Bridge
- model
- sigmas
The sampler isn't the only thing ComfyUI wants as a typed object. The scheduler - the noise schedule that decides how much noise gets removed at each step - is normally a dropdown, and that's a problem when you want the schedule to be decided by text: a prompt parameter, a config file, an external control system. HT Scheduler Bridge (from the HommageTools pack) is the companion to HT Sampler Bridge: scheduler name in as a string, ready-to-use sigmas out.
How it works
This one's slightly meatier than the sampler version because it actually computes something. It takes a model (it needs the model's model_sampling object to build a schedule), plus three strings:
- scheduler_name - e.g.
normal,karras,linear. Validated against ComfyUI's scheduler list with fuzzy matching, falling back tonormal(with a console warning) if the name doesn't resolve. - steps - the number of steps as a string (
"20"). Parsed with a fallback to 20 if it's garbage. - denoise - denoising strength as a string (
"1.0"), clamped to 0–1. Below 1.0 it computes a longer base schedule and trims it, the same trick a hires-fix pass uses.
The output is a sigmas tensor, which is the thing your advanced sampler node actually consumes. Wire sigmas into SamplerCustomAdvanced, pair it with a sampler object (from the sibling HT Sampler Bridge, or any sampler source), and you have a fully string-driven sampling stack.
Quick scheduler cheat sheet, since you'll be typing these: karras concentrates denoising effort in the middle steps - the classic choice for SD 1.5/SDXL at lower step counts. normal is the balanced default the node falls back to. linear spreads noise removal evenly. And if you're on a flow-matching model (Flux-family and friends), the old scheduler shortlist gets weird - some custom schedulers even override your shift setting, so when in doubt test a couple and look at the actual images, not the names.
Installing it
Same pack, same drill:
cd ComfyUI/custom_nodes
git clone https://github.com/ArtHommage/HommageTools.git
cd HommageTools
pip install -r requirements.txt
Restart ComfyUI (or ComfyUI Manager → "HommageTools"). No model downloads for this node.
Common issues
The silent fallback, again. Type "karras" as "karras " with a trailing space and it still works (it strips). Type "karass" and you're quietly on normal while your console prints a warning you probably won't see. If schedules suddenly look wrong after you change the string, check the terminal.
Strings mean typos aren't type-checked. ComfyUI will happily pass "1,0" instead of "1.0" and the node will fall back to full denoise rather than error - the parse is permissive on purpose, but that means bad input degrades silently. If you're driving this from extracted parameters, validate upstream.
It needs a model socket. Unlike the sampler bridge, this node can't be a pure text→object adapter - the schedule depends on the model's sampling config. Don't expect it to work floating free in the graph; wire your loaded checkpoint into it.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| scheduler_name | STRING | normal | — |
| steps | STRING | 20 | — |
| denoise | STRING | 1.0 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| sigmas | SIGMAS | — |