WASABI Schedule Options
Per-token control, with a graph so you can see what you're doing
- schedule_options
- plot
The difference between "one slider for the whole prompt" and actual control
Plain WASABI scaling treats your whole prompt as one unit - one scale, one blend_back. That's fine until you realize you'd rather punch up the subject's tokens and leave the background description alone. WASABI Schedule Options is the node that makes WASABI per-token instead of whole-prompt: it builds the three curves the modulate nodes consume, and - the genuinely nice part - it draws a preview plot so you can see the curve before it touches a single generation. You don't find out after a 20-second render that your schedule was garbage.
Like the rest of the pack it's experimental (for_testing category, Wan 2.1/2.2-focused), but this node is also the easiest to understand: it's a config builder with a graph for a receipt.
How it works
You type schedule strings - one per quantity - and the node parses them into per-token vectors, bundles them with the scalar fallbacks into a DICT, and renders a BHWC plot image (red = ref, green = scale, blue = blend, with a legend). The schedule grammar is small:
linspace(0,1)- ramp from 0 to 1 across the tokens.cosine(0,1)orcosine(0.2,0.2,0.8)- eased curves through control points.flat(0.5)- constant.- A plain list like
"0 0.25 0.5 0.75 1"- resampled to the real token count (you can also prefixcsv:).
An empty string disables that schedule, and the node falls back to the matching scalar control. That fallback behavior is what makes it safe to start from: wire the node in with everything empty and it behaves exactly like the plain modulate controls.
The inputs and outputs that matter
ref_schedule,scale_schedule,blend_schedule- the three curves. Empty = use the scalar fallback.t_ref(0.5),scale(1.0),blend_back(0) - the scalar values used when the matching schedule string is empty.token_length(default 77) - and here's a subtlety straight from the tooltip: it only controls the plot display, it doesn't need to match your real conditioning. The modulate node resamples the schedule to the actual token count of your prompt anyway.
Outputs: schedule_options (a DICT - wire it into WASABI Conditioning Modulate's schedule_options input, or WASABI CLIP Text Encode's), and plot (an IMAGE - drop it into a PreviewImage node).
A natural first use: scale_schedule = linspace(1.2,0.8) to front-load the subject tokens and ease off toward the end of the prompt, and watch the plot to confirm the ramp before you generate.
Install
ComfyUI Manager (search "WASABI") or:
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/wasabi
then restart. No model downloads, torch is the only dependency, ComfyUI 1.3.0+ required. It's by WASasquatch - the same author as the retired WAS Node Suite, but a brand-new, separate, tiny pack.
Troubleshooting
- "I set a schedule and nothing changed." An empty string is not zero - it means "fall back to the scalar." Make sure the string you typed actually parses; a typo like
linspace(0,1errors out loudly, which at least tells you. - "The plot looks different from what I intended."
token_lengthonly affects the plot's x-axis, not the real math - the modulate node resamples your list to your prompt's true token count. - "Where does the plot go?" It's a normal IMAGE output. PreviewImage it. It won't do anything if you leave it dangling.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| token_length | INT | 771–4096 | Token length for plot display (doesn't need to match input conditioning). |
| ref_schedule | STRING | Schedule for reference embeddings. | |
| scale_schedule | STRING | Schedule for scale. | |
| blend_schedule | STRING | Schedule for blend-back. | |
| t_ref | FLOAT | 0.500–1 | Global fraction toward reference when ref_schedule is empty. |
| scale | FLOAT | 1.000–10 | Global scale when no scale_schedule. |
| blend_back | FLOAT | 0.000–1 | Amount to blend results back toward ORIGINAL (0–1). Overridden per-token by blend_schedule. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| schedule_options | DICT | — |
| plot | IMAGE | — |