Volcengine Doubao Seedance
ByteDance's video model, three modes, one key
- first_frame
- last_frame
- video_path
If you're installing this pack for one node, it's this one. Doubao Seedance is ByteDance's video-generation model - the closed, API-only flagship that the community openly benchmarks open video models against - and this node drops it into your ComfyUI workflow with three input modes: plain text-to-video, first-frame image-to-video, and first-plus-last-frame image-to-video. It's the closest thing in the pack to "the model everyone's comparing everything else to, finally callable from a graph."
It's also the node that's easiest to trip over, because it doesn't use the same credentials as its three siblings. Everything else in the pack signs requests with an access key/secret key pair; this one talks to the Volcengine Ark API with a single ark_api_key bearer token instead. Get that straight first and the rest is simple.
How it works
Instead of a structured JSON body, the node builds a "text command" - --resolution 720p --duration 5 --ratio adaptive and friends - and POSTs it to https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks with your key. That's an async task, so it polls every 10 seconds for up to about ten minutes, then downloads the finished video to your output directory. The single output is video_path (STRING): your saved file. No video URL to babysit - it's already on disk.
The inputs that matter
ark_api_key- the Ark API key, not the access/secret pair. Wrong key here is the classic failure.model- two choices, and this is where beginners get burned:doubao-seedance-1-0-pro-250528- the pro model. Text-to-video and single-frame image-to-video.doubao-seedance-1-0-lite-i2v-250428- the lite image-to-video model. Required for first+last frame. Plug two frames into the pro model and it won't work.
prompt- text or image-to-video description, Chinese or English.first_frame/last_frame- optional IMAGE inputs. Wirefirst_framefor image-to-video; addlast_framefor first+last frame (lite-i2v only). Keep both frames' aspect ratios consistent - the model crops the last frame to the first frame's ratio.resolution(480p/720p/1080p),ratio(seven ratios pluskeep_ratioandadaptive),duration(5 or 10s),framepersecond(16 or 24),watermark,seed(-1 random),camerafixed.
For image-to-video, adaptive ratio is a good default - it picks the closest official ratio to your input.
Installing
Manager search ComfyUI-JM-Volcengine-API, or:
cd ComfyUI/custom_nodes
git clone https://github.com/synthetai/ComfyUI-JM-Volcengine-API
cd ComfyUI-JM-Volcengine-API
pip install -r requirements.txt
Restart, find it under JM-Volcengine-API/Video. Just requests and Pillow in the deps - nothing to download, no models.
Where people get burned
- The two-key confusion. Ark bearer key here; access/secret pair for the other three nodes. Mixing them up produces auth failures that look identical.
- It blocks for minutes. Video generation is a 5–10 minute wait that freezes the graph. Plan for it.
- Wrong model for the mode. Two frames on the pro model silently doesn't work; first+last frame needs
lite-i2v. - Moderation. Seedance runs heavy content review - the community's standard complaint about it, and it applies here. Input images and prompts get screened.
- Ratio mismatch in first+last frame. If your two frames don't match, the last one gets cropped to the first's ratio, which can chop off what you drew.
Seedance quality is genuinely impressive - it's the model open releases keep being measured against, and it shows. Just don't expect local-model freedom. This is a paid, moderated, cloud-only API, and the node is a clean wrapper around that fact.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| ark_api_key | STRING | 火山方舟API密钥 | |
| model | COMBO | doubao-seedance-1-0-pro-250528 | 模型ID |
| prompt | STRING | 视频生成提示词,支持中英文 | |
| first_frameopt | IMAGE | 首帧图片(图生视频模式) | |
| last_frameopt | IMAGE | 尾帧图片(首尾帧图生视频模式,配合lite-i2v模型使用) | |
| resolutionopt | COMBO | 720p | 视频分辨率 |
| ratioopt | COMBO | adaptive | 视频宽高比 |
| durationopt | COMBO | 5 | 视频时长(秒) |
| framepersecondopt | COMBO | 24 | 帧率 |
| watermarkopt | BOOLEAN | false | 是否包含水印 |
| seedopt | INT | -1-1–4294967295 | 随机种子,-1表示随机 |
| camerafixedopt | BOOLEAN | false | 是否固定摄像头 |
| filename_prefixopt | STRING | doubao_seedance | 保存文件名前缀 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video_path | STRING | — |