Nodes/Ostris Nodes ComfyUI/One Seed - Ostris
ComfyUI Node

One Seed - Ostris

One number, six outputs, zero fuss

By ostris·Created 3 years ago·Updated about a year ago· 49
One Seed - Ostris
    • seed
    • int
    • number
    • float
    • string
    • zfill
    seed0

    You know the drill: one sampler wants a SEED, the next node wants an INT, and the thing that names your output files wants a string. Core ComfyUI doesn't give you one number that is all of those at once, so either you wire conversions in or you hardcode the same seed in three places and hope you remembered to update them together. One Seed is the fix for exactly that. It's a single input node that fans one number out into every format a workflow is likely to ask for.

    The whole node is one box with one setting: seed, an integer from 0 up to 2^64-1, defaulting to 0. Type it once and grab whatever port you need downstream:

    • seed - the SEED object KSamplers and anything else from the sampling family want
    • int - plain integer, for nodes that only accept INT
    • number - NUMBER, for the handful of nodes that use ComfyUI's generic number type
    • float - same value as a float, for widgets that insist on FLOAT
    • string - the seed as text, for anything that concatenates strings
    • zfill - the seed zero-padded to 16 digits as a string

    That last one is the sleeper feature. If you're naming frames or batch outputs and you want 0000000000000042.png instead of 42.png, the zfill port does the padding for you.

    How it works is unglamorous and that's the point: the node stringifies your seed and returns it in each type. One thing worth knowing from the source: it caps the seed at 16 characters. Paste in a seed longer than that and it silently keeps the first 16 digits. In practice that never bites anyone - seeds past 2^53 are already beyond what float ports represent exactly - but if you're copying a gigantic seed from somewhere and your outputs don't match, this is where to look.

    It's also a passthrough, not a generator. Nothing here randomizes anything, so if you want a fresh seed per run you still need a random seed node upstream or to roll your own between runs. That's not a bug, it's the nature of a "one source of truth" node, but it catches people who assume "seed node" means "random seed node."

    Install it the way you install the rest of the Ostris Nodes pack: ComfyUI Manager, search for Ostris Nodes, install, restart. Or by hand:

    cd <your_comfyui_folder>/custom_nodes
    git clone https://github.com/ostris/ostris_nodes_comfyui.git
    cd ostris_nodes_comfyui
    pip install --upgrade -r requirements.txt
    

    The pack is from Ostris - Jaret Burkett, the AI Toolkit and Flex developer - and this is one of the small quality-of-life nodes he wrote early on while learning the ComfyUI API. It's a few years old now, lightly maintained, and honestly it doesn't need to change: a seed fan-out is a solved problem.

    Is it worth installing a whole pack for? The pack also brings the Text Box and Save Image Direct nodes, so if any of those appeal, the marginal cost of One Seed is zero. And if you've ever changed a seed in three places and watched one of them drift out of sync, you already know the answer.

    Categoryostris/general

    Inputs (1)

    NameTypeDefaultDescription
    seedINT00–18446744073709550000

    Outputs (6)

    NameTypeDescription
    seedSEED
    intINT
    numberNUMBER
    floatFLOAT
    stringSTRING
    zfillSTRING