Concurrent Submit | zhenzhen-grok-video-tools-fal
Edit or extend existing video with Grok, ten clips at a time
- video
- task
Every other Grok node in this pack starts from a prompt or a picture. This one starts from a video you already have. It wraps zhenzhen-grok-video-tools-fal, the Grok video tools endpoint on FAL, and the two modes tell the whole story: edit_video (default) changes an existing clip - the starter prompt is even "Colorize the video" - and extend_video lengthens one.
The realistic use is post-production legwork: colorize or restyle a clip, change its look with a text instruction, or take a 6-second loop and extend it. Because it's a concurrent submit node, you can also run ten edits over a batch of clips in the shared video pool and collect them at the Await node.
How it fits the submit/await pattern
Underneath, the plain Comfly_grok_video_tools_fal node uploads (or references) your video, hits the FAL tools queue through Zhenzhen's proxy, and polls for the result. The Submit wrapper keeps every input but returns a single task of type COMFLY_VIDEO_FUTURE instead of the video, running the call on a background worker in the shared video pool (default 10, COMFLY_VIDEO_CONCURRENCY env var).
That task is inert on its own. It must connect to ComflyConcurrent_Video_Await, which waits for all ten slots, restores order, and returns video_1 … video_10 plus a status JSON. failure_mode on the collector (fail_fast vs placeholder) decides whether one failed edit kills the batch or just blanks a slot.
Inputs that matter
prompt is required and is your edit instruction - for edit_video it's the transformation ("colorize", "make it night", "add a film grain"). mode picks edit_video or extend_video. video is the VIDEO input for your source clip, and video_url is the public-URL alternative (ignored when video is connected). video_way chooses upload (default) or video_url as the transport.
The mode-specific knobs are the part to get right: duration (1–15s, default 6) is only used by extend_video, and resolution (auto/480p/720p) is only used by edit_video. Fiddling with the wrong one does nothing, which confuses people on the first run. Poll bounds default to 6s × 600 attempts (an hour).
Install and gotchas
Standard pack install: ComfyUI Manager → search Comfyui-zhenzhen, or git clone https://github.com/T8mars/Comfyui-zhenzhen into ComfyUI/custom_nodes, restart. No model downloads - Grok runs on servers you're renting by the call.
FAL billing on this one is the hold-then-settle model (预扣制): deposit at submit, final price after render, driven by the source clip's length and resolution as much as the output. The default poll budget is generous, but an hour is not infinite - a very long source clip edited at 720p can still time out, and when it does, the result is usually finished on the site's task page. And keep the seed in mind: it's ComfyUI cache-control only (no native Grok seed), so a fixed seed just replays the cached output.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Colorize the video | — |
| modeopt | COMBO | edit_video | 2 options: extend_video, edit_video |
| videoopt | VIDEO | — | |
| video_urlopt | STRING | Public video URL. Ignored when video input is connected. | |
| api_keyopt | STRING | — | |
| durationopt | INT | 61–15 | Used by extend_video mode. |
| resolutionopt | COMBO | auto | Used by edit_video mode. |
| video_wayopt | COMBO | upload | 2 options: upload, video_url |
| poll_intervalopt | INT | 61–60 | — |
| max_poll_attemptsopt | INT | 60010–3600 | Default 600*6s = 3600s timeout. |
| skip_erroropt | BOOLEAN | false | — |
| 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 | — |