Concurrent Submit | Zhenzhen Grok Video Fal
Grok Imagine video with every mode on the table, ten at once
- image
- image2
- image3
- image4
- image5
- image6
- image7
- task
Of all the Grok video wrappers in this pack, this is the most flexible one. Comfly_grok_video_fal targets the Grok Imagine Video endpoints through FAL's queue API, and the mode dropdown hands you text-to-video, image-to-video, and reference-to-video in one node - the plain FAL route even supports auto, which just looks at whether an image is connected and picks for you. On top of that it's a concurrent submit node, so up to ten of these run in parallel in the pack's shared video pool.
That combination - multiple generation modes plus batching - makes it the workhorse for anyone doing Grok video variations: same scene, three modes, ten prompts, collect the keepers.
How it fits the concurrent pattern
The plain Comfly_grok_video_fal node posts to Zhenzhen's FAL proxy (ai.t8star.org/fal, which fronts queue.fal.run), uploads reference images as needed, and polls until the video is ready. The Submit wrapper keeps the inputs, replaces the output with a single task (COMFLY_VIDEO_FUTURE), and defers the call to the video worker pool (default 10, COMFLY_VIDEO_CONCURRENCY env var).
The task is only consumable by ComflyConcurrent_Video_Await, which waits for all connected tasks and returns video_1 … video_10 in submission order plus a status JSON. Its failure_mode (fail_fast / placeholder) decides whether a single bad job aborts the batch or blanks that slot.
Inputs that matter
prompt is required. mode is the star: auto (image connected → i2v, else t2v), or force text_to_video, image_to_video, reference_to_video. In reference mode, reference_image_urls takes newline/comma-separated public URLs appended after the image1–image7 tensor inputs - that's your multi-reference path. duration runs 1–30 seconds (default 6). aspect_ratio defaults to 16:9 with the usual set plus auto - the tooltip warns auto is only valid for image-to-video, so don't use it for text mode. resolution is 720p or 480p. image_way (image_url/base64) controls how references are sent. Poll bounds: poll_interval 6s × max_poll_attempts 600 ≈ 1 hour.
Install and gotchas
Same pack install as all twenty of these: ComfyUI Manager → search Comfyui-zhenzhen, or git clone https://github.com/T8mars/Comfyui-zhenzhen into ComfyUI/custom_nodes, restart. No model files.
Two gotchas to carry around. First, FAL billing is the hold-then-settle model (预扣制): a deposit is taken at submit and the real price lands after the render, driven by duration, resolution, and how many references you fed it. Second, the auto aspect-ratio trap - pick a concrete ratio when you're in text-to-video or you'll get an error. Timeouts at the Await node after a long render usually mean the video is done and the poll expired; grab it from the site's task page. A 500 is upstream Grok load and the documented answer is re-run.
Inputs (19)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| imageopt | IMAGE | — | |
| image2opt | IMAGE | — | |
| image3opt | IMAGE | — | |
| image4opt | IMAGE | — | |
| image5opt | IMAGE | — | |
| image6opt | IMAGE | — | |
| image7opt | IMAGE | — | |
| api_keyopt | STRING | — | |
| durationopt | INT | 61–30 | Video duration in seconds. |
| aspect_ratioopt | COMBO | 16:9 | auto is only available for image-to-video. |
| resolutionopt | COMBO | 720p | 2 options: 720p, 480p |
| image_wayopt | COMBO | image_url | 2 options: image_url, base64 |
| poll_intervalopt | INT | 62–30 | — |
| max_poll_attemptsopt | INT | 60010–3600 | Default 600*6s = 1 hour timeout. |
| skip_erroropt | BOOLEAN | false | 开启后,节点失败时不报错、返回默认空结果。 |
| modeopt | COMBO | auto | auto keeps the old behavior: image input -> image-to-video, otherwise text-to-video. |
| reference_image_urlsopt | STRING | Optional public reference image URLs for reference_to_video, separated by newline or comma. These are appended after image inputs. | |
| seedopt | INT | 00–18446744073709550000 | Execution seed for ComfyUI cache control. Fixed reuses the cached result; randomize/increment/decrement requests a new run. This compatibility seed is not sent to APIs that do not expose a native seed parameter. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| task | COMFLY_VIDEO_FUTURE | — |