BYOKey Seedance 2.0 Image to Video
Seedance 2.0 with first-and-last-frame control, straight from ByteDance
- first_frame
- last_frame
- video
ByteDance's Seedance 2.0 is one of the strongest video models you can call, and it's the one that kicked off the community's biggest argument about API pricing when it arrived in ComfyUI - the metered cost genuinely surprised people. This node is the bring-your-own-key way in: you still pay ByteDance per clip, but you skip Comfy's credit storefront and talk to ByteDance's own BytePlus ark endpoint directly.
The headline feature here is bookend control: you can give it a first_frame and a last_frame, and Seedance will animate between them. That's the Kling-style framing trick that gets you shots with a real beginning and end, not just a zoom that starts somewhere.
How it works. The standard submit-then-poll pattern this pack is built on. POST to ark.ap-southeast.bytepluses.com (the default base_url, overridable for a relay/proxy) with your ark key as a Bearer token, poll every poll_interval seconds, download the finished mp4, and wrap it in ComfyUI's native VIDEO type. Your first_frame is sent as a base64 data URI; last_frame goes along too when you provide one.
The inputs that matter:
first_frame- requiredIMAGEinput. The shot starts here.last_frame- optional, and the reason to pick this node over the plain t2v. Give Seedance an ending frame and it'll work its way there.prompt- the motion narrative between the two bookends.model-Seedance 2.0(max quality) orSeedance 2.0 Fast(speed, but only 480p/720p). Fast is a solid draft-stage pick; the full model is the one you pay up for.resolution-480p/720p/1080p, with the Fast model capped at 720p.ratio-16:9,4:3,1:1,3:4,9:16,21:9, oradaptive(follows your frame's own aspect).duration- 4 to 15 seconds. Longer clips are where the per-clip price climbs fastest.generate_audio- on by default, so you get a video with a soundtrack track included. Flip it off if you're adding audio later.watermark- off by default; turning it on adds ByteDance's AI-generated watermark (and usually costs less, if you care).
The seed is the usual "controls re-run, doesn't guarantee results" deal - non-deterministic regardless, per the tooltip. Leave it.
Output: one video (VIDEO) socket, into your video preview/save node.
Install. One clone, shared pack:
cd ComfyUI/custom_nodes
git clone https://github.com/MeteorAndy/comfyui-byokey.git
# restart ComfyUI; nodes under api/byokey/video
No models, no extra deps - ComfyUI's bundled torch/aiohttp/PIL/numpy/av.
Gotchas. Cost is the real one: video jobs meter fast, and Seedance pricing drew the loudest sticker-shock threads in the whole API-node space. Watch your max_wait if jobs stall. And it's a fresh pack with no community track record - skim the source before feeding it a key, standard hygiene for anything that holds credentials and calls the network.
Inputs (14)
| 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. | |
| first_frame | IMAGE | First frame image for the video. | |
| resolution | COMBO | 720p | Output resolution. Seedance 2.0 Fast supports 480p/720p only. |
| ratio | COMBO | adaptive | 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. |
| last_frameopt | IMAGE | Optional last frame image for the 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 | — |