Nodes/rgthree's ComfyUI Nodes/Power Primitive (rgthree)
ComfyUI Node Runs on cloud

Power Primitive (rgthree)

Power Primitive (rgthree)

By rgthree·Created 3 years ago·Updated 13 days ago· 3,294
Power Primitive (rgthree)
    • *

    Power Primitive is a single, self-contained node that spits out one primitive value - a STRING, INT, FLOAT, or BOOLEAN - that you pick the type of and type in yourself. That's it. It's the value you want to define once and fan out to a bunch of places: a shared width, a steps count you reuse across two samplers, a boolean toggle, a filename prefix. And if you connect an input, it'll cast that incoming primitive to whatever output type you've chosen.

    Why you'd reach for it over the native one

    ComfyUI ships a built-in Primitive node, and if you've fought with it you already know the itch this scratches. The stock node doesn't really know what it is until you wire it into something - it infers its type from the slot you connect it to, which makes it awkward to set up standalone and easy to get into a confused state. Power Primitive flips that around: you tell it the type up front, from the node itself, and it just outputs that. No connect-first dance. It's the same design instinct that runs through the whole rgthree pack - take a small, fiddly bit of ComfyUI and make it comfortable.

    The casting side is the quiet bonus. Feed it a FLOAT and set the output to INT and it converts. Feed it a number and set STRING and you get text. It saves you hunting for a separate convert node when all you needed was to nudge one value's type.

    How it works

    Under the hood it's dead simple: a value widget plus a type selector. You choose the output type, you enter (or pipe in) the value, and the node emits it. From the right-click menu you can fast-switch the output type without rebuilding the node, and you can hide the type selector entirely once you've locked a node to one type and don't want the extra widget cluttering things.

    Inputs and outputs

    There's really one thing to know here, and it's the output. Power Primitive has a single output slot typed * (wildcard) - it takes on whatever type you selected, so the same node is your INT source in one graph and your STRING source in another. Whatever's downstream sees the concrete type you picked.

    On the input side you set the value and the type on the node, and you optionally connect a primitive to cast. Keep the mental model straight: the type you select is what the output becomes, regardless of what you fed in.

    Installing it

    Comes with rgthree-comfy. Grab it through ComfyUI Manager by searching rgthree's ComfyUI Nodes, or clone the repo:

    cd ComfyUI/custom_nodes
    git clone https://github.com/rgthree/rgthree-comfy.git
    

    Restart ComfyUI when it's done. Nothing else to download - no models, no dependencies.

    Common issues

    Type mismatch downstream. The * output becomes exactly the type you chose, so if you set it to STRING and wire it into a slot that wants an INT, ComfyUI will reject the connection. If a link won't take, check the output type matches the slot - fast-switch it from the right-click menu.

    The right-click menu is where the controls live - switching type, hiding the selector - which makes this node one of the ones bitten by ComfyUI's Nodes 2.0 frontend rewrite. That rollout (late 2025) broke properties panels and right-click access on several rgthree nodes, and the issue was still open into mid-2026. If you can't get to the type switcher or the properties won't open, check whether Nodes 2.0 is on; the standing workaround is to turn it off and stay on the legacy canvas.

    Categoryrgthree

    Inputs (0)

    No inputs

    Outputs (1)

    NameTypeDescription
    **