Concurrent Submit | zhenzhen-kling-video-lowprice
Stop serializing Kling renders — fire twenty at once instead
- image1
- image2
- image3
- image4
- api_config
- task
Kling is Kuaishou's video model, and it's the kind of thing you can't run locally - no weights, no local option, API only (external-api-nodes.md has the whole "when local isn't the answer" argument). This node is how you call it cheaply, in bulk. It's the Concurrent Submit twin of Comfly_kling_video_lowprice: same model, same API, same settings - but instead of blocking your graph while one 5-second render crawls, it hands the job to a shared video pool and returns instantly.
What "Concurrent Submit" means here
Every node in this pack whose category starts with zhenzhen/ gets an auto-generated sibling with a ComflyConcurrent_..._Submit name. That's this node. The mechanism is simple: image jobs go into a pool of 30 worker threads, video jobs into a pool of 10 (COMFLY_VIDEO_CONCURRENCY env var if you want to change it), and each submit node just drops your request in and hands back a task handle. The actual Kling call still runs - it just runs off the graph's critical path.
The catch is graph shape. This node's only output is a task of type COMFLY_VIDEO_FUTURE. It does not return a video. To get your renders you wire that task into the pack's ComflyConcurrent_Video_Await collector, which waits for up to 10 video tasks, restores the order you plugged them in, and hands you the actual videos (plus a status string with a per-slot JSON report). Leave tasks unwired and you've paid for renders nobody collects. The pattern is: a row of these Submit nodes → one Await node.
The inputs that matter
The input list is identical to the original node, deep-copied, so nothing new to learn:
- model - 19 choices covering the Kling lineup:
kling-v3.0-std-t2v,pro,v3-turbo,v3-4k, thekling-o3family, and i2v versions of each. Text-to-video models default; switch to ani2vmodel and the reference images become relevant. - prompt / negative_prompt - multiline strings. Kling actually respects a negative prompt, which is rarer in closed video APIs than you'd hope.
- seconds - 5 or 10.
- ratio -
adaptive,16:9,4:3,1:1,3:4,9:16,21:9. The 21:9 option is nice if you're cutting cinematic wides. - image1–image4 - up to four reference images for image-to-video models.
- api_config - this is the cheap domestic (国内版) route, so instead of pasting a bare key you wire in the pack's
zhenzhen-seedance2-low-price-api-settingsnode, which bundles base URL + key. - seed - the tooltip spells it out: it's an execution seed for ComfyUI cache control, not something the API consumes. Fixed reuses a cached result; randomize forces a new run.
- skip_error - leave off; when on, failures silently return an empty placeholder instead of raising.
How to install
It's part of the T8mars/Comfyui-zhenzhen pack (ComfyUI Manager → search "Comfyui-zhenzhen", or cd ComfyUI/custom_nodes && git clone https://github.com/T8mars/Comfyui-zhenzhen then restart). No model downloads - everything runs on the author's servers, and requirements.txt is standard stuff (requests, aiohttp, numpy, Pillow, torch). You do need a paid Zhenzhen API token from their storefront; the domestic store is api.seedance.nz.
Common issues
The servers are overseas, so from China you'll get 443/timeout errors without a proxy - the README is unsubtle about this and also blames aggressive firewalls. Model availability and price also depend on which token group your key is in. And remember: a Submit node that errors will fail the whole batch unless you tick skip_error - for a big batch, that's often the more forgiving choice.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | kling-v3.0-std-t2v | 19 options: kling-v3.0-std-t2v, kling-v3.0-pro-t2v, kling-v3-turbo-std-t2v, kling-v3-turbo-pro-t2v, kling-v3-4k-t2v, kling-o3-std-t2v, +13 |
| prompt | STRING | — | |
| seconds | COMBO | 5 | 2 options: 5, 10 |
| ratio | COMBO | 16:9 | 7 options: adaptive, 16:9, 4:3, 1:1, 3:4, 9:16, +1 |
| negative_prompt | STRING | — | |
| image1opt | IMAGE | — | |
| image2opt | IMAGE | — | |
| image3opt | IMAGE | — | |
| image4opt | IMAGE | — | |
| api_configopt | ZHENZHEN_SEEDANCE2_CONFIG | — | |
| 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 | — |