Nodes/ComfyUI_Simple_Qwen3-VL-gguf/πŸ“ Ideogram 4 JSON Preview
ComfyUI Node

πŸ“ Ideogram 4 JSON Preview

Ideogram 4 JSON Preview

By KLL535Β·Created 9 months agoΒ·Updated about 17 hours agoΒ· 86
πŸ“ Ideogram 4 JSON Preview
  • image
  • IMAGE
β—„json_stringβ€”β–Ί

Ideogram 4 speaks JSON. That's not marketing - the open-weight release is genuinely JSON-only for structured prompting, with layout expressed as bounding boxes in a 0–1000 coordinate space, and you're expected to describe the composition before the model draws it. So here's the workflow: you hand your vision LLM an image, it spits back a JSON layout of bboxes and colors, and that JSON becomes the Ideogram 4 prompt. The problem is the JSON is text - you can't see whether the boxes actually line up with the subject until you've wasted a generation. Ideogram 4 JSON Preview is the missing eyes.

It takes an image and a JSON string and draws the bounding boxes directly on the image, then outputs the annotated image. Run a captioning job, feed its JSON through this node, and you get an instant visual check: are the boxes on the person, or floating over the background? Is "the car is at x=800" actually the right side of the frame? Before this node, you'd squint at numbers. After it, you look at a picture.

How it works

The node is forgiving on purpose. It strips markdown code fences, digs the JSON object out of surrounding prose (VLMs love to add commentary), and if json_repair is installed - it's a pack dependency - it auto-repairs broken JSON instead of failing. It understands the common Ideogram 4 structures: compositional_deconstruction.elements, objects, elements, and bounding_box as an alias for bbox. Coordinates in the 0–1000 space are scaled to your actual image dimensions, and the color names in the JSON map to actual drawn colors - it even handles both English and Russian color words, which is a small window into the author's audience.

Inputs and outputs

  • image - the image to draw on (the one your vision model analyzed, or a copy).
  • json_string - the JSON layout text, straight from your LLM's output.
  • Output: IMAGE - the annotated image, boxes and labels drawn. Stick a preview/save node on it.

Install

It ships in KLL535/ComfyUI_Simple_Qwen3-VL-gguf, so it arrives with the main Qwen node:

cd ComfyUI/custom_nodes
git clone https://github.com/KLL535/ComfyUI_Simple_Qwen3-VL-gguf

or ComfyUI Manager (search ComfyUI_Simple_Qwen3-VL-gguf), restart, F5. It's in the same 🌐 SimpleQwenVL category.

The honest take

This node is a debugging aid, and it's a genuinely good one - it closes the loop on a workflow that's otherwise flying blind. One caveat from the source: if the JSON can't be parsed, the node draws the error message onto the image rather than crashing, which is friendly but means you should still glance at the console. And it only draws the first batch frame, so don't expect multi-image previews. For the price of a free text node, it turns "trust the bbox numbers" into "oh, the box is wrong, fix the prompt" - which is exactly where you want to catch layout mistakes, before Ideogram 4 spends a generation on them.

Category🌐 SimpleQwenVL

Inputs (2)

NameTypeDefaultDescription
imageIMAGEβ€”
json_stringSTRINGβ€”

Outputs (1)

NameTypeDescription
IMAGEIMAGEβ€”