Nodes/ComfyUI_ezXY/String from List
ComfyUI Node

String from List

Pull one text value out of a list, per grid cell

By GMapeSplat·Created 3 years ago·Updated 2 years ago· 25
String from List
    • list item
    • size
    • wraps
    list_input
    index0

    String from List is the node that turns a list of text values into "the one value this particular grid cell needs." On its own it's a simple index picker; wired up inside ComfyUI_ezXY's XY-plot pattern, it's how a single list of checkpoint names, prompts, or LoRA tags gets distributed across an entire comparison grid without you copy-pasting strings into a dozen nodes by hand.

    How it works

    You give it list_input - a full list of strings, most naturally the list output of Strings to List - and an index telling it which item to grab. The clever bit: index doesn't have to be a single number. Wire in ezXY Driver's x indices or y indices (both lists) and String from List runs once per index, handing back a list item output that's itself a list - one picked string per grid cell, in order, off a single wire. That's the whole mechanism these DIY XY-plot packs lean on: ComfyUI already knows how to execute a node once per item in a list input, ezXY just gives you the plumbing to exploit it deliberately.

    Inputs and outputs

    • list_input (STRING) - your source list. Comes from Strings to List, or anything else outputting a string list.
    • index (INT, default 0) - which item to pick. Can be a plain number for a one-off pick, or a list (from ezXY Driver) to pick many at once.
    • list item - the picked string(s), as a list matching whatever you fed index.
    • size - the length of list_input, a single number. Useful for sanity-checking your grid math.
    • wraps - how many times each pick wrapped around the end of the list, as a list matching list item. If your index list is longer than your value list, indexing wraps instead of erroring - this output is how you catch that silently.

    Installing ComfyUI_ezXY

    ComfyUI Manager: search "ComfyUI_ezXY" and install. Or by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/GMapeSplat/ComfyUI_ezXY.git
    

    Restart. No models, no heavy dependencies - this is a pure utility pack.

    Common issues & troubleshooting

    The README's own first line is a warning: "Does not work with current version of Comfyui." Take that seriously - this isn't a heavily maintained pack, and a stranded user on GitHub was asking (in early 2025) to fork a single node out because the maintainer had gone quiet on a broken repo. If String from List errors on load after a ComfyUI update, you're not alone and it's not necessarily your workflow.

    The most common actual mistake with this node specifically: forgetting that wraps exists and not checking it. If you built a 3×4 grid with ezXY Driver but only listed 8 checkpoint names in Strings to List, some cells will silently repeat values instead of failing - wraps on those cells will read nonzero. Wire it into Line to Console once while you're debugging a new grid, then remove it.

    If you hit a crash instead of a silent wrap, look for autoCastPatch.py in the traceback - that's the pack's brute-force type-casting patch, which is known to throw on values it can't coerce (a real report showed it failing on a float conversion). It's disableable in config.yaml if you need to isolate it from your own logic.

    CategoryezXY/utility

    Inputs (2)

    NameTypeDefaultDescription
    list_inputSTRING
    indexINT0-999–999

    Outputs (3)

    NameTypeDescription
    list itemSTRING
    sizeINT
    wrapsINT