Nodes/Comfyui-zhenzhen/Concurrent Submit | zhenzhen-cosmos-3-super-fal
ComfyUI Node

Concurrent Submit | zhenzhen-cosmos-3-super-fal

Fire the NVIDIA omnimodel's image jobs in parallel

By T8mars·Created about a year ago·Updated 3 days ago· 749
Concurrent Submit | zhenzhen-cosmos-3-super-fal
  • image
  • task
◄prompt►
◄modetext_to_image►
◄image_url►
◄api_key►
◄negative_prompt►
◄image_sizesquare_hd►
◄num_images1►
◄num_frames49►
◄frames_per_second24►
◄num_inference_steps28►
◄guidance_scale4.0►
◄enable_prompt_expansionfalse►
◄enable_agentic_generationfalse►
◄enable_safety_checkertrue►
◄seed0►
◄output_formatjpeg►
◄image_waybase64►
◄poll_interval6►
◄max_poll_attempts600►
◄skip_errorfalse►

Cosmos 3 Super is NVIDIA's open frontier omnimodel - 64B, datacenter-class, the kind of thing the community immediately answered with "congrats to the 5 people who can run this locally." Through Zhenzhen's FAL proxy you're not one of the 5; you're renting it per call. The base zhenzhen-cosmos-3-super-fal node does text-to-image and image-to-video, one job at a time. This submit node is the parallel version: same nvidia/cosmos-3-super endpoints, but each job goes into the shared pool and returns a task instead of a finished result.

One genuinely surprising detail from the pack source: even though Cosmos 3 Super can output video, this node is classified into the image pool (30 workers) because the auto-generated concurrent system keys off the primary return type, which is IMAGE. So you get the full 30-way image parallelism - and if you're doing image-to-video, those jobs also ride the 30-worker image lane rather than the 10-worker video lane. Worth knowing before you assume which pool you're in.

How it works

Standard auto-generated concurrent wrapper: the submit class copies the base node's inputs at import time, wraps its process() in a bounded ThreadPoolExecutor (30 image workers by default, set via COMFLY_IMAGE_CONCURRENCY), and returns a COMFLY_IMAGE_FUTURE. Collect with ComflyConcurrent_Image_Await ("Concurrent Collect Images (30)"), which waits for the batch and returns results in slot order.

Inputs mirror the base node: prompt, mode (text_to_image / image_to_video), image/image_url, api_key, negative_prompt, image_size (including custom_832x480), num_images, num_frames (25-189), frames_per_second, num_inference_steps (28 default), guidance_scale, enable_prompt_expansion, enable_agentic_generation, enable_safety_checker, seed (FAL max 65535), output_format, image_way, poll settings, and skip_error.

Installing it

One clone, whole pack:

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-zhenzhen

Restart ComfyUI, or install "Comfyui-zhenzhen" via ComfyUI Manager. No model downloads - Cosmos 3 runs on NVIDIA hardware behind the proxy.

Common issues

Pack-level: account + credit required, 443 errors need VPN with TUN mode, first-run 500s are usually upstream - re-run. Cosmos-specific: the model is slow even hosted, so a 30-way batch is a long poll - don't trim max_poll_attempts too aggressively or jobs will time out mid-render. And the safety checker is on by default, which matters if your batch crosses the hosted filter's line - remember there's no local bypass on a rented model, the filter lives upstream.

Categoryzhenzhen/FAL/Concurrent Submit

Inputs (21)

NameTypeDefaultDescription
promptSTRING—
modeoptCOMBOtext_to_image2 options: text_to_image, image_to_video
imageoptIMAGE—
image_urloptSTRING—
api_keyoptSTRING—
negative_promptoptSTRING—
image_sizeoptCOMBOsquare_hd7 options: square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9, +1
num_imagesoptINT11–4—
num_framesoptINT4925–189—
frames_per_secondoptINT248–30—
num_inference_stepsoptINT281–50—
guidance_scaleoptFLOAT4.00–20—
enable_prompt_expansionoptBOOLEANfalse—
enable_agentic_generationoptBOOLEANfalse—
enable_safety_checkeroptBOOLEANtrue—
seedoptINT00–655350 = random seed. FAL seed max is 65535.
output_formatoptCOMBOjpeg2 options: jpeg, png
image_wayoptCOMBObase642 options: base64, image_url
poll_intervaloptINT61–60—
max_poll_attemptsoptINT60010–3600Default 600*6s = 3600s timeout.
skip_erroroptBOOLEANfalse—

Outputs (1)

NameTypeDescription
taskCOMFLY_IMAGE_FUTURE—