Nodes/ComfyUI-LogicUtils/Uniform Random Float
ComfyUI Node

Uniform Random Float

A seeded random number generator you can actually reproduce

By aria1th·Created 3 years ago·Updated 7 months ago· 119
Uniform Random Float
    • FLOAT
    min_val0.00
    max_val1.00
    decimal_places1
    seed0

    This is random.uniform(min_val, max_val) as a node, rounded to however many decimal places you ask for. Nothing about it is clever - it just fills a real gap, because ComfyUI's built-in random widgets are almost always integer seeds, and there isn't an obvious native way to get "a random float between 0.3 and 0.7, and I want to be able to reproduce it."

    That's exactly the use case: randomizing a denoise strength, a CFG value, an IPAdapter weight, anything numeric where you want batch-to-batch variety within bounds you control rather than either a fixed value or total chaos. Because it's seeded, you can lock in a specific run that produced a result you liked and reproduce that exact float again later - the same discipline the community's troubleshooting advice pushes for everywhere else ("change one thing at a time, keep the seed fixed"), just applied to a number that wasn't a seed to begin with.

    How it works

    It draws uniformly between min_val and max_val using seed to control the draw, then rounds to decimal_places. It's also marked as an output node, so ComfyUI displays the value it landed on directly, which is handy for confirming what actually got picked without wiring a preview node just to check.

    The inputs and outputs that matter

    • min_val / max_val - the range to draw from, defaulting to 0 and 1. Every value in that range has equal odds, unlike Weighted Random Choice's biased picks.
    • decimal_places - how many digits after the decimal point, default 1, from 0 up to 10. Set it to 0 if you basically want a random integer-ish value dressed as a float.
    • seed - controls which value inside the range you get. Same seed, same float, every time.
    • Output - FLOAT, ready to wire straight into a denoise, strength, or scale input elsewhere in your graph.

    How to install it

    Comes with the full LogicUtils pack. Via ComfyUI Manager: search ComfyUI-LogicUtils, install, restart. Or by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/aria1th/ComfyUI-LogicUtils
    

    then restart ComfyUI. Pure Python - random and rounding - so there's nothing to download beyond the repo and nothing to build.

    Context on the author, since the README doesn't offer any: it's aria1th, publicly known as AngelBottomless, the trainer behind Illustrious XL - the SDXL anime finetune that took over from Pony Diffusion v6 as the open-source default. LogicUtils is a side toolbox, and it's documented about as much as the README admits: "Proper documentation is being prepared, however there are too many nodes." That's held since the repo's last push in early 2026. It's genuinely in use, though - it shows up as a real dependency in complex published workflows alongside packs like rgthree-comfy - just under-explained, which is what this article is for.

    Common issues & troubleshooting

    Getting the same float every run. seed is fixed unless you change it - that's the entire point of exposing it, but it does mean "randomize" isn't the default state; you have to drive the seed yourself.

    Values look suspiciously round. Check decimal_places - if it's set low (or 0), you're seeing genuine rounding, not a bug in the random draw.

    min_val greater than max_val. The node expects a proper range; if you've wired those backward from a computed source, swap them before the draw or you'll get behavior that doesn't match what you're expecting.

    CategoryLogic Gates

    Inputs (4)

    NameTypeDefaultDescription
    min_valFLOAT0.00-999999999–999999999
    max_valFLOAT1.00-999999999–999999999
    decimal_placesINT10–10
    seedINT00–9223372036854776000

    Outputs (1)

    NameTypeDescription
    FLOATFLOAT