Float Range (Inspire)
A list of evenly-stepped floats for sweeps and XY plots
- FLOAT
If you've ever wanted to test denoise at 0.3, 0.4, 0.5, 0.6, 0.7 without wiring five separate values by hand, this is your node. Float Range is Python's range() for floats: give it a start, a stop, and a step, and it produces a list of evenly-spaced numbers. Because it outputs a list, ComfyUI will then run your workflow once per value automatically - which makes it the backbone of parameter sweeps.
That's the real use. You want to see how CFG from 4 to 9, or IP-Adapter weight from 0.4 to 0.9, changes an image. Feed a Float Range into that parameter and let ComfyUI iterate. Pair it with a List Counter to label each result and you've got a tidy sweep with zero manual fiddling.
How it works
It walks from start toward stop, adding step each time, collecting the values into a list. There's a safety cap so a tiny step can't accidentally generate a million values, and an option to force the final value to land exactly on stop instead of stopping just short. The list it emits is a genuine ComfyUI list, which is what triggers the per-value repeated execution downstream.
The inputs and outputs that matter
start(default 0) - the first value.stop(default 1) - where the range ends.step(default 0.01) - the increment between values. Smaller step = more values = more generations, so mind the count.limit(default 100) - the maximum number of values the node will produce, a guardrail against a too-small step blowing up into thousands of runs. If your range plus step would exceed this, it's capped here.ensure_end(default on) - when on, the last item in the list is forced to be exactlystop. Without it, floating-point stepping often stops a hair short (you'd get ...0.98, 0.99 but not a clean 1.0). Leave it on unless you specifically want the raw stepping.
The single output is FLOAT, and it's a list (not a single number). That list-ness is the whole point - it's what makes downstream nodes iterate.
How to install it
ComfyUI Manager: search ComfyUI Inspire Pack, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Inspire-Pack
then restart. Dr.Lt.Data's pack (ComfyUI-Manager, Impact Pack).
Common issues & troubleshooting
It only ran once instead of sweeping. The downstream node has to actually accept a list and iterate. Most native widgets do when fed a list input, but if a node collapses the list to its first element, you'll get a single run. Check that the parameter you're feeding is wired as a proper input (converted from a widget) and that nothing between here and there is flattening the list.
Fewer values than I expected. That's limit doing its job. A start/stop/step combination that would produce more than limit values gets truncated. Raise limit, or use a bigger step.
The range never reaches the end value. Floating-point stepping is imprecise, which is exactly why ensure_end exists - turn it on and the final value snaps to stop. If it's already on and you're still short, your step might be dividing the range unevenly; that's fine, ensure_end still appends the clean endpoint.
step of 0 hangs or errors. A zero step can't advance the range. Give it a real positive increment.
Huge number of generations kicked off. You set a small step over a wide range. Each value is a full generation, so 0 to 1 at step 0.01 is 100 runs. Sanity-check (stop - start) / step before you queue it.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| start | FLOAT | 0-100–100 | — |
| stop | FLOAT | 1-100–100 | — |
| step | FLOAT | 00–100 | — |
| limit | INT | 1002–4096 | — |
| ensure_end | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| FLOAT | FLOAT | — |