Create Schedule Float List
Schedule CFG or LoRA strength per step
- float_list
Some Wan inputs don't want a single number, they want a value per step - a list of floats you can ramp across the generation. This node builds that list. The node's own description says it straight: it's a "helper node to generate a list of floats that can be used to schedule things like cfg and lora scale per step." Instead of one fixed CFG or one fixed LoRA strength for the whole render, you can start high and ease off, or fade a LoRA in over the first few steps.
This is genuinely useful on Wan because so much of the quality game is about when things happen. The KB's whole speed-LoRA saga is a timing story: the community's fix for LoRAs wrecking quality was applying them "to the low-noise pass only," and letting a strength ramp instead of a hard on/off is the finer-grained version of that instinct. Same for CFG - you might want it firmer early for composition and softer late so detail doesn't get crunchy.
How it works
You define a curve: a start value, an end value, how to interpolate between them, and over which slice of the steps the ramp happens. The node emits a list of floats, one per step, following that curve. Steps outside the ramp window get the default_value. Feed the list into any input that accepts a per-step float schedule.
The inputs that matter
steps(default 30) - how many entries the list has. Match this to your sampler's step count.start_value(default 5) /end_value(default 5) - the value at the beginning and end of the ramp. Set them equal for a constant; set them apart for a ramp (e.g. CFG 6 → 3).interpolation(linear,ease_in,ease_out) - the shape of the ramp. Linear is a straight line; the eases curve it so the change is gentle at one end.start_percent(0) /end_percent(1) - which portion of the steps the ramp spans, as a fraction. Outside this window the list holdsdefault_value.default_value(default 0) - the value used for steps outside the ramp window. Set this thoughtfully - a stray 0 where you meant "keep it at 5" is a common mistake.
The single output is float_list (FLOAT list) - wire it into the scheduled input on your CFG or LoRA node.
How to install it
Ships with Kijai's WanVideoWrapper. ComfyUI Manager: search ComfyUI-WanVideoWrapper, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/kijai/ComfyUI-WanVideoWrapper
pip install -r ComfyUI-WanVideoWrapper/requirements.txt
then restart. Nothing to download - it generates numbers.
Common issues & troubleshooting
Steps outside the ramp went to zero. That's default_value at its default of 0. If you set start_percent/end_percent to a sub-range, everything outside it gets default_value, and a 0 there can silently kill your CFG or LoRA on those steps. Set default_value to whatever the "resting" value should be.
List length doesn't match your sampler. steps here should equal the sampler's step count. A mismatch means the schedule and the sampling fall out of alignment - the ramp lands on the wrong steps or the tail is missing.
Ramp does nothing. If start_value and end_value are equal, you get a flat list - which is fine if you wanted a constant, but if you expected movement, set them apart and pick a non-trivial window. Also confirm the downstream node actually reads a per-step list rather than a single float.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| steps | INT | 302–1000 | Number of steps to schedule cfg for |
| start_value | FLOAT | 5.000–100 | CFG scale to use for the steps |
| end_value | FLOAT | 5.000–100 | CFG scale to use for the steps |
| default_value | FLOAT | 0.000–1000 | Default value to use for the steps |
| interpolation | COMBO | linear | Interpolation method to use for the cfg scale |
| start_percent | FLOAT | 0.000–1 | Start percent of the steps to apply cfg |
| end_percent | FLOAT | 1.000–1 | End percent of the steps to apply cfg |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| float_list | FLOAT | — |