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 2 days ago· 740
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