Nodes/ComfyUI Seed API Integration/Seedance Pro 1.5 Video
ComfyUI Node

Seedance Pro 1.5 Video

The draft-then-render workflow that saves you money

By FloyoAI·Created 12 months ago·Updated 8 months ago· 6
Seedance Pro 1.5 Video
  • first_frame
  • last_frame
  • video_url
  • draft_task_id
prompt
resolution720p
aspect_ratioadaptive
duration5
generate_audiofalse
seed-1
draft_modefalse
draft_task_id

Seedance is ByteDance's flagship video line, and like everything they sell it's API-only - the KB's ByteDance panel counts it among the closed products the community constantly measures open models against. This node is the most current video node in the pack, running the seedance-1-5-pro-251215 model, and it's the one you want when video quality is the point and you're willing to pay for Pro. Its standout feature is a two-stage workflow that the Lite nodes don't have: render a cheap 480p draft first, check it, then promote the draft to full resolution. Given that cloud video generation bills per render, that's not a gimmick - it's the difference between paying for a handful of polished renders and paying for every miss.

How it works

Everything goes through BytePlus's async task API: the node creates a generation task, then polls it every five seconds until it succeeds, fails, or times out (five-minute cap). Prompts and images are sent inline; the first and last frames are base64-encoded image parts. The draft flow is the interesting bit:

  1. Enable draft_mode → it generates a fast 480p preview and returns a task ID.
  2. The pack's frontend JS auto-fills draft_task_id from that run.
  3. Turn draft_mode off (keep the task ID) → it renders the full-resolution video from the draft, reusing all its settings.

Draft mode can't take a last frame, and a last frame without a first frame is rejected outright. Optional generate_audio adds a soundtrack - a genuinely nice touch for a video API.

Inputs and outputs that matter

  • prompt - describe motion, camera, and style explicitly.
  • resolution (480p/720p/1080p), aspect_ratio (adaptive plus 16:9, 4:3, 1:1, 3:4, 9:16, 21:9), duration (4–12s).
  • first_frame / last_frame - optional images; give it both and it animates between them.
  • draft_mode / draft_task_id - the workflow above.
  • seed - reproducibility; generate_audio - sound.

Outputs are video_url (STRING) and draft_task_id (STRING). The URL is a cloud-hosted file - wire it into Video URL to Frames to pull frames, or a video preview/save node.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/FloyoAI/ComfyUI-Seed-API
cd ComfyUI-Seed-API
pip install -r requirements.txt

Restart, and set your BytePlus API key in config.ini or as BYTEPLUS_API_KEY. Manager: search "ComfyUI Seed API Integration".

Where people get burned

If you enable draft mode and the video doesn't appear, check the draft_task_id - the frontend auto-populates it only when the node's UI callback works; the ID also comes back as the second output, so you can paste it manually. The bigger trap is billing: every draft and every full render is a separate paid task, and Pro is priced accordingly. The draft-then-render flow is the pack's own answer to that - actually use it. And since the node polls for up to five minutes, a long 1080p render will hold ComfyUI; that's normal, not a hang.

CategorySeed/VideoGeneration

Inputs (10)

NameTypeDefaultDescription
promptSTRING
resolutionCOMBO720p3 options: 480p, 720p, 1080p
aspect_ratioCOMBOadaptive7 options: adaptive, 16:9, 4:3, 1:1, 3:4, 9:16, +1
durationINT54–12
first_frameoptIMAGE
last_frameoptIMAGE
generate_audiooptBOOLEANfalse
seedoptINT-1-1–2147483647
draft_modeoptBOOLEANfalseWhen enabled, generates a fast 480p draft preview and returns the draft task ID to the field below. Once satisfied with the draft, disable draft mode and the task ID will be used to render the full resolution video. Note: Draft mode does not support last frame inputs.
draft_task_idoptSTRINGThe draft task ID from a previous draft generation. Leave empty for new generations, or paste a task ID to render it at full resolution.

Outputs (2)

NameTypeDescription
video_urlSTRING
draft_task_idSTRING