Concurrent Submit | zhenzhen-veo-omni
Omni_flash-10s, parallelized
- image
- video
- task
Google's flash-tier video models are the cheap door into Veo, and omni_flash-10s is the one this node wraps. The pack's changelog pins the price at 1 point per 10-second clip, which makes it the budget Veo - the lane you use when you want Google's video quality for draft-and-iterate work without Veo 3.1 Pro pricing. It also handles both image-to-video and video-editing mode, so one node covers "animate this still" and "restyle this clip."
The concurrent wrapper is the standard Zhenzhen Submit pattern. It doesn't block; it submits to the shared video pool (ten workers) and hands you a task immediately. Wire it into the Concurrent Collect Videos node and you can run a dozen cheap Veo drafts in parallel - which, at one credit a pop, is the sensible way to use this node.
Inputs that matter
- prompt - defaults to the Chinese phrase "基于这张图片生成视频" ("generate a video based on this image"). Write your own; it's just a starting default.
- mode -
img2video(default) orvideo_edit. The mode decides which reference sockets matter. - model -
omni_flash-10s, the only choice. - size -
1280x720or720x1280. No 4k here, and that's the point. - seconds - 4, 5, 6, 8, or 10.
- image / image_url - reference for img2video. A connected image wins over the URL.
- video / video_url - reference for video_edit mode.
video_way(upload vs video_url) controls how your reference video gets to the API - pick upload when you're feeding a connectedIO.VIDEO, URL when you already have one hosted. - watermark - off by default; turn it on if you want Google's watermark for whatever reason.
- apikey, poll_interval, max_poll_attempts, seed, skip_error - standard.
Output: a single COMFLY_VIDEO_FUTURE task.
How it works
Same machinery as every Submit node in the pack: the ComflyConcurrent.py wrapper copies the original Comfly_veo_omini inputs, runs its validator, and drops the real generation call onto a bounded executor with ten video workers. The returned task is a future the collector waits on; the collector restores your slot order and reports per-slot status. Set failure_mode to placeholder and a failed slot yields an empty video rather than a crashed batch.
Setup
One install covers all of it - ComfyUI Manager (search "Comfyui-zhenzhen"), or:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-zhenzhen
No models to download; every clip is a paid cloud call. You need a Zhenzhen key from ai.t8star.org (overseas) or api.seedance.nz (domestic). If the "1 point / 10s" price sounds great, it is - just don't confuse this flash lane with Veo 3.1's quality tier.
Gotchas
At one credit a clip, this is the node to reach for when you want volume - but the flash tier's output is visibly lighter than the pro Veo models, so don't batch thirty of these expecting cinematic 4k. If a video_edit run misbehaves, check which video_way you're on; a URL that's expired or unreachable from the server is the classic silent failure. And as always with this pack: timeouts aren't guaranteed failures - check your async task page - and the overseas endpoint needs a working proxy from many regions.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | 基于这张图片生成视频 | — |
| mode | COMBO | img2video | 2 options: img2video, video_edit |
| model | COMBO | omni_flash-10s | 1 options: omni_flash-10s |
| size | COMBO | 1280x720 | 2 options: 1280x720, 720x1280 |
| seconds | COMBO | 10 | 5 options: 4, 5, 6, 8, 10 |
| imageopt | IMAGE | — | |
| image_urlopt | STRING | Optional image reference URL for img2video. Ignored when image input is connected. | |
| videoopt | VIDEO | Reference video input for video_edit mode. | |
| video_urlopt | STRING | Optional video reference URL for video_edit mode. Ignored when video input already provides a URL. | |
| video_wayopt | COMBO | upload | upload: upload connected IO.VIDEO to /v1/files and submit its URL; video_url: prefer video_url when provided. |
| apikeyopt | STRING | — | |
| watermarkopt | BOOLEAN | false | — |
| poll_intervalopt | INT | 61–60 | — |
| max_poll_attemptsopt | INT | 6001–10000 | — |
| 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 | — |