Concurrent Submit | zhenzhen-ideogram-v4-fal
Ideogram V4's text-in-image strength, batched 30-deep
- task
Ideogram's whole reputation is text rendered correctly inside an image - logos, signage, packaging, title cards - the thing diffusion models have historically mangled. V4 is that strength in the current generation, and this node wraps the FAL-routed zhenzhen-ideogram-v4-fal endpoint so you can use it from ComfyUI. (Worth knowing for context: Ideogram also open-weighted 4.0 in mid-2026, so you could run a version locally - but the V4 API tier here is the full commercial model, and this node is the zero-setup path to it.)
It's also a concurrent submit node, meaning up to 30 jobs run at once in the shared image pool. For text-in-image work, that batching is the killer feature: render a dozen logo lockups or sign variations and pick the one whose typography doesn't break.
How the wrapper works
The plain Comfly_ideogram_v4_fal node is a FAL-queue client through Zhenzhen's proxy: it submits to Ideogram's endpoint, polls until done, and downloads the result. The Submit wrapper keeps every input but returns a single task of type COMFLY_IMAGE_FUTURE, deferring the call to the image worker pool (default 30, COMFLY_IMAGE_CONCURRENCY env var).
The task output is only useful when connected to ComflyConcurrent_Image_Await, which waits for all connected tasks and returns image_1 … image_30 in submission order plus a status JSON. failure_mode (fail_fast / placeholder) decides whether one failed job aborts the batch or leaves a blank slot. A Submit node wired straight to a preview will show nothing - the classic first-run surprise with this whole family.
Inputs that matter
prompt is required - and for Ideogram, the text you want rendered should be in quotes inside the prompt; that's how the model distinguishes "draw a sign that says X" from "a sign." image_size defaults to square_hd with square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9 available. rendering_speed (TURBO/BALANCED/QUALITY) trades time for polish, and acceleration (none/low/regular/high) is Ideogram's separate speed dial on top of that. num_images is 1–4 per call - remember the API bills per image.
seed here is a real FAL seed with a 0–65535 ceiling (0 = random), not just cache control. output_format is jpeg or png. enable_prompt_expansion (true) and enable_safety_checker (true) are the two levers for how much post-processing and filtering the pipeline applies. Poll bounds: 6s × 600 attempts.
Install and gotchas
Pack install as always: ComfyUI Manager → search Comfyui-zhenzhen, or git clone https://github.com/T8mars/Comfyui-zhenzhen into ComfyUI/custom_nodes, restart. No model downloads.
FAL billing is the hold-then-settle model (预扣制), and with num_images cranked to 4 the hold is for four renders, so budget accordingly. The seed ceiling is a classic trip: paste in a seed above 65535 and it silently normalizes, which reads as "my seed doesn't reproduce." And remember the API tier enforces Ideogram's own moderation at the source - the enable_safety_checker toggle doesn't bypass it, it just removes the extra pass. Timeouts after a render usually mean the image finished and the poll expired; grab it from the site's task page.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| api_keyopt | STRING | — | |
| image_sizeopt | COMBO | square_hd | 6 options: square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9 |
| rendering_speedopt | COMBO | BALANCED | 3 options: TURBO, BALANCED, QUALITY |
| accelerationopt | COMBO | none | 4 options: none, low, regular, high |
| num_imagesopt | INT | 11–4 | — |
| seedopt | INT | 00–65535 | 0 = random seed. FAL seed max is 65535. |
| output_formatopt | COMBO | jpeg | 2 options: jpeg, png |
| enable_prompt_expansionopt | BOOLEAN | true | — |
| enable_safety_checkeropt | BOOLEAN | true | — |
| poll_intervalopt | INT | 61–60 | — |
| max_poll_attemptsopt | INT | 60010–3600 | Default 600*6s = 3600s timeout. |
| skip_erroropt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| task | COMFLY_IMAGE_FUTURE | — |