Int Control ππ ‘π £π
The Integer Sibling of Float Control
- INT
Float Control is the smooth one, but plenty of parameters in ComfyUI only take whole numbers - steps, batch size, width, height, seed-adjacent values, frame counts. That's what Int Control is for. Same engine, integer output: every execution it advances through one of eleven movement patterns and outputs an INT between your minimum and maximum. If you've read the Float Control article, you already know the shape of this node; this is the version that rounds.
The mechanics are identical under the hood. It keeps a phase value, advances it by 1 / steps_per_cycle per execution, runs the selected pattern (sine, triangle, sawtooth, square, bounce, exponential, logarithmic, pulse, random_walk, smooth_noise, static), maps the result into your minβmax range, and then rounds to the nearest integer. The rounding is the whole difference, and it's worth noticing what it does to the feel: a sine wave between 0 and 100 becomes a stepped sweep that hangs on each integer briefly - more like a gear ratcheting than a glide.
That stepped quality is actually its strength. If you want to sweep the number of sampler steps between 20 and 40 as a demo effect, Int Control gives you something that visibly changes value by whole steps instead of drifting through a haze of decimals. For discrete parameters - which is most of what you'd feed an INT into anyway - that's exactly right. And since it shares the same state machine, it animates live in real-time loops the same way: one step forward per execution.
The inputs that matter
- movement_type - same eleven patterns,
sinedefault. - steps_per_cycle - frames per full cycle.
- minimum_value / maximum_value - integer range (defaults 0β100). The gap is your step count; a wider range with the same pattern gives a finer ladder.
- starting_value - the output on first execution (default 50).
Output: one INT.
Install & notes
From ryanontheinside/ComfyUI_RealtimeNodes - ComfyUI Manager (search "Control Nodes") or:
cd ComfyUI/custom_nodes
git clone https://github.com/ryanontheinside/ComfyUI_RealtimeNodes
cd ComfyUI_RealtimeNodes
pip install -r requirements.txt
Keep always_execute on or the animation freezes; the node is stateful, so ComfyUI clearing state snaps it back to starting_value. One thing to watch: if your range is narrow (say 0β10), the pattern output gets quantized hard and the waveform becomes a coarse staircase - square and pulse collapse into two-position blinks, which is often what people actually want, but know that you're seeing rounding, not a bug. The quick rule: want smooth motion, use Float Control; want steps you can count, use this one.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| always_execute | BOOLEAN | true | When enabled, the node updates every execution |
| steps_per_cycle | INT | 301β1000 | Number of steps to complete one full cycle |
| movement_type | COMBO | sine | Pattern of value changes over time |
| maximum_value | INT | 100-10000β10000 | Maximum value that can be output |
| minimum_value | INT | 0-10000β10000 | Minimum value that can be output |
| starting_value | INT | 50-10000β10000 | Initial value when the node first executes |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| INT | INT | β |