BYOKey Seedance 2.0 Text to Video
Seedance 2.0 text-to-video on your own ByteDance key
- video
This is the plain text-to-video half of the Seedance 2.0 pair. No image in, no bookend control - just a prompt, a resolution, a duration, and ByteDance's strong general-purpose video model doing the rest. If your image-to-video sibling is the fancy one, this is the workhorse: character-led scenes, motion, camera moves, all from a paragraph of text.
It's also the node that sits at the center of the API-video pricing conversation in the KB. Seedance 2.0 arriving in ComfyUI as an API call drew the community's canonical cost objection - a "really small number of videos per year for a monthly subscription of 20 or even 30 bucks." That's not a bug in this node; it's the real price of the model surfacing. You pay ByteDance per clip either way; this node just skips Comfy's prepaid-credit storefront and hits ByteDance's BytePlus ark endpoint with your own key.
How it works. The familiar submit-then-poll dance: POST a generation job to ark.ap-southeast.bytepluses.com (the default base_url, overridable for a relay or proxy) with your ark key as a Bearer token, poll every poll_interval seconds until the clip is ready, download the mp4, and wrap it in ComfyUI's native VIDEO type. It lands in the same preview/save nodes as any official API video node.
The inputs that matter:
prompt- the whole creative input. Describe subject, motion, camera, and mood; Seedance takes direction well and rewards specific language.model-Seedance 2.0for full quality, orSeedance 2.0 Fastwhen you're iterating. Fast only goes up to 720p, which is fine for drafts.resolution-480p/720p/1080p. The cost lever as much as a quality one.ratio-16:9default, through4:3,1:1,3:4,9:16,21:9, oradaptive.duration- 4 to 15 seconds, and this is where the per-clip bill climbs fastest.generate_audio- on by default, so clips come with an audio track. Turn it off if you're doing sound later; it shaves the job down.watermark- off by default; on adds ByteDance's watermark, usually at a lower rate.seed- non-deterministic regardless of value, per the tooltip. It only gates re-runs.
poll_interval and max_wait are the babysitters; the 10-minute cap is fine for typical jobs.
Output: one video (VIDEO) socket.
Install. Shared pack, one clone:
cd ComfyUI/custom_nodes
git clone https://github.com/MeteorAndy/comfyui-byokey.git
# restart ComfyUI; it's under api/byokey/video
No model downloads, no extra dependencies - ComfyUI's bundled torch, aiohttp, PIL, numpy and av cover it.
Gotchas. Budget for the cost before you start iterating - this is the model where a long session adds up. And the pack is young with no community footprint yet, so give the source a skim before handing it a real key; that's the standing rule for any API-wrapper node.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | BytePlus ark API key (Bearer token). | |
| base_url | STRING | https://ark.ap-southeast.bytepluses.com | BytePlus ark host. Override for a relay/proxy. |
| model | COMBO | Seedance 2.0 | Seedance 2.0 for max quality; Seedance 2.0 Fast for speed. |
| prompt | STRING | Text prompt for video generation. | |
| resolution | COMBO | 720p | Output resolution. Seedance 2.0 Fast supports 480p/720p only. |
| ratio | COMBO | 16:9 | Aspect ratio of the output video. |
| duration | INT | 74–15 | Duration of the output video in seconds (4-15). |
| generate_audio | BOOLEAN | true | Enable audio generation for the output video. |
| seedopt | INT | 00–2147483647 | Seed (results are non-deterministic regardless of seed). |
| watermarkopt | BOOLEAN | false | Whether to add a watermark to the video. |
| poll_intervalopt | INT | 92–60 | Seconds between status polls. |
| max_waitopt | INT | 60060–3600 | Max seconds to wait. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |