๐บ Interpolated Float List
Smooth float ramps for sectioned batch workflows, with real interpolation
- floats
Some workflows need a value that isn't constant across a batch - a weight that ramps up over the first half and down over the second, a per-frame strength curve, a fade in and out. You could hand-type a hundred floats. Or you could ask a node to interpolate them for you. Nilor Interpolated Float List generates a list of floats across a batch divided into sections, using real scipy interpolation (slinear, quadratic, or cubic), which puts it a notch above the linear-only alternatives.
How it works
Four inputs, all integers except the last:
number_of_floats- how many values the output list should have (one per frame/image, typically).number_of_sections- how many chunks the batch is divided into.section_number- which section you're currently generating for (1-based).interpolation_type-slinear,quadratic, orcubic.
The output floats is a list of number_of_floats floats. Under the hood it computes a "portion length" and builds the section's ramp using scipy.interpolate.interp1d between 0 and 1 (or 1 and 0) depending on the section position. First and last sections are single-direction ramps; middle sections get a rise-and-fall pair. So the shape is: a smooth 0โ1โ0 envelope across the whole batch, and each call to the node gives you the piece of that envelope for one section.
This is clearly built for a "process the batch in sections" pattern - e.g., a video pipeline that renders N frames in M chunks and wants a per-frame strength that glides smoothly across the whole thing, with each worker/section producing its own slice. Output floats are meant to feed per-frame weights (denoise strength ramps, LoRA weight curves) node-by-node as a list.
The honest gotchas
It requires scipy, and the pack's requirements.txt doesn't list it. The scipy.interpolate import is at the top of the pack's main module, so if scipy is missing, the whole pack fails to load, not just this node. Most ComfyUI installs have scipy lying around from other packs, but if your pack won't import, this is the first suspect: pip install scipy.
The section math is quirky at the edges. With certain number_of_sections values that don't divide cleanly, the portion-length arithmetic leaves trailing zeros in the output list - the code allocates number_of_floats zeros and only fills the section's span, so don't assume every element is nonzero. And section_number outside 1..number_of_sections will produce behavior that's basically undefined by the source - it just computes indices. Keep the values sane.
It's a generator, not a router. Unlike a "select float at frame N" node, this gives you the whole slice for a section at once. If you need one value per frame in a flat batch, wire this list into a selector (this pack's ๐บ Select Index From List works well for that).
Install
ComfyUI Manager (search "Nilor Nodes") or:
cd ComfyUI/custom_nodes
git clone https://github.com/nilor-corp/nilor-nodes
cd nilor-nodes && pip install -r requirements.txt
Restart ComfyUI; it's under Nilor Nodes ๐บ โ Generators. Remember the scipy note above.
Bottom line
A genuinely useful generator if your workflow is sectioned batches with smooth parameter ramps - and the only node in this pack that pulls in a real numeric library to do it. Treat slinear as the default, quadratic/cubic as the nicer-looking curves when the steeper knees matter, and check your trailing values before trusting the full list.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| number_of_floats | INT | โ | |
| number_of_sections | INT | โ | |
| section_number | INT | โ | |
| interpolation_type | COMBO | 3 options: slinear, quadratic, cubic |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| floats | FLOAT | โ |