Color Caption
A caption, plus the color it should render in
- caption_json
A comparison grid of images is only useful if you can tell the results apart at a glance. Color Caption is the node that labels one row of your comparison in a color you choose - the text color and the color of the band behind it. It's a tiny thing, and it's exactly the kind of tiny thing that makes a 12-image comparison legible.
The mechanism is dead simple: you type a caption and two HEX colors, and it emits a one-line JSON string like {"caption": "...", "color": "#FFFFFF", "band_color": "#000000"}. That JSON is what you wire into the pack's Image Compare (HTML) node's captions input, which reads one caption per line. Each line is treated independently, so you can mix these styled captions with plain text lines in the same input.
The inputs that matter:
caption- the label text.color- the text color as#RRGGBB(default white).band_color- the color of the band behind the text (default black).
The output:
caption_json- the one-line JSON. Wire into Image Compare'scaptionsinput.
The defaults (white text on a black band) reproduce the classic comparison look, and the node normalizes colors to uppercase #RRGGBB (it even expands 3-digit hex), so a typo like fff won't silently render wrong. If you type an invalid color it falls back to the default rather than erroring.
Where it shines: giving each branch of an experiment its own color-coded label - "baseline" in one color, "upscaled" in another - so the comparison page and the drawn captioned images tell you at a glance which is which. It pairs naturally with the pack's Unlim Text Concat (join a few of these with newlines) and with Get Accumulator (captions) if you're collecting per-branch labels automatically.
Install via ComfyUI Manager (search "Kinburg-Nodes") or:
cd ComfyUI/custom_nodes
git clone https://github.com/Kinburg/Kinburg-Nodes
then restart. No dependencies, no model, no download - it's JSON assembly. The pack is a one-author personal collection (Kinburg) with per-package docs and a 1395-check test suite, and this is one of the nodes the README explicitly notes needs nothing extra installed. If the colors don't show up on the comparison page, check that you're feeding captions (one JSON per line) and not prompts - the mix-up is the most common way this node appears to do nothing.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| caption | STRING | The caption text. | |
| color | STRING | #FFFFFF | Text color as HEX (#RRGGBB). |
| band_color | STRING | #000000 | Color of the band behind the text, as HEX (#RRGGBB). |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| caption_json | STRING | — |