Ideogram Caption Preview
Turn any JSON caption into a visual overlay, no editor needed
- overrides
- extras
Ideogram Studio is a visual editor, but sometimes your caption doesn't come from an editor. It comes out of an LLM node that turned "girl in red dress, head top-left" into proper Ideogram JSON. Or it's a saved caption you pasted in. Or it's an existing workflow's caption you're modifying programmatically. Ideogram Caption Preview is the node for that situation: give it a JSON caption string, get back the same extras bundle the studio produces - overlay image, alpha mask, and all - rendered from your caption alone.
Think of it as the studio's render engine without the drawing part. Same output format, no canvas.
The inputs that matter
caption- the Ideogram JSON caption as aSTRING(multiline, so paste away). This is the one you'll actually touch.width/height- the resolution the overlay is drawn at, default 1024×1024, 16–8192. Unlike the studio, the preview has no resolution chip, so you set these yourself. Match them to what the sampler will actually render or the overlay will lie about placement.line_width,fill_alpha,label_size- how the boxes are drawn: stroke width, fill opacity (0–1, default 0.18), and label font size. Cosmetic, but fiddly enough to matter when you're compositing over a dark image.show_index/show_text- toggles for the element number labels and the literal text on text boxes. Leave both on unless the overlay is getting cluttered.overrides- optionalIDEOGRAM_OVERRIDEinput, same patch mechanism as the studio. Handy for previewing a caption with a tweak applied, without editing the string.
The output
One output: extras, an IDEOGRAM_EXTRAS bundle - the exact thing the studio emits, and the exact thing Ideogram Studio Extras unpacks into overlay / alpha / width / height / bboxes. So the pattern is: Caption Preview → Extras → ImageCompositeMasked over your generation, and you've got a visual check of a caption you never drew by hand.
This also makes it the glue for the LLM-driven workflow that keeps showing up in the community: LLM emits JSON → Caption Preview renders it → you see the boxes before you spend a 3–4 minute generation on a malformed prompt. Catching layout errors in a second of overlay instead of after a render is a real time-saver with this model.
Installing it
It ships with the pack - no separate install:
cd ComfyUI/custom_nodes
git clone https://github.com/nynxz/ComfyUI-IdeogramHelper
Restart ComfyUI, find it under Ideogram → Ideogram Caption Preview. No pip dependencies; the only requirement is a ComfyUI recent enough for the V3 node API.
Where it bites
The node validates the caption and raises a clear error if the input isn't valid JSON - which is the feature, not the bug, but it means garbage in from your LLM fails loudly mid-graph. Keep the multiline caption field fed from a real JSON source, and remember the preview only renders; it doesn't re-serialize or clean the caption like the studio does. What you paste in is what gets drawn. The one trap worth knowing: fill_alpha and line_width interact - a fat line plus low alpha looks fine, but thin lines at 0.0 alpha are nearly invisible against a busy image.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| caption | STRING | An Ideogram JSON caption (wire one in, or paste). | |
| width | INT | 102416–8192 | — |
| height | INT | 102416–8192 | — |
| line_width | INT | 31–40 | — |
| fill_alpha | FLOAT | 0.180–1 | — |
| label_size | INT | 166–96 | — |
| show_index | BOOLEAN | true | — |
| show_text | BOOLEAN | true | — |
| overridesopt | IDEOGRAM_OVERRIDE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| extras | IDEOGRAM_EXTRAS | — |