Nodes/Comfyui-zhenzhen/Concurrent Submit | Zhenzhen Doubao Seedance 2.0
ComfyUI Node

Concurrent Submit | Zhenzhen Doubao Seedance 2.0

Doubao video generation without the serial waits

By T8mars·Created about a year ago·Updated 3 days ago· 749
Concurrent Submit | Zhenzhen Doubao Seedance 2.0
  • first_frame
  • last_frame
  • ref_image1
  • ref_image2
  • ref_image3
  • ref_image4
  • ref_image5
  • ref_image6
  • ref_image7
  • ref_image8
  • ref_image9
  • video1
  • video2
  • video3
  • audio1
  • audio2
  • audio3
  • task
◄prompt—►
◄modeldoubao-seedance-2-0-260128►
◄duration5►
◄ratio16:9►
◄resolution720p►
◄apikey►
◄generate_audiotrue►
◄return_last_framefalse►
◄web_searchfalse►
◄watermarkfalse►
◄seed-1►
◄asset_bundle►
◄skip_errorfalse►

Seedance is ByteDance's video generation family, and the 2.0 node in this pack is one of the most configurable things Zhenzhen ships - model, duration, ratio, resolution, up to nine reference images, three reference videos, three audio tracks, first/last frame, even an asset-bundle system for reusing a character's identity across jobs. All of that is wasted on you if you're running it serially, because each clip takes a while and the meter ticks per second of output. This submit node fixes the serial part: same Doubao Seedance 2.0 call, but each job goes into the shared video pool (10 workers) and returns a task handle immediately.

The pattern that makes this node worth it: generating the same character across multiple shots, or testing several prompts against one reference set. Seedance's multi-reference inputs are expensive to set up - you want to amortize them across a batch, and this is how.

How it works

Auto-generated concurrent wrapper: the submit class copies the base node's inputs at import time, wraps its generate_video() in a bounded ThreadPoolExecutor (video workers default to 10, set via COMFLY_VIDEO_CONCURRENCY), and returns a COMFLY_VIDEO_FUTURE. Collect with ComflyConcurrent_Video_Await ("Concurrent Collect Videos (10)"), which waits for the batch and returns VIDEO tensors in slot order.

Required inputs: prompt, model (doubao-seedance-2-0-260128 default, the -fast variant, or doubao-seedance-2.0-mini), duration (4-15s), ratio (eight options incl. 21:9 and adaptive), resolution (720p default, up to 4k / native4K). The interesting optional inputs: first_frame / last_frame, ref_image1-9, video1-3, audio1-3, generate_audio (on by default), web_search, watermark, seed, asset_bundle (wire from the Asset ID Bundle node), and skip_error.

Installing it

One clone, whole pack:

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-zhenzhen

Restart ComfyUI, or install "Comfyui-zhenzhen" via ComfyUI Manager. No model downloads - Seedance runs on ByteDance's hardware behind the proxy.

Common issues

Pack-level: account + credit required, 443 errors need VPN with TUN mode, first-run 500s are usually upstream - re-run. Seedance-specific: the README warns the price scales with reference-video seconds too, so a batch of long clips with heavy references gets expensive fast. And resolution is your biggest cost lever - a 10-way batch at 4k is a serious bill; iterate at 480p first. The asset_bundle input is how you reuse a character ID across submits instead of re-uploading references every time - worth wiring if you're batching character-consistent work.

Categoryzhenzhen/Doubao/Concurrent Submit

Inputs (30)

NameTypeDefaultDescription
promptSTRING—
modelCOMBOdoubao-seedance-2-0-2601283 options: doubao-seedance-2-0-260128, doubao-seedance-2-0-fast-260128, doubao-seedance-2.0-mini
durationINT54–15—
ratioCOMBO16:98 options: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, +2
resolutionCOMBO720p7 options: 720p, 480p, native1080p, 1080p, 2k, 4k, +1
apikeyoptSTRING—
first_frameoptIMAGE—
last_frameoptIMAGE—
ref_image1optIMAGE—
ref_image2optIMAGE—
ref_image3optIMAGE—
ref_image4optIMAGE—
ref_image5optIMAGE—
ref_image6optIMAGE—
ref_image7optIMAGE—
ref_image8optIMAGE—
ref_image9optIMAGE—
video1optVIDEOReference video input.
video2optVIDEOReference video input.
video3optVIDEOReference video input.
audio1optAUDIOReference audio input.
audio2optAUDIOReference audio input.
audio3optAUDIOReference audio input.
generate_audiooptBOOLEANtrue—
return_last_frameoptBOOLEANfalse—
web_searchoptBOOLEANfalse—
watermarkoptBOOLEANfalse—
seedoptINT-1-1–2147483647—
asset_bundleoptSTRINGWire from «Asset ID Bundle» output. JSON built from Asset Upload asset_id strings per slot.
skip_erroroptBOOLEANfalse开启后,节点失败时不报错、按旧行为返回默认空结果;关闭时(默认)失败直接抛出错误。

Outputs (1)

NameTypeDescription
taskCOMFLY_VIDEO_FUTURE—