Concat Batches Ovum
Wrap scalars into lists, never crash
- list_a
- list_b
- list
Concat Batches is the forgiving version of list concatenation. You give it two things, it gives you back one list containing both. The difference from the pack's stricter BatchExtendOvum is in the tolerance: if either input is a plain value instead of a list - a string, a number - Concat Batches quietly wraps it into a one-item list instead of raising. BatchExtend demands actual lists and errors otherwise; this node just makes it work.
The name says "batches" and it lives in the ovum/lists/comfy group, but don't over-think it - at the data level this is list concatenation with a soft touch. If you hand it ["a", "b"] and ["c"], you get ["a", "b", "c"]. Hand it ["a", "b"] and the single value c, you get the same thing, because c gets promoted to a list first.
The inputs
- list_a (*) - first collection or value.
- list_b (*) - second collection or value (optional; blank is treated as empty).
Output is a single list (*), flagged as a list so downstream list consumers accept it.
When you'd reach for it
- Merging a batch of prompts with a single extra prompt you want appended.
- Combining two batches of seeds/paths/images into one sampling pass.
- Any time your inputs might be a list or a scalar and you'd rather not branch on it - this node's tolerance is exactly the "just handle it" behavior.
The honest contrast
If your inputs are always real lists, this node and BatchExtend are functionally equivalent, and either works. Reach for this one when your data is messy - coming from different packs, possibly a scalar, possibly a list - and you want concat to not be the thing that crashes. The tolerance is the feature. If you want strictness (to catch a bug where a list turned into a scalar), use BatchExtend instead and let it yell.
Installing it
Part of comfy-ovum:
cd ComfyUI/custom_nodes
git clone https://github.com/sfinktah/comfy-ovum
Restart, or ComfyUI Manager → search "comfy-ovum". No models, no heavy dependencies.
Gotchas
The trade for tolerance is silence: if a value that should have been a list quietly arrives as a scalar, this node will happily wrap it and you'll never know you had a data-shape bug. When you're debugging "why is my batch one item short," check what actually arrived here before blaming the concat. And note the output is list-typed - wire it to list consumers, not single-value inputs.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| list_a | * | — | |
| list_b | * | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| list | * | — |