并发提交|Kling 视频生成
Batch Kling generations — 19 t2v/i2v/o3-r2v models, fired in parallel
- image1
- image2
- image3
- image4
- api_config
- future
Kling is one of the models people actually seek out rather than settle for - it's a closed model with no local door, so the API wrapper is the only way to get it inside a ComfyUI graph at all (the KB's external-api-nodes doc is explicit that "want a model with no open weights" is the first reason a workflow routes out). This node is the concurrent-submit version of the pack's Kling generator, and it's a big one: nineteen models spanning t2v, image-to-video/first-last-frame, and O3 reference-to-video, with standard, pro, turbo, and 4k tiers.
The pattern is the pack standard: set params, the node validates them synchronously, then the job runs on a background video thread pool and returns a SEEDANCE_VIDEO_FUTURE. Feed it into SeedanceConcurrent_Video_Await, which waits on up to ten futures at once and returns VIDEO outputs in slot order. Comparing a turbo t2v against a pro t2v? That's two of these nodes and one receiver.
The inputs that matter
model- 19 choices; the t2v set takes prompt-only, the i2v set takesimage1(+ optionalimage2as the last frame), and thekling-o3-*-r2vset takes up to four reference images.prompt- required for t2v and r2v; optional for i2v.seconds- 5 or 10. No-1, no 15.ratio- forwarded asmetadata.ratiowhen it isn'tadaptive.negative_prompt- optional, forwarded to metadata. Kling is one of the models in the pack that actually supports a negative prompt, so use it.image1…image4- i2v uses 1–2 (first/last), r2v uses however many you connect, compacted to order.
Plus api_config, skip_error (placeholder on failure), and seed (cache seed; fixed reuses cached results so re-runs don't double-bill).
The honest warning about r2v
Read the README before you build a workflow around the O3 r2v models. Only kling-o3-4k-r2v has been verified working end-to-end; kling-o3-std-r2v and kling-o3-pro-r2v were still returning an upstream 502 at submit time when the pack was tested. That's an upstream API problem, not a bug you can fix on the node - pick the 4k r2v model or use i2v if you hit it. The motion, kling-elements-advanced, and lip-sync paths aren't exposed as nodes at all.
How it runs
Standard wrapper machinery: upload your reference images, submit, poll, download, and only pass the MP4-header check counts as a finished VIDEO. Failures isolate per slot in a batch - raise stops and names the slot, placeholder keeps the rest going.
Installing
# ComfyUI Manager: search "ComfyUI Seedance" → install → restart.
# or:
comfy node install seedance
# or:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/ComfyUI_Seedance.git
cd ../.. && python -m pip install -r custom_nodes/ComfyUI_Seedance/requirements.txt
Just requests; no weights. API key via Seedance API Config, SEEDANCE_API_KEY, or config/.env.
Where people trip
- r2v 502s - use
kling-o3-4k-r2vor fall back to i2v; the std/pro r2v channels were still broken at last check. - 5/10 only - don't try 8 seconds or
-1; validation will bounce it. - Batch killers - with
failure_mode=raiseon the receiver, one bad prompt cancels the other pending futures. If you're iterating on prompts, switch the receiver toplaceholder.
Per-clip metering and data-leaves-the-machine caveats apply, as with every node in this pack. Save Kling results you care about - those links expire.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | kling-v3.0-std-t2v | Kling task type. t2v uses prompt; i2v uses image1 and optional image2; o3-r2v uses up to 4 images. | Kling 任务类型:文生、图生/首尾帧、O3 参考生视频。 |
| prompt | STRING | Text prompt, up to 20480 chars. In multimodal mode you can reference materials as @Image 1 / @Video 1 / @Audio 1. | 文本提示词,多模态可用 @Image 1、@Video 1 指代第几个素材。 | |
| seconds | COMBO | 5 | Kling supports 5 or 10 seconds. | Kling 支持 5 或 10 秒。 |
| ratio | COMBO | 16:9 | Aspect ratio forwarded as metadata.ratio when not adaptive. | 非 adaptive 时透传为 metadata.ratio。 |
| negative_prompt | STRING | Optional negative prompt forwarded to metadata. | 可选反向提示词,透传到 metadata。 | |
| image1opt | IMAGE | Optional Kling image 1. i2v uses image1 and optionally image2 as an end frame; r2v uses connected images in compacted order. | 可选 Kling 图片 1;图生视频使用 image1,可选 image2 作为尾帧;r2v 按已连接图片顺序提交。 | |
| image2opt | IMAGE | Optional Kling image 2. i2v uses image1 and optionally image2 as an end frame; r2v uses connected images in compacted order. | 可选 Kling 图片 2;图生视频使用 image1,可选 image2 作为尾帧;r2v 按已连接图片顺序提交。 | |
| image3opt | IMAGE | Optional Kling image 3. i2v uses image1 and optionally image2 as an end frame; r2v uses connected images in compacted order. | 可选 Kling 图片 3;图生视频使用 image1,可选 image2 作为尾帧;r2v 按已连接图片顺序提交。 | |
| image4opt | IMAGE | Optional Kling image 4. i2v uses image1 and optionally image2 as an end frame; r2v uses connected images in compacted order. | 可选 Kling 图片 4;图生视频使用 image1,可选 image2 作为尾帧;r2v 按已连接图片顺序提交。 | |
| api_configopt | SEEDANCE_CONFIG | Connect Seedance API Config; otherwise SEEDANCE_API_KEY is used. | |
| skip_erroropt | BOOLEAN | false | On failure return a placeholder error video instead of stopping the workflow. | 失败时输出占位错误视频。 |
| seedopt | INT | 00–18446744073709550000 | ComfyUI cache seed. Fixed reuses the cached result while all other inputs stay unchanged; randomize/increment/decrement starts a new execution. This value is not sent to models without documented seed support. | ComfyUI 缓存种子;Fixed 在其他输入不变时复用缓存,随机、递增或递减会触发新任务。未声明支持 seed 的模型不会收到此参数。 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| future | SEEDANCE_VIDEO_FUTURE | — |