ComfyUI Node

Primitive (FLOAT)

A decimal value that actually survives a Reroute

By 80sVectorz·Created 3 years ago·Updated about a year ago· 11
Primitive (FLOAT)
    • FLOAT
    Input_FLOAT

    Last of the four basic types in this pack, and the same story as the others: it's a decimal-value primitive with its type locked to FLOAT from the moment you place it, specifically so it can pass through a Reroute node without ComfyUI refusing the connection. Native "Convert to Input" primitives can't do that - they stay dynamically typed until something downstream forces the issue, and Reroute needs a fixed type up front to know what socket color to draw. That mismatch is the entire reason this pack exists; the author hit it trying to clean up his own workflows and built a set of statically-typed primitives instead of fighting the dynamic ones.

    Where a FLOAT primitive actually earns its keep

    CFG scale, denoise strength, a LoRA weight, guidance - anything with a decimal point that needs to match across two or more nodes in the same graph. Set it here once, wire it to both places, and you've eliminated the classic "changed CFG in one KSampler and forgot the second one" mistake. It's not doing anything clever - it's exactly as simple as it sounds - but "exactly as simple as it sounds, and it survives a Reroute" is the whole value proposition of this entire pack.

    Worth knowing before you reach for it: values across this whole line are architecture-agnostic. A CFG primitive works the same whether you're feeding it into an SD1.5 KSampler expecting CFG 7 or a guidance-distilled model expecting CFG 1 - the node itself has no opinion, it just holds a number. Get the value right for whatever model you're running; this node's only job is making sure that value reaches every place it needs to.

    Inputs and outputs

    One field: Input_FLOAT, a plain decimal number box - no minimum, maximum, or step configured beyond what a standard ComfyUI float widget gives you out of the box. One output, also FLOAT. Wire it into any input expecting a decimal: CFG, denoise, a LoRA or ControlNet strength, guidance scale - anywhere a widget takes a float and you've converted it to input.

    Installing it

    ComfyUI Manager - search ComfyUI-Static-Primitives, install, restart.

    Manually:

    cd ComfyUI/custom_nodes && git clone https://github.com/80sVectorz/ComfyUI-Static-Primitives.git
    

    Restart. No requirements.txt, no model downloads - it's pure Python defining a handful of UI nodes. You'll find this one, and the rest of the pack, under a new primitives category in Add Node.

    Where people get tripped up

    Feeding it into an INT-typed input. ComfyUI type-checks sockets, and FLOAT and INT are distinct types even though both are "just a number." If the target expects a whole number, use IntStaticPrimitive from this same pack instead - this node won't type-check there.

    Assuming there's a bounds/slider config hiding somewhere. There isn't, per this node's schema - it's a plain unrestricted decimal box, not a clamped slider. If you need a value kept within a range, that has to be enforced downstream or just by discipline, not by this node.

    Small impressions, small confusion: this is the least-searched node in the pack, which likely just reflects that people usually only need one or two static primitives per workflow - the string and int variants cover more common cases (filenames, steps, seeds) than a bare decimal does. If you landed here, you almost certainly already know exactly which value you're trying to route; there's no hidden trick beyond "plug it in and reroute freely."

    A value not reaching the target node. This node holds a static value and does no computation, so a value not showing up downstream is essentially always a wiring issue - confirm the connection is actually attached before assuming the node itself is broken.

    Categoryprimitives

    Inputs (1)

    NameTypeDefaultDescription
    Input_FLOATFLOAT

    Outputs (1)

    NameTypeDescription
    FLOATFLOAT