Nodes/toobusy · 너무바쁜베짱이/toobusy Ideogram Prompt Polish
ComfyUI Node

toobusy Ideogram Prompt Polish

Type a scene in Korean, get an Ideogram 4 layout JSON out

By nicekriss·Created about a year ago·Updated 3 days ago· 16
toobusy Ideogram Prompt Polish
  • clip
  • image
  • ideogram_json
  • llm_raw
scene노을 지는 해변에서 빨간 원피스를 입은 여자가 카메라를 등지고 서 있다.
style_modeLiteral
languageAuto
preserve_intenttrue
fill_missing_fieldstrue
seed1
existing_layout_json
image_instruction_modeAnalyze image literally
analysis_modebalanced
debug_rawfalse
release_clip_after_runtrue

Ideogram 4's local weights demand a structured JSON prompt, which is a great format for a model and a terrible one for a human who just wants to say "a woman in a red dress on a beach at sunset." toobusy Ideogram Prompt Polish is the translation layer: you type a plain-language scene - Korean or English - and it returns the ideogram_json that the Layout Builder and the Ideogram4 T2I node expect. And if you connect an image with a vision-capable model, it'll do the reverse and analyze the image into a layout draft.

How it works

Under the hood it uses ComfyUI's TextGenerate node - the same text-generation path the Keyframe Maker uses - with a clip you provide. The scene is never overwritten; your wording stays yours, and the structured prompt comes out on a separate output. That's a deliberate design choice, because the classic LLM-enhancer failure is "helpfully" rewriting your idea into something you didn't ask for. preserve_intent (on) and fill_missing_fields (on) split the difference: keep what you meant, fill the schema fields Ideogram requires.

The style_mode dropdown (Literal / Cinematic / Product / Character / Poster) picks which framing the structured prompt gets, and language (Auto detects Hangul) handles the translation. The image path is the clever bit: connect an image plus a vision-capable model (Gemma 4 is the README's example) and it reads the image - including Korean text in it - and locates elements with bounding boxes into a layout draft. image_instruction_mode picks literal transcription versus "keep the layout, rewrite the subject per my Scene text," and analysis_mode trades speed for detail.

The inputs that matter

  • clip - the LLM doing the work. Quality of the whole node is downstream of what you plug in here.
  • scene - the free-form idea. This is where 90% of your effort goes.
  • style_mode / language / preserve_intent / fill_missing_fields - the shaping controls, all with sensible defaults.
  • image (optional) + image_instruction_mode + analysis_mode - the image-analysis path described above.
  • release_clip_after_run (on) - after generating, it unloads only this CLIP from VRAM. That's the right default before a big Ideogram model loads; unlike a global VRAM cleaner, it leaves everything else resident.
  • debug_raw - flip on when the JSON output is malformed; it returns the full raw LLM response so you can see what broke.

Outputs and where they go

  • ideogram_json - wire into the Layout Builder's imported_json, press "⟳ Pull from input," and edit the draft on the canvas. That's the intended flow and it's smooth.
  • llm_raw - the raw model output; blank by default to keep workflows light, full with debug_raw on.

Install and gotchas

Standard pack install (Manager "toobusy", or clone + restart). No optional Python deps - the model is the clip you already own. The README's example workflow (korean_scene_to_ideogram4.json) is the fastest way to see the whole Polish → Layout Builder → T2I flow assembled.

The standing gotcha is the one the llm-in-comfyui crowd keeps rediscovering: a chat LLM emits chat. Without constraint, you get "Here is your enhanced prompt:"-style scaffolding bleeding into your JSON. The node has cleanup for this, but if your ideogram_json comes out unusable, turn on debug_raw and look - it's usually a clip that isn't following the format, and swapping to a Gemma-family model (the safest for TextGenerate prompt work, per the pack's own docs) fixes more of these than any setting.

Categorytoobusy/Plan

Inputs (13)

NameTypeDefaultDescription
clipCLIP
sceneSTRING노을 지는 해변에서 빨간 원피스를 입은 여자가 카메라를 등지고 서 있다.
style_modeCOMBOLiteral5 options: Literal, Cinematic, Product, Character, Poster
languageCOMBOAuto3 options: Auto, Korean, English
preserve_intentBOOLEANtrue
fill_missing_fieldsBOOLEANtrue
seedINT10–18446744073709550000
existing_layout_jsonoptSTRING
imageoptIMAGEOptional. Connect an image and a vision-capable text model (e.g. Gemma 4) to analyze the image INTO an Ideogram layout draft (reads text incl. Korean, finds elements + bboxes). Without an image this stays a scene-text polisher. Wire ideogram_json into the Layout Builder's imported_json, then press Pull.
image_instruction_modeoptCOMBOAnalyze image literallyWith an image connected: literal mode transcribes the source image; transform mode keeps the layout/bboxes but rewrites subject and text according to the Scene field.
analysis_modeoptCOMBObalancedImage analysis detail. fast: quick draft with few compact elements. balanced: default practical Layout Builder draft. detailed: slower, richer panel/UI/text/style analysis.
debug_rawoptBOOLEANfalseOff: return blank/truncated llm_raw to keep workflows lighter. On: return the full raw LLM response for debugging JSON failures.
release_clip_after_runoptBOOLEANtrueAfter creating the prompt, unload only this CLIP model from VRAM. Recommended before a large Ideogram model; unlike a global VRAM cleaner, other models and caches are preserved.

Outputs (2)

NameTypeDescription
ideogram_jsonSTRING
llm_rawSTRING