IAMCCS Ideogram JSON Preview / Pass
A checkpoint for the exact JSON your Ideogram prompt is built on
- bboxes
- prompt_json
- bboxes
- width
- height
- report
Ideogram's structured JSON prompt format is powerful - text plus bounding boxes, layouts, per-region prompts - and it's also maddening to debug, because by the time it reaches the generation node it's a wall of JSON you can't easily see. IdeogramJSONPreviewPass fixes the visibility problem: you drop it right before the Ideogram node, it shows you the prompt JSON in the UI, passes it through byte-for-byte, and also hands along the width, height, and bounding boxes. It's a checkpoint, not a transformer.
The source is explicit about the philosophy: "It intentionally preserves the incoming prompt string." No rewriting, no validation that changes anything - just a transparent stop on the way to generation. That's the right design for a debug/audit node, and it's why the tooltip warns you it does not rewrite.
How it works
You feed it prompt_json (a forceInput string from whichever node built the JSON - IAMCCS Frame Designer, an external IdeoTranslate/Gemma builder, anything). You also give it the width and height you intend to generate at, and optionally:
bboxes- a KJ/IAMCCS pixel-space BoundingBox output, passed through unchanged so your box layout survives the trip.debug_report- an optional IDEO_INFO string shown in the preview UI for context.
Outputs: prompt_json (untouched), bboxes (passed through), width, height, and a report. As an output node, the JSON renders in the ComfyUI UI after each run, which is the entire point - you finally see what Ideogram is about to receive. Nothing about the prompt is modified, so removing the node from the graph changes nothing except your ability to inspect.
Inputs that matter
prompt_json- the structured Ideogram prompt. Wire it from your JSON builder.width/height- the generation size; keep them in sync with what the downstream Ideogram node will use.bboxes- wire it if your workflow uses boxes; it's a pure pass-through.
Install
Part of IAMCCS-nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
Or ComfyUI Manager → "IAMCCS" → install → restart. No extra dependencies; the preview is served from the pack's web/ assets.
Gotchas
The biggest trap is assuming it does something. It's a sink for inspection - if your Ideogram output is wrong, this node won't fix it; it'll just let you see the malformed JSON before it bites you, which is honestly half the battle. Also, width/height are informational here; they don't force the downstream node to use them, so keep them consistent or the preview lies about your actual generation size. Use it as the last node before the Ideogram call, and you'll catch most layout errors before they cost you an API call or a generation pass.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt_json | STRING | Structured Ideogram JSON to preview/pass. The node does not rewrite it. | |
| width | INT | 102464–16384 | — |
| height | INT | 102464–16384 | — |
| bboxesopt | BOUNDING_BOX | Optional KJ/IAMCCS pixel-space BoundingBox output passed through unchanged. | |
| debug_reportopt | STRING | Optional IDEO_INFO debug report shown in the preview UI. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| prompt_json | STRING | — |
| bboxes | BOUNDING_BOX | — |
| width | INT | — |
| height | INT | — |
| report | STRING | — |