Nodes/KIE.ai Nodes Next/KIE • Seedance Studio
ComfyUI Node

KIE • Seedance Studio

One Node, Four Video Modes, No Guessing

By felipederosilva·Created about a month ago·Updated a day ago· 3
KIE • Seedance Studio
  • first_frame
  • last_frame
  • reference_image_1
  • reference_image_2
  • reference_image_3
  • reference_video
  • reference_audio
  • video
  • url
  • all_urls_json
  • task_id
  • raw_json
  • credits_consumed
  • credits_left
◄modelbytedance/seedance-2-5►
◄generation_modetext►
◄prompt►
◄resolution720p►
◄aspect_ratioadaptive►
◄duration5►
◄generate_audiotrue►
◄camera_direction►
◄return_last_framefalse►
◄web_searchfalse►
◄timeout_seconds1200►

Why this is a "Studio" node and not just another model node

Seedance's API has a rule that bites people: the docs treat First Frame / First+Last Frame and Multimodal Reference as mutually exclusive scenarios. If you wire a first frame and a reference image into a raw form and submit, you find out about it from a provider-side rejection after your files have already been uploaded.

Studio nodes in this pack exist for exactly that class of model - capabilities that don't fit a flat widget list. You pick a generation_mode and the node only then looks at the sockets that mode uses, validating locally before anything is sent. The error messages are specific and helpful, e.g. "Multimodal reference mode requires at least one image, video, or audio reference."

The inputs

  • model - bytedance/seedance-2, -2-fast, -2-mini, or bytedance/seedance-2-5. Fast and Mini trade quality for latency and money; 2.5 is the current flagship.
  • generation_mode - text, first frame, first + last frame, multimodal reference.
  • prompt - required in practice; the node raises "Seedance Studio requires a prompt or camera direction."
  • resolution (480p, 720p, 1080p, 4k), aspect_ratio (adaptive plus 16:9 through 21:9), duration (default 5, range −1 to 30 - the −1 sentinel is the provider's "let the model choose"), generate_audio (on by default).
  • Mode-dependent sockets: first_frame, last_frame, and for multimodal mode reference_image_1/2/3, reference_video, reference_audio.
  • camera_direction - a STRING that gets appended to your prompt with a blank line between them. That's the hook for KIE • Camera Director or a full KIE • Shot Sequence director prompt.
  • return_last_frame, web_search, timeout_seconds (1200 default).

Outputs: video, url, all_urls_json, task_id, raw_json, credits_consumed, credits_left. return_last_frame is worth knowing about - it's how you chain clips, taking the final frame of one generation and feeding it as the first frame of the next.

How it works under the hood

Images, video and audio all get uploaded to KIE first, then swapped in as URLs; the node submits a task and polls to completion. Connected images go up as batches for references, and a connected video is transcoded to a temp file before upload, so a 10-bit source is going to cost you a moment before the request even leaves.

ByteDance is the interesting vendor here: every flagship generation product (Seedream, Seedance) stays API-only, while the components underneath ship open. So there is no local Seedance to compare against - this node isn't a wrapper around something you could have run yourself. That's the fair case for an API node.

Install and credentials

cd ComfyUI/custom_nodes
git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
pip install -r ComfyUI-KIE-Nodes-Next/requirements.txt

Restart, then one-time key setup at Settings → KIE.ai Nodes Next → Connection (validated before it replaces an existing key; masked afterwards; KIE_API_KEY wins on headless installs).

The money conversation

Video is where API credits get real. The community's reaction to Seedance arriving in ComfyUI as an API node was a lot of people doing the arithmetic and concluding it's expensive - with the counter-argument that this is simply what the renders cost, after a couple of years of subsidised pricing. Practical consequences: keep duration short while you iterate, use Fast or Mini for blocking and framing decisions, and only spend 4K on the take you're keeping. The node prints credits spent and the remaining balance right on itself after every run, which makes this the rare case where you can watch a session's cost in real time instead of discovering it on a statement.

Do your shot planning before you press run. A 5-second 720p clip is cheap; six of them plus a reroll each is not.

CategoryKIE Next/Studio/ByteDance

Inputs (18)

NameTypeDefaultDescription
modelCOMBObytedance/seedance-2-54 options: bytedance/seedance-2, bytedance/seedance-2-fast, bytedance/seedance-2-mini, bytedance/seedance-2-5
generation_modeCOMBOtext4 options: text, first frame, first + last frame, multimodal reference
promptSTRING—
resolutionCOMBO720p4 options: 480p, 720p, 1080p, 4k
aspect_ratioCOMBOadaptive7 options: adaptive, 16:9, 9:16, 1:1, 4:3, 3:4, +1
durationINT5-1–30—
generate_audioBOOLEANtrue—
camera_directionoptSTRING—
first_frameoptIMAGE—
last_frameoptIMAGE—
reference_image_1optIMAGE—
reference_image_2optIMAGE—
reference_image_3optIMAGE—
reference_videooptVIDEO—
reference_audiooptAUDIO—
return_last_frameoptBOOLEANfalse—
web_searchoptBOOLEANfalse—
timeout_secondsoptINT120030–7200—

Outputs (7)

NameTypeDescription
videoVIDEO—
urlSTRING—
all_urls_jsonSTRING—
task_idSTRING—
raw_jsonSTRING—
credits_consumedFLOAT—
credits_leftFLOAT—