Nodes/ComfyUI-IdeogramHelper/Ideogram Studio Sync
ComfyUI Node

Ideogram Studio Sync

Push a finished caption into the editor and keep your loop in the loop

By Nynxz·Created 3 months ago·Updated 3 months ago· 44
Ideogram Studio Sync
    • json
    json
    width0
    height0
    enabletrue

    Ideogram Studio Ref Sync is the image side of the feedback loop. Ideogram Studio Sync (class IdeogramJsonSync) is the text side. Where Ref Sync pushes a generation into the studio as a trace, this node pushes a caption into the editor - any studio with json sync on imports it live, boxes and all, so you can see and hand-tweak what another node produced.

    The natural pairing: an LLM node writes a caption, this node delivers it into the studio, and you get the editor's eyes on AI-generated JSON before spending a generation on it. Or load a saved caption back into the editor to continue working on it. The studio has paste-to-import built in; this node is the automated version of that.

    The inputs

    • json - the caption as a STRING, multiline. Paste or wire. This is the payload, and it's validated: the node parses it before broadcasting and raises a clear "input is not valid JSON" error on garbage, rather than pushing a broken caption into your editor.
    • width / height - optional resolution push, INT default 0. Zero means "leave the studio's resolution alone." Set both to a real value and the studio's canvas jumps to match - handy when the caption came from a source that knows its own dimensions.
    • enable - BOOLEAN, default true. Off = pure passthrough, nothing broadcast.

    Like Ref Sync, it's an output node that re-broadcasts every run, and it fans out to every studio with json sync on (the ⟳ toggle in the studio's JSON bar), not just one. The json output passes the string through unchanged, so it sits inline in the caption's data flow.

    Installing it

    Same pack, same story:

    cd ComfyUI/custom_nodes
    git clone https://github.com/nynxz/ComfyUI-IdeogramHelper
    

    Restart ComfyUI, find it under Ideogram → Ideogram Studio Sync. No pip deps, no model downloads.

    Where it bites

    JSON is the whole contract here - if the upstream node hands you prose, markdown scaffolding, or an LLM's preamble, this node errors out loud, which is exactly what you want but also a reminder to strip LLM output before it gets here. The width/height push is easy to trigger by accident if you wire a resolution into the INT inputs - leave them at 0 unless you actually want to resize the canvas. And remember the studio must have its json-sync toggle on; a studio with it off silently ignores the broadcast, same as Ref Sync.

    CategoryIdeogram

    Inputs (4)

    NameTypeDefaultDescription
    jsonSTRINGAn Ideogram JSON caption (paste, or wire one in)
    widthINT00–8192Push a resolution too (0 = leave the studio's width as-is)
    heightINT00–8192Push a resolution too (0 = leave the studio's height as-is)
    enableBOOLEANtrue

    Outputs (1)

    NameTypeDescription
    jsonSTRING