Embeddr Split IDs
One list in, many individual IDs out — the batch-processing enabler
- artifact_ids
- split_ids
Split IDs does exactly what it says: it takes a comma-separated list of artifact IDs and splits it into individual IDs for batch processing. One list in, a list of single IDs out. On the surface it's the most boring node in the Embeddr pack. Underneath it's the reason you can do "load all of these, one at a time" without hand-splitting strings.
Here's the key mechanism, straight from the tooltip on the output: the split_ids output is marked for List Execution. ComfyUI understands that this node emits a list, and downstream nodes that support iteration run once per item. So you wire Split IDs' output into something that wants one ID, and instead of loading "the list," it loads each ID in turn. That's the batch pattern - and it's the inverse of Merge IDs, which bundles IDs into a list for lineage. The pair is the pack's way of doing both directions of "one vs. many."
The input
artifact_ids- the customEMBEDDR_ARTIFACT_IDinput. The tooltip says it plainly: "Comma-separated IDs or list of IDs." The node is forgiving about what it receives: a plain comma-separated string, a list, or an object carrying an ID all get normalized into clean individual ID strings. It strips whitespace, skips empties, ignores"none"/"null", and dedupes - so" abc, def, abc "becomes two IDs, not three.
The dedupe is worth remembering: if you feed it a list that legitimately contains the same ID twice, you get one. That's almost always what you want for batch loading, but if your workflow's semantics depend on duplicates, this node will quietly collapse them.
Where it slots into a workflow
The natural pipeline: Load Artifacts (or a search node) returns a batch of IDs → Split IDs fans them out → Load Artifact processes each individually → you get per-artifact outputs you can compare or chain. It's also the cleanup step after Merge IDs - merge for lineage, split for per-item work. Since the node makes no network calls and touches no pixels, it's pure plumbing; nothing to tune, nothing to break.
Install & notes
Pack install as usual: embeddr serve running, pack via ComfyUI Manager or a release into custom_nodes, restart ComfyUI. No extra dependencies.
The one thing to double-check when it "doesn't work": whether your downstream node actually iterates a list. ComfyUI's list execution isn't universal across all custom nodes - if the node you're feeding isn't list-aware, it'll either take the first item or complain about a type mismatch. If that happens, the fix is a batch/iteration-capable node (or an explicit loop) rather than this node. Also: an empty input produces an empty output with no error, so if nothing happens downstream, verify an ID actually reached the input.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| artifact_ids | EMBEDDR_ARTIFACT_ID | Comma-separated IDs or list of IDs |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| split_ids | EMBEDDR_ARTIFACT_ID | Individual IDs (List Execution) |