Nodes/comfyui_bmad_nodes/FromListGetStrings
ComfyUI Node Runs on cloud

FromListGetStrings

Split a string list into individual sockets — FromListGetStrings

By bmad4ever·Created 3 years ago·Updated 9 months ago· 70
FromListGetStrings
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    • STRING
    list

    FromListGetStrings is the text half of Bmad's unpack-everything list nodes: a STRING list in, each string out on its own socket. Where FromListGet1String picks one entry by index, this one hands you the whole list pre-split, so every string lands on its own wire.

    That's handy for prompt composition. Build a list of style fragments, subject words, or quality tags with ToStringList, then fan them out here and feed each into its own text encoder or string node. Or use it to unpack generated prompt rows before routing them to different parts of the graph. It's the kind of node that looks pointless until you're elbow-deep in a prompt-building workflow and realize the alternative is a row of Index helpers or a manual switch chain.

    How it works

    Same UnMakeListMeta machinery as every other FromListGetX node - INPUT_IS_LIST set, implementation is a single line:

    def get_all(self, list):
        return tuple(list)
    

    Declared with 32 output slots, but it starts on the canvas with zero visible outputs. A bundled JS extension (ArbitraryOutputsFixedInputs.js) adds an outputs widget - set how many sockets you want (up to 16 in the UI) or right-click → "update Outputs." The README's flag applies here: the widget isn't optional decoration, it's the only way to reveal the sockets.

    Inputs and outputs

    • list - a STRING list, forceInput, wired from ToStringList (same pack) or any other string-list producer.
    • Outputs: up to 16 individual STRING sockets (STRING_1, STRING_2, …), one per entry.

    Match the widget to the list length - the node returns exactly as many strings as the list holds, so an oversized widget leaves empty sockets and an undersized one hides entries.

    Install

    Part of bmad4ever/comfyui_bmad_nodes. Via ComfyUI Manager, search "comfyui_bmad_nodes" ("Bmad Nodes"), install, restart. Manual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/bmad4ever/comfyui_bmad_nodes
    cd comfyui_bmad_nodes
    pip install -r requirements.txt
    

    Restart ComfyUI after. No model files - requirements are opencv-python, scikit-image, simpleeval, gray2color.

    Common issues

    The invisible-outputs trap is the usual suspect: no sockets means set the outputs widget; widget missing means the JS didn't load (hard-refresh the browser, update the ComfyUI frontend). And the list input won't take a bare string - it needs a real list connection. One more: strings are order-sensitive in a way that's easy to forget mid-graph. If your list comes from a node that reorders entries, verify the order once at the splitter before you wire five branches to the wrong prompts.

    CategoryBmad/Lists/GetAll

    Inputs (1)

    NameTypeDefaultDescription
    listSTRING

    Outputs (32)

    NameTypeDescription
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING
    STRINGSTRING