Float 1.00
The 0-to-1 knob you wire instead of typing the number five times
- FLOAT
Dull node, real job. Float 1.00 - class name FloatNormalized - is a single float output, one widget, no inputs, and the display name is telling you the range. There's a Float 10.00 in the same pack for wider values; this one lives strictly between 0.00 and 1.00.
Why it exists
Same reason core ships PrimitiveFloat: repetition is a bug farm. A denoise value used by two samplers, a LoRA strength that also feeds a filename, an image weight buried three nodes deep - type it in five places and the first time you forget one you get a silent mismatch that looks like a model problem. A value node turns one number into a socket you can fan out.
What the normalized version adds is a range that matches what most of those inputs actually want. Denoise, LoRA strength, mask opacity, image blend weight, this pack's own steering and match_percent fields - they're all 0-to-1-ish, and a slider that physically cannot hold 7 is one fewer way to break a graph. If you want the long version of that argument, the node-plumbing writeup in our knowledge base is the map.
The mechanism, such as it is
return (round(value, 2),)
That's the interesting part. The value is snapped to the 0.01 grid on the way out, which exists to kill binary-float artefacts - the classic 0.30 arriving downstream as 0.30499999999999994. It matters more than it sounds like it should: a snapped value compares cleanly in switch/branch logic, and it prints as 0.3 in metadata and filenames instead of a wall of digits. Step in the UI is 0.01, so what you see is what gets used.
How you'd actually use it
Right-click any numeric widget, Convert widget to input, and wire Float 1.00 into it. Do that on the two or three inputs you actually want to tune, leave everything else as widgets, and you've got a small control panel at the top of the graph.
The obnoxious caveat: the hard ceiling is 1.0. Hi-res-fix denoise above 1, LoRA strength at 1.2, CFG at 3.5 - none of those fit here. Reach for Float 10.00 from the same pack, or a plain primitive, rather than fighting the widget.
Install
ComfyUI Manager → search Rebalance Pack, or:
cd ComfyUI/custom_nodes
git clone https://github.com/nova452/Rebalance-Pack.git
# restart ComfyUI
Nothing to download. This pack carries no requirements.txt and no model files - it leans entirely on the torch and PIL your ComfyUI already has. It does ship a web/js folder for display tweaks, so hard-refresh the browser (Ctrl+Shift+R) after restarting if the node looks odd.
If it misbehaves
The node isn't in the menu. Check the category - this one lands under Rebalance-Pack/foundational, not the top level. If it's still missing, the pack didn't load; read the console for an import error rather than reinstalling blind.
The slider jumps to 0 or 1 and stops. That's the widget's min/max, not a bug. Confirm the receiving node's own range is compatible before blaming this one.
The value isn't exactly what you typed. By design. You get the nearest hundredth.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| value | FLOAT | 0.000–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| FLOAT | FLOAT | — |