并发提交|Seedance 图生视频 (Image to Video)
Animate several stills at once — Seedance image-to-video in a batch, with optional end frames
- first_image
- last_image
- api_config
- future
Image-to-video is where most people actually live in video generation - you've already got a still you like, and you want the motion. This node is the concurrent-submit wrapper around Seedance 2.0 i2v, and it's the one to reach for when you have a pile of stills and want them all animated in one run rather than one slow clip at a time.
The concurrency model is the same across the pack: the node validates, pushes the job to a background video thread pool, and hands you a SEEDANCE_VIDEO_FUTURE. You wire those handles into SeedanceConcurrent_Video_Await, which waits on up to ten of them in parallel and returns the finished VIDEO values in slot order. Got five keyframes from a shoot you want as five clips? Five of these, one receiver.
The inputs that matter
first_image- required. This is the frame that becomesimages[0].last_image- optional, and the genuinely nice part of this node: connect one and you get a start/end-frame animation instead of an open-ended one. Great for loop-able motion.model- six choices:seedance-2.0-{standard,fast,mini}-i2vand the-global-versions. Same quality-tier story as the t2v node.prompt- optional, up to 20480 chars. You can drive an i2v mostly off the frame, but a sentence of motion direction helps a lot.seconds- 4 to 15, or-1for model-decided.resolution-480pthrough4kplusnative1080p/native4k; native tiers are Standard-only.ratio-adaptivefollows your image; that's the sensible default for i2v.generate_audio- voice-over/sound effects toggle.
Plus api_config, skip_error (placeholder video on failure), and seed - -1 random; fixed makes unchanged runs reuse cache instead of re-billing.
How it runs
Standard wrapper machinery: the first frame (and optional last frame) gets uploaded, submitted, polled, downloaded, and validated with the MP4-header check. Failures isolate per slot in a batch - raise names the dead slot and cancels pending futures; placeholder swaps in a placeholder and keeps the rest.
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
- No
first_image- bounced at validation, before the API. This node has zero image-free modes. - Native resolutions on fast/mini - Standard-tier only, same rule as the t2v node.
- Unchanged re-runs still costing money - you left the seed on
randomize. Flip the submit nodes tofixedand cache reuse kicks in.
And the standing reminder: metered per clip, your frame leaves the machine, and result links are temporary. Save the keepers.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| first_image | IMAGE | First frame reference image (required). | 首帧参考图(必填)。 | |
| model | COMBO | seedance-2.0-standard-i2v | standard/fast/mini = quality tiers; 'global-' models run on overseas infrastructure. | standard/fast/mini 为档位,带 global- 的为海外版通道。 |
| 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 | Video duration in seconds; -1 lets the model decide. | 视频时长(秒),-1 表示模型智能选择。 |
| resolution | COMBO | 720p | 1080p/2k/4k are upscaled output tiers; native1080p/native4k are Standard-tier only. | 1080p/2k/4k 为超分输出档,native 档仅 Standard 模型支持。 |
| ratio | COMBO | adaptive | Aspect ratio; adaptive follows the input material. | 画面比例,adaptive 为自适应。 |
| last_imageopt | IMAGE | Optional last frame reference image. | 尾帧参考图(可选)。 | |
| generate_audioopt | BOOLEAN | true | Generate voice-over / sound effects. | 是否生成配音与音效。 |
| seedopt | INT | -1-1–2147483647 | -1 = random seed. | -1 表示随机种子。 Fixed reuses the cached result while all inputs stay unchanged; randomize/increment/decrement starts a new execution. | Fixed 在输入不变时复用缓存;随机、递增或递减会触发新任务。 |
| api_configopt | SEEDANCE_CONFIG | Connect a 'Seedance API Config' node; falls back to SEEDANCE_API_KEY env var. | |
| skip_erroropt | BOOLEAN | false | On failure return a placeholder error video instead of stopping the workflow. | 失败时输出占位错误视频而不中断工作流。 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| future | SEEDANCE_VIDEO_FUTURE | — |