Ideogram Studio Ref Sync
See the last generation under your boxes as a trace
- image
- image
The iterate loop with Ideogram 4 goes like this: you draw boxes, generate, look at the result, and ask whether the model placed things where you asked. Ideogram Studio Ref Sync makes that loop tactile. You drop it inline in the generation path, and with the studio's sync toggle on, the image you just generated appears under your boxes as a trace backdrop in the editor - so you're nudging boxes directly over the pixels that came out.
Generate → see it under the boxes → tweak → regenerate. It's the loop the overlay compare gives you in post, but live, in the editor, before the next run.
The inputs and the passthrough
image- anIMAGE, typically the output of your Ideogram sampler's VAE decode. That's the trace.enable- aBOOLEAN, default true. Flip it off and the node becomes a pure passthrough: no sync, no side effects.
It's an output node (is_output_node in the schema), which is ComfyUI-speak for "this always runs and doesn't participate in the caching that skips unchanged branches." That's deliberate: the node re-broadcasts the image on every execution, and it reaches every studio that has sync on - not just the one next to it in the graph. The image output passes the image through unchanged, so the node sits harmlessly inline between your decode and a preview or save.
The always-runs trick works by declaring a fingerprint that's always "changed" (the float("nan") idiom), so a page refresh re-syncs on the next queue without you re-wiring anything. The cost, as with all always-dirty nodes, is that the cache behind it never settles - keep it downstream of the decode, not upstream of heavy work.
Installing it
Ships in the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/nynxz/ComfyUI-IdeogramHelper
Restart ComfyUI, find it under Ideogram → Ideogram Studio Ref Sync. No pip deps, no model downloads.
Where people get confused
The trace is editor-only - it's never sent to the model, which is worth being explicit about if you're worried about data going anywhere. Two syncs at once (Ref Sync for an image plus Ideogram Studio Sync for a caption) can fight each other if both hit the same studio on the same run; pick one broadcast per loop. And if you enable it and see nothing, check the studio's sync toggle - the node only pushes to studios that have sync on, and a studio with the toggle off will politely ignore the whole thing.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| enable | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |