Nodes/ComfyUI-ByAE-IdeogramTools/Ideogram 4 Prompt Builder Pro (based on the KJ node)
ComfyUI Node

Ideogram 4 Prompt Builder Pro (based on the KJ node)

A friendlier Ideogram 4 prompt builder

By by-ae·Created 3 months ago·Updated 3 months ago· 0
Ideogram 4 Prompt Builder Pro (based on the KJ node)
    • prompt
    • preview
    • width
    • height
    • guid
    width1024
    height1024
    scale_modestretch
    high_level_description
    background
    style
    aesthetics
    lighting
    medium
    background_opacity0.50
    bg_guid
    style_palette_data
    elements_data
    import_json

    The name is a lie in the best way: this node doesn't call any API and needs no key. Ideogram 4 - the open-weights model, the file on your disk - is trained on structured JSON captions, and plain prose prompting both underperforms badly and is exactly what trips the refusal image the weights shipped with. The community's answer within a day was Kijai's prompt builder in KJNodes: a canvas where you draw boxes, each box becomes a region in the JSON, and suddenly you have regional control no other open model offers. This pack is that node, rebuilt with workflow-quality-of-life on top. Drop-in replacement, same output format, same wireup.

    How it works

    You get a little canvas. You draw boxes on it, type a description into each, and mark some as text elements with actual strings to render. Everything you set - the boxes' geometry, per-box colors and fonts, the scene background, the style - gets serialized into the compositional_deconstruction caption that Ideogram 4 expects. The node also renders a preview image of your box layout so you can eyeball composition without generating a thing. That's the whole loop: draw, hit run, wire the JSON into the sampler.

    The inputs that matter

    Most of the fields are set by the editor, not by you. The few you actually touch:

    • background - the scene's background description. Required. This is what fills the caption's background field.
    • width / height - canvas aspect, 64 to 16384. Edits don't apply until you click Update Size, and scale_mode decides whether your regions stretch, anchor, or rescale from their bounding box when you do. Default is stretch; for existing layouts pick one of the anchor modes or you'll squish everything.
    • high_level_description - optional one-line overview of the whole image; blank omits it.
    • style - a dynamic combo with none, photo, and art_style, each carrying aesthetics, lighting, and medium descriptors underneath. Sets the caption's style_description.

    The serialized state (elements_data, style_palette_data, bg_guid) is socketless and set automatically by the editor - leave it alone. One genuine gotcha: the optional import_json input, when connected, overrides the editor entirely. Handy for scripting; confusing when you're mid-draw and wondering why your canvas edits vanished.

    Outputs

    Four you'll actually wire, one that's for plumbing:

    • prompt (STRING) - the full JSON caption. This is the important one; feed it to your Ideogram 4 text-encoder/sampler path.
    • preview (IMAGE) - the box-layout diagram, not the generated result. Wire it to a preview or Save Image and thank yourself later.
    • width / height (INT) - separate sockets so your sampler can mirror the canvas exactly. A small touch the original KJ node lacked.
    • guid (STRING) - identifies this editor instance. Connect it to the Preview BG Update companion node to push a workflow image into your canvas as a live background.

    Installing it

    No requirements.txt, no model files, no KJNodes required - despite the name, this is a self-contained fork. Either use ComfyUI Manager (search ComfyUI-ByAE-IdeogramTools) or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/by-ae/ComfyUI-ByAE-IdeogramTools.git
    

    Then restart ComfyUI. The heavy part is separate: you still need the Ideogram 4 checkpoints themselves (ideogram-ai/ideogram-4-fp8 or the CUDA-only nf4 on HuggingFace), which ComfyUI Manager's model downloader can grab. It's a GPL-3.0 derivative of Kijai's work, and the model it drives is non-commercial - worth remembering before you sell anything you render with it.

    Common issues

    The box preview is a layout diagram, so if the generated image doesn't match it, that's the model, not the node - Ideogram 4 follows boxes loosely and rewards per-box descriptions. Width/height changes "not working" usually means you skipped Update Size. And if the editor background stays black, you haven't connected the Preview BG Update companion yet, or its background_opacity is at zero. Both are covered by the next node.

    CategoryByAE/Ideogram

    Inputs (14)

    NameTypeDefaultDescription
    widthINT102464–16384Canvas aspect width.
    heightINT102464–16384Canvas aspect height.
    scale_modeCOMBOstretchHow regions move when Update Size is clicked.
    high_level_descriptionSTRINGOptional one-line overview of the whole image (blank = omitted).
    backgroundSTRINGRequired scene background description.
    styleCOMBO3 options: [object Object], [object Object], [object Object]
    aestheticsSTRINGStyle descriptor (blank = omitted).
    lightingSTRINGStyle descriptor (blank = omitted).
    mediumSTRINGStyle descriptor (blank = omitted).
    background_opacityFLOAT0.500–1Canvas background image opacity (0 = hidden, 1 = full).
    bg_guidSTRINGBackground file id (set automatically by the editor).
    style_palette_dataSTRINGSerialized style color palette from the editor.
    elements_dataSTRINGSerialized regions from the editor.
    import_jsonoptSTRINGOptional: a full caption JSON. When connected, overrides the editor.

    Outputs (5)

    NameTypeDescription
    promptSTRING
    previewIMAGE
    widthINT
    heightINT
    guidSTRING