Nodes/Simple String Repository/Simple String Repository Large (IO)
ComfyUI Node

Simple String Repository Large (IO)

Ten prompt slots when you're swapping half the sentence

By IgalOgonov·Created 2 years ago·Updated 2 years ago· 3
Simple String Repository Large (IO)
    • parsed_string
    string
    delimiter
    target1
    strength11.00
    random1-1
    target2
    strength21.00
    random2-1
    target3
    strength31.00
    random3-1
    target4
    strength41.00
    random4-1
    target5
    strength51.00
    random5-1
    target6
    strength61.00
    random6-1
    target7
    strength71.00
    random7-1
    target8
    strength81.00
    random8-1
    target9
    strength91.00
    random9-1
    target10
    strength101.00
    random10-1

    SimpleStringRepositoryLarge is the biggest of the Simple String Repository family: the same "type a tag collection into a text box, select entries by index, get one string back" trick, but with ten selection slots instead of three or five. It's the version for the prompt builders who treat their workflow as a control panel - the ones assembling half a sentence from reusable parts rather than swapping a tag or two.

    The mechanism is identical to the rest of the pack. The string field holds a newline-separated list where each line is an option, indexed either explicitly (4.moody overcast) or by line number if you leave the prefix off. Each targetN picks one entry; the node joins everything you selected with the delimiter ("," or " ") and returns a single parsed_string. Full walkthrough and install live on the base Simple String Repository page; the only real difference here is scale.

    Why ten slots changes how you use it

    With three slots you select from one group. With ten, you can run several groups through a single node: a style group, a lighting group, a camera group, a mood group - each contributing its pick to one assembled prompt. Set five or six slots with different targets and the node becomes a mini prompt-builder in itself, the kind of thing you'd otherwise chain multiple nodes together to do. It also plays well with the random inputs: fill the collection with {option one|option two} dynamic syntax and leave randomN at -1, and one queue run gives you a varied prompt while the rest of your selections stay locked. That's a cheap way to batch variations without a wildcard system.

    The trade-off is obvious the moment the node is on the canvas: ten target widgets plus ten strength plus ten random is a wall of numbers. For hand-tweaking one slot it's overkill - the Small or base node is friendlier. And if the only inputs you actually set are the targets, the Compact variant packs each slot's target,strength,random triple into one string and shrinks the node dramatically.

    Inputs and output

    Same family shape: string (multiline), delimiter, then target1target10 (INT), strength1strength10 (FLOAT, (tag:weight) wrapping when not 1, dropped at 0), and random1random10 (INT, -1 for random, otherwise forced). One output, parsed_string, displayed on the node body since it's an output node.

    Install

    ComfyUI Manager (search "Simple String Repository") or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/IgalOgonov/ComfyUI_Simple_String_Repository
    

    Restart ComfyUI. No requirements file, no model downloads - plain Python plus a small JS extension.

    Gotchas

    The family quirks apply with more surface area: a dot anywhere in an entry makes the parser truncate or (for unindexed lines) crash with a ValueError, and duplicate indexes silently shadow everything after the first. With ten collections in one box you're more likely to mix indexed and unindexed lines - run the node's "Add Missing Indexes" button before you rely on specific numbers. And since the node never caches, any random picks re-roll every queue run. Want to actually lock a prompt? Set every randomN to a concrete number, or use the base node with fewer moving parts.

    Categoryutils

    Inputs (32)

    NameTypeDefaultDescription
    stringSTRING
    delimiterCOMBO2 options: ,,
    target1optINT0–100000000
    strength1optFLOAT1.000–10
    random1optINT-1-1–1000
    target2optINT0–100000000
    strength2optFLOAT1.000–10
    random2optINT-1-1–1000
    target3optINT0–100000000
    strength3optFLOAT1.000–10
    random3optINT-1-1–1000
    target4optINT0–100000000
    strength4optFLOAT1.000–10
    random4optINT-1-1–1000
    target5optINT0–100000000
    strength5optFLOAT1.000–10
    random5optINT-1-1–1000
    target6optINT0–100000000
    strength6optFLOAT1.000–10
    random6optINT-1-1–1000
    target7optINT0–100000000
    strength7optFLOAT1.000–10
    random7optINT-1-1–1000
    target8optINT0–100000000
    strength8optFLOAT1.000–10
    random8optINT-1-1–1000
    target9optINT0–100000000
    strength9optFLOAT1.000–10
    random9optINT-1-1–1000
    target10optINT0–100000000
    strength10optFLOAT1.000–10
    random10optINT-1-1–1000

    Outputs (1)

    NameTypeDescription
    parsed_stringSTRING