Nodes/Comfyui-zhenzhen/Concurrent Submit | zhenzhen-ideogram-v4-fal
ComfyUI Node

Concurrent Submit | zhenzhen-ideogram-v4-fal

Ideogram V4's text-in-image strength, batched 30-deep

By T8mars·Created about a year ago·Updated 2 days ago· 740
Concurrent Submit | zhenzhen-ideogram-v4-fal
    • task
    prompt
    api_key
    image_sizesquare_hd
    rendering_speedBALANCED
    accelerationnone
    num_images1
    seed0
    output_formatjpeg
    enable_prompt_expansiontrue
    enable_safety_checkertrue
    poll_interval6
    max_poll_attempts600
    skip_errorfalse

    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_1image_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.

    Categoryzhenzhen/FAL/Concurrent Submit

    Inputs (13)

    NameTypeDefaultDescription
    promptSTRING
    api_keyoptSTRING
    image_sizeoptCOMBOsquare_hd6 options: square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9
    rendering_speedoptCOMBOBALANCED3 options: TURBO, BALANCED, QUALITY
    accelerationoptCOMBOnone4 options: none, low, regular, high
    num_imagesoptINT11–4
    seedoptINT00–655350 = random seed. FAL seed max is 65535.
    output_formatoptCOMBOjpeg2 options: jpeg, png
    enable_prompt_expansionoptBOOLEANtrue
    enable_safety_checkeroptBOOLEANtrue
    poll_intervaloptINT61–60
    max_poll_attemptsoptINT60010–3600Default 600*6s = 3600s timeout.
    skip_erroroptBOOLEANfalse

    Outputs (1)

    NameTypeDescription
    taskCOMFLY_IMAGE_FUTURE