Set Accumulator (captions)
One caption per image, in the order the compare expects
- text
The captions twin of the pack's prompts accumulator - same mechanism, different delimiter, different consumer. When each branch of a compare produces a label for its own result ("SDXL at 30 steps", "the Flux one", "v2 with the fix"), Set Accumulator (captions) tags each string with a name and index, and a matching Get Accumulator (captions) joins them one-per-line so the text lines up under the right image in Image Compare.
How it works
The Set node passes text through untouched; the label is the whole point. name (default CAPTIONS) and index (auto-incremented when you copy the node) define where this caption lands. A Get Accumulator (captions) with the same name collects every matching Set in index order and joins them with a newline - one caption per line, hardcoded so the delimiter can't drift from what Image Compare's captions input expects. It's the same "tuned pair" design as the prompts accumulator, except the join character is \n instead of ---. If a branch is bypassed or muted, it drops out on re-collect, keeping the captions aligned with the surviving images.
Inputs and output
text- the caption for this branch. Passes through unchanged.name- accumulator name, must match the Get node exactly.index- position in the joined output, 0–9999.
The text output is your pass-through, so the node sits inline without breaking the flow.
Install
Part of the Kinburg-Nodes pack: ComfyUI Manager (search "Kinburg-Nodes") or git clone https://github.com/Kinburg/Kinburg-Nodes into custom_nodes, then restart. No extra dependencies.
The gotcha
Alignment is the whole game here, and alignment depends on the index order matching the image order in your compare. Because the join is one line per Set in index order, a caption that's out of sequence will sit under the wrong image silently - no error, just a mislabeled thumbnail. Keep indexes in step with the branch order, and press Collect again on the Get side after adding or removing Sets. If your captions need to be multi-line each, this pair isn't the fit - it's built for one label per image.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — | |
| name | STRING | CAPTIONS | Accumulator name. A Get Accumulator (captions) with the same name collects every Set that shares it. |
| index | INT | 00–9999 | Position in the joined output. Auto-increments when you copy the node. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |