Nodes/ComfyUI-LogicUtils/Manual Choice Int
ComfyUI Node

Manual Choice Int

A poor man's dropdown for a handful of preset numbers

By aria1th·Created 3 years ago·Updated 7 months ago· 116
Manual Choice Int
    • INT
    input_string1$2$3
    separator$
    index0

    Same idea as this pack's Manual Choice Float, aimed at integers instead: a way to keep a short list of preset numbers in one text field and pick between them with a single index, instead of rewiring the graph or hunting for a proper dropdown node every time you want to try a different value.

    What it does

    Three required inputs. input_string (STRING, default "1$2$3") holds your candidate integers as one delimited string. separator (STRING, default "$") is what splits them apart. index (INT, default 0, no meaningful upper bound worth worrying about) picks which one comes out. The node splits input_string on separator, parses the piece at position index as an integer, and returns it.

    Out of the box that means index=01, index=12, index=23. Swap the string for whatever integers actually matter to your workflow - steps counts you're testing, batch sizes, a handful of seeds you keep coming back to, like "20$30$50$80" - and index becomes your selector. Wire it from an upstream counter or another logic node and you've got a switchable preset list without needing a native combo widget built for arbitrary integer lists.

    Realistically this pairs well with the rest of the pack's list and comparison nodes: build a workflow where a Compare gate or some upstream logic decides which index to use, and Manual Choice Int turns that decision into an actual preset value without you hardcoding a chain of if/else nodes for each option.

    The inputs and outputs that matter

    • input_string (required STRING, default "1$2$3") - your candidate integers, delimited.
    • separator (required STRING, default "$") - the delimiter. Has to match what's actually used in input_string.
    • index (required INT, default 0, min 0) - which value to return, zero-based.
    • Output: INT - the value at that position.

    Installing it

    Search ComfyUI-LogicUtils in ComfyUI Manager, install, restart - or clone it manually with cd ComfyUI/custom_nodes && git clone https://github.com/aria1th/ComfyUI-LogicUtils, then restart ComfyUI. No models, no real dependency weight; the pack's whole appeal, according to a Reddit thread that specifically recommended it over heavier alternatives, is that there's nothing extra to install. There's an install hook you opt into with COMFYUI_LOGICUTILS_AUTO_INSTALL=1, and COMFYUI_LOGICUTILS_SKIP_INSTALL=1 turns it off for good - with nothing heavy here, you'll likely never need either.

    Where people get burned

    Same separator trap as the float version: change the values in input_string to use a different delimiter and forget to update separator to match, and the split fails silently in the sense that it doesn't break apart the string at all - you get the whole thing back as one piece, which then fails to parse as an integer and errors rather than quietly returning something wrong.

    Also worth knowing: input_string is parsed as text and each piece is converted to an integer, so if one of your values accidentally has a decimal point in it ("20$30.5$80"), that piece won't parse cleanly as an int and the node will error on that index specifically, even though the other indices are fine - a subtle bug if you're not looking closely at the exact string you typed. And as with the rest of this pack, there's no dropdown UI here, just a number you have to remember maps to a specific preset - genuinely useful for three or four options, and something you'll probably outgrow past that.

    CategoryLogic Gates

    Inputs (3)

    NameTypeDefaultDescription
    input_stringSTRING1$2$3
    separatorSTRING$
    indexINT00–9223372036854776000

    Outputs (1)

    NameTypeDescription
    INTINT