Zhenzhen Doubao Seedance 2.0 Asset Upload
Upload your Seedance 2.0 media once, reuse it forever
- image
- video
- audio
- asset_id
- status
- response
This node has no prompt and no output video - it exists to solve one annoying problem: Comfly_Doubao_Seedance2_0 re-uploads your reference images, videos, and audio on every run, which costs upload token fees and gets slow. Comfly_Doubao_Seedance2_0_Asset uploads that media once and hands you back a stable asset_id you can reuse across generations. If you're doing multi-reference Seedance 2.0 work (character refs, a signature audio clip, a first frame you'll use fifty times), this is the node that keeps your bill and your patience in check. The pack even ships a "seedance2.0 上传素材ID 多参工作流.json" example built exactly around this pattern.
What it takes in
- image - a reference still to upload.
- video - reference video (the tooltip confirms it uploads the same way as Seedance 2.0's video inputs).
- audio - reference audio, same deal.
- name - an optional label so you can tell assets apart later. Worth setting if you upload several.
- apikey - the usual Comfly override; otherwise it reads
Comflyapi.json.
Feed in one or more of these and run it once. You can upload the pieces in separate runs and collect the ids as you go - there's no requirement to do it all in one pass.
What comes out
- asset_id - the string you actually want. Plug it into the bundle node.
- status - whether the upload landed cleanly.
- response - the raw API payload, for when something looks wrong.
The intended flow is: this node → Comfly_Doubao_Seedance2_0_AssetIdBundle → the asset_bundle input on Comfly_Doubao_Seedance2_0. The bundle node does the job of arranging your ids into the JSON the generation node expects.
Install
Same as every Comfly node:
cd ComfyUI/custom_nodes
git clone https://github.com/ainewsto/Comfyui_Comfly
Or ComfyUI Manager → "Comfyui_Comfly" → restart. No models download; it's an upload client, so you just need the key/credits at https://ai.comfly.chat.
Gotchas
The asset ids are tied to your account and presumably to the relay's storage - if you're mid-project and the id stops resolving, re-upload and swap the id rather than hunting for a fix. Also note the upload node alone does nothing; forgetting to wire the ids through the bundle into the Seedance node is the classic "why is my video ignoring my reference" mistake. It's a helper node with a narrow job - treat it that way and it saves you money; skip it and you'll pay the upload fee every run.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| apikeyopt | STRING | — | |
| nameopt | STRING | — | |
| imageopt | IMAGE | — | |
| videoopt | VIDEO | Reference video; upload same as Seedance 2.0. | |
| audioopt | AUDIO | Reference audio; upload same as Seedance 2.0. | |
| skip_erroropt | BOOLEAN | false | 开启后,节点失败时不报错、按旧行为返回默认空结果;关闭时(默认)失败直接抛出错误。 |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| asset_id | STRING | — |
| status | STRING | — |
| response | STRING | — |