ZML_变量_文本列表
One text box, N parallel runs, each with its own prompt line
- 输入变量包
- 输出变量包
This is the node that makes the whole parallel-variable family click. ZML_变量_文本列表 turns a multiline text box into a list, then hands each run of a subworkflow one line from it. You type a prompt per line, wire the bundle into the container, and run 1 gets "prompt1", run 2 gets "prompt2", and so on - each parallel thread doing its own variation instead of you copy-pasting workflows.
Mechanically it's the same contract as its siblings. Each line becomes an entry in a list variable riding the VAR_BUNDLE; the container's resolve_variable picks values[index % len(values)], so the list cycles if you run more times than you have lines. The chosen value is substituted for every {{占位符}} marker in the API JSON you pasted into ZML_ParallelJsonContainer. The source is genuinely just a split('\n') and a dict append - the value is in the wiring, not the code.
What to set
- 文本列表 - multiline STRING, one prompt (or tag set, or filename) per line. Default is two lines,
提示词1/提示词2. - 占位符 - STRING, default
提示词. The{{name}}marker your JSON workflow template references. - 输入变量包 (optional) - merge into a bundle you've already built from the int, float, seed, or image-folder nodes.
Output is 输出变量包 (VAR_BUNDLE), the merged bundle.
Why it's the one you'll actually use
Because text is what you're usually sweeping. LoRA-style prompt variations, a batch of character names, different negative prompts, a list of filenames - a text list is the natural shape for all of it, and this node is the least-fiddly way to feed a list into a parallel container. Combine it with the integer node if your sub-workflow also needs a per-run index, or with the seed node if each run should also get a different seed.
Two honest caveats. First, this parallel system is designed for API or light-logic sub-workflows - the README's own examples are watermarking images across threads and parallel HTTP calls. If your JSON contains a full KSampler, you're not getting real concurrency on the GPU, just queued runs. Second, the author maintains 160+ nodes as one person and says flat-out that the nodes they use daily are polished and the rest may have bugs; the subworkflow family is their daily driver, so it's about as battle-tested as this pack gets. Bugs go to the GitHub issues page.
Install
Everything in one pack: ComfyUI Manager → search ComfyUI-ZML-Image, or
cd ComfyUI/custom_nodes
git clone https://github.com/zml-w/ComfyUI-ZML-Image
restart, done. No models, no heavy deps. English users: the UI is Chinese-first, so grab the translation patch linked at the top of the README before you go hunting for the placeholders.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| 文本列表 | STRING | 提示词1 提示词2 | — |
| 占位符 | STRING | 提示词 | — |
| 输入变量包opt | VAR_BUNDLE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| 输出变量包 | VAR_BUNDLE | — |