Nodes/ComfyUI-Kie-API/KIE Seedance 2.0 (Video)
ComfyUI Node

KIE Seedance 2.0 (Video)

Seedance 2.0 video in your graph — just bring a prompt and some patience

By gateway·Created 9 months ago·Updated 4 months ago· 39
KIE Seedance 2.0 (Video)
  • first_frame
  • last_frame
  • reference_images
  • reference_video
  • reference_audio
  • seedance_data
  • video
modelbytedance/seedance-2-fast
prompt
generate_audiofalse
return_last_framefalse
aspect_ratio16:9
resolution720p
duration15
web_searchfalse
logtrue

ByteDance's Seedance line is the closed video model that open-weights users keep measuring themselves against, and this node is the fastest way to actually run the newest one from ComfyUI. KIE Seedance 2.0 (Video) sends a prompt - plus optionally frames and reference media - to the Kie.ai API and returns a ready-to-play VIDEO clip. It's cloud-only, credit-priced, and marked experimental in the pack, but it's also the most flexible video node in the bunch.

"Experimental" here mostly means the reference semantics are still settling, not that it's broken. You get four scenarios in one node: plain text-to-video, first-frame image-to-video, first + last-frame I2V, and a multimodal mode with reference images/video/audio. That's a lot of reach for a single node.

How it works

The usual KIE job lifecycle, with video-sized patience: upload any media, POST a createTask, then poll recordInfo until it finishes. Video jobs default to a 2000-second timeout for good reason - Seedance runs can take ten-plus minutes, and the pack's default polling interval is 10 seconds. Retries kick in automatically on transient failures. The finished clip downloads to a temp file and comes back as a ComfyUI VIDEO output.

The inputs that matter

  • model - bytedance/seedance-2-fast (default) or bytedance/seedance-2. Fast is for iteration; the full model is the quality pick. Both pass through to KIE directly, so this is the field to change when the catalog updates.
  • prompt - required, and the main control. Describe motion, camera, and subject.
  • first_frame / last_frame - optional IMAGE inputs. Last frame requires first frame. These are dedicated temporal control slots, not part of the reference-media ordering.
  • reference_images / reference_video / reference_audio - the multimodal side. These upload in batch order and get referenced in the prompt via @ImageN / @VideoN / @AudioN aliases. The caveat, from the pack's own docs: that alias mapping is inferred from upload order and isn't API-verified, so validate it before you spend credits.
  • duration - default 15s, and resolution defaults to 720p. generate_audio and return_last_frame are optional extras the endpoint supports.

There's also a seedance_data input: if you've run the pack's Seedance 2.0 Preflight node, you can chain its validated payload straight in here and skip re-uploading. That preflight node is genuinely worth using before expensive runs - it builds the exact payload without spending a credit.

Output: video, which previews in ComfyUI or goes to a saver.

Installing

One install, every KIE node. ComfyUI Manager: search "ComfyUI Kie API". Or:

cd ComfyUI/custom_nodes
git clone https://github.com/gateway/ComfyUI-Kie-API
# restart ComfyUI

No models to download. The key lives in config/kie_key.txt inside the pack folder (copy from kie_key.example.txt).

Where people get burned

Three things. First, the timeout - it's long by design; don't kill the run at 3 minutes, it may be nowhere near done. Second, the @ImageN reference aliases: if your reference-heavy video comes out ignoring the media, the alias mapping is the first suspect, not the model. Third, cost - Seedance 2.0 at 15s/720p is a real credit spend per shot, and there's no preview-in-place; run the preflight node and use the fast model for drafts, then spend the good credits on the final. And when a job does fail, kie.ai/logs is where the real error message is.

Categorykie/api

Inputs (15)

NameTypeDefaultDescription
modelCOMBObytedance/seedance-2-fast2 options: bytedance/seedance-2-fast, bytedance/seedance-2
promptSTRING
first_frameoptIMAGE
last_frameoptIMAGE
reference_imagesoptIMAGE
reference_videooptVIDEO
reference_audiooptAUDIO
generate_audiooptBOOLEANfalse
return_last_frameoptBOOLEANfalse
aspect_ratiooptCOMBO16:93 options: 16:9, 9:16, 1:1
resolutionoptCOMBO720p3 options: 480p, 720p, 1080p
durationoptCOMBO153 options: 5, 10, 15
web_searchoptBOOLEANfalse
seedance_dataoptKIE_SEEDANCE2_REQUEST
logoptBOOLEANtrue

Outputs (1)

NameTypeDescription
videoVIDEO