Nodes/IG Interpolation Nodes/πŸ“ƒ IG String List
ComfyUI Node

πŸ“ƒ IG String List

The index-driven prompt picker hiding inside IG Nodes

By IDGallagherΒ·Created 3 years agoΒ·Updated about a year agoΒ· 3
πŸ“ƒ IG String List
    • current value
    • list
    β—„index1β–Ί
    β—„string_listβ€”β–Ί

    Ever built a batch loop and found yourself pasting ten prompts into ten separate text nodes? That's the pain IG String List exists for. It's the pack's answer to "I have a list of strings and I want to hand them to the graph one at a time," and once you're doing keyframe or animation work you'll use it constantly.

    It lives in the IG Nodes β†’ Primitives menu alongside its numeric sibling, IG Float List. You feed it a multiline string and an index; it splits the text on newlines and returns whichever entry the index points at.

    How it works

    The mechanism is genuinely simple: the node regex-splits your string_list on newlines, caches the result, and returns list[index - 1] - the index is 1-based, like most of the pack's primitives. One detail worth knowing: it splits on newlines only. Comma-separated values will not split; that's what the float list node (and its own separator logic) is for. Paste one value per line.

    It also caches the parsed list, so changing the index between runs doesn't re-parse anything - it only re-splits when the text actually changes. If your index runs past the end of the list, it silently clamps to the last entry rather than erroring. Both behaviors are fine in practice, but they're the kind of thing that'll confuse you for five minutes when a batch "finishes" by repeating its final prompt.

    The inputs that matter

    • index (INT, 1–100, default 1) - which line to pull out. This is the input you wire to a loop counter, an iteration node, or a seed-based random pick.
    • string_list (STRING, multiline) - your list, one entry per line. This is the author's own field description and it's the whole job.

    Outputs: current value - the single entry at index (the one you wire into a CLIP Text Encode or a filename), and list - the full parsed list, handy for debugging or for feeding something that wants the whole batch at once.

    Why you'd reach for it

    The whole pack is about "exploration of Latent Space," which in practice means interpolation and animation workflows where you're generating N frames from a changing set of inputs. That's exactly the shape this node fits: hold a list of prompts or path fragments, step the index each frame, and every frame gets a different string with zero graph duplication.

    Installing it

    It ships with IDGallagher/ComfyUI-IG-Nodes ("IG Interpolation Nodes"). Easiest path is ComfyUI Manager - search "IG Interpolation Nodes" and install. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/IDGallagher/ComfyUI-IG-Nodes
    

    Restart ComfyUI and let it install the pack's requirements.txt (diffusers, opencv-contrib-python, matplotlib, scikit-image). Fair warning: you're pulling a chunky OpenCV dependency just to split a string, because the pack ships all its nodes together. No model downloads - nothing here needs weights.

    One honesty note: this pack's README is literally a smiley face, so the source code is the documentation. There's also almost zero community chatter about these nodes by name, so expect to learn them by experiment rather than by reading a tutorial. The node is dead simple, so that's a fast experiment.

    CategoryπŸ“ IG Nodes/Primitives

    Inputs (2)

    NameTypeDefaultDescription
    indexINT11–100β€”
    string_listSTRINGβ€”

    Outputs (2)

    NameTypeDescription
    current valueSTRINGβ€”
    listSTRINGβ€”