Nodes/豆包 Seedance 视频 (DMXAPI)/🎬豆包 Seedance 首尾帧
ComfyUI Node

🎬豆包 Seedance 首尾帧

First+Last Frame Video

By YV919·Created 3 months ago·Updated 3 months ago· 1
🎬豆包 Seedance 首尾帧
  • first_frame
  • last_frame
  • 任务ID
  • 检索模型
◄custom_modeldoubao-seedance-2-0-260128►
◄prompt镜头从首帧画面平滑过渡到尾帧画面,自然流畅的运镜►
◄api_key►
◄base_urlhttps://www.dmxapi.cn►
◄ratioadaptive►
◄resolution480p►
◄duration5►
◄generate_audiotrue►
◄seed-1►
◄watermarkfalse►
◄first_frame_url►
◄last_frame_url►

Some shots are best described by their endpoints. A product rotating from one angle to another, a scene morphing from day to night, a character that must start here and end there - those are first+last-frame jobs, and this is the node that does them: 🎬豆包 Seedance 首尾帧. You give Seedance 2.0 a start image and an end image, and it invents a smooth, natural transition between them.

It's the same API-wrapper shape as the rest of this pack - closed ByteDance model reached through the DMXAPI reseller, no local rendering, billed per call - so all the standing caveats apply: your two frames and your prompt leave the machine, and the cost is per job. What's special here is the mechanism: two image roles (first_frame and last_frame) in one request, with the model generating the bridge.

How it works

The node needs both frames - there's no "first frame only" fallback in this node; that's the separate 首帧生视频 node's job. Each frame has the same two-way source as that node: a 首帧图片 (first_frame) IMAGE socket or a 首帧图片链接 (first_frame_url) text field, and likewise 尾帧图片 (last_frame) / 尾帧图片链接 (last_frame_url). IMAGE wins over URL when both are present, and if either end is missing entirely the node refuses with a clear "首尾帧生视频需要首帧/尾帧" error.

Under the hood it converts both frames to base64 PNG data URLs (or passes your URL through), builds a content array of [prompt, first_frame image, last_frame image], and POSTs to {base_url}/v1/responses. Out comes the usual task_id plus seedance-2-0-get, which you wire into 🎬豆包 Seedance 获取 to poll, download, and preview the finished clip.

加载图像 ──IMAGE──▶ 🎬豆包 Seedance 首尾帧 ── task_id ──▶ 🎬豆包 Seedance 获取
加载图像 ──IMAGE──▶                 ── get_model ──▶

Inputs that matter

  • 首帧图片 / 尾帧图片 (IMAGE) - two Load Image nodes, one per socket. The pack's 豆包首尾帧生视频工作流.json example is exactly this wiring.
  • 首帧图片链接 / 尾帧图片链接 - the text alternative (URL, local path, asset:// ID). IMAGE wins; use these when your frames live online.
  • 宽高比 - adaptive is the right default here; the README notes it keys off the first frame's proportions.
  • 提示词 - describe the transition ("镜头从首帧画面平滑过渡到尾帧画面") or make it purposeful: motion, camera moves, subject behavior between the two states.
  • 分辨率 / 时长(秒) / 生成音频 / 种子 / 水印 - the pack's shared set. First test at 480p and 5 seconds; that's the cheap way to see if the interpolation is believable before spending on a long 1080p pass.

Outputs

任务ID and 检索模型 - the standard two outputs, both into the fetch node. That's the entire return; the fetch node turns them into the MP4 that lands in output/doubao/.

Installing

Same as the rest of the pack - Manager, search comfyui-doubao-seedance (or 豆包 Seedance):

cd ComfyUI/custom_nodes
git clone https://github.com/YV919/comfyui

Then fully restart ComfyUI - node code loads at startup, a browser refresh won't do it. No extra pip packages (the pack only uses what ComfyUI ships) and no model downloads - there's nothing to download, the model lives in the cloud. A current ComfyUI build is required for the V3 node API this pack uses.

Common gotchas

  • "首尾帧生视频需要首帧/尾帧" - one of the two frames didn't make it in. Every end needs either a connected IMAGE or a filled URL field.
  • "首帧图片路径不存在" - a local path in the URL field that doesn't resolve. Check it, or wire IMAGE sockets instead. And remember the example workflows' Load Image nodes ship with a placeholder example.png - replace it before running.
  • 请填写 DMXAPI 的 api_key - both this node and the fetch node need the same sk-xxxxx key.
  • Sudden jumps instead of a smooth bridge - Seedance is good at this, but it's still a generation, not a morph. Seed (固定值) can help you get back to a pass you liked; -1 randomizes every run.
  • Cost reality check - the community's reaction to Seedance-in-ComfyUI pricing was blunt ("extremely expensive"). Two-image interpolation is still one billed job, so validate the transition at 480p before you commit to 1080p.
CategoryDMXAPI/豆包视频模型

Inputs (14)

NameTypeDefaultDescription
custom_modelSTRINGdoubao-seedance-2-0-260128默认 doubao-seedance-2-0-260128;如需用别的模型名可改此处
promptSTRING镜头从首帧画面平滑过渡到尾帧画面,自然流畅的运镜—
api_keySTRING—
base_urlSTRINGhttps://www.dmxapi.cn—
ratioCOMBOadaptive7 options: adaptive, 16:9, 4:3, 1:1, 3:4, 9:16, +1
resolutionCOMBO480p3 options: 480p, 720p, 1080p
durationINT54–15—
generate_audioBOOLEANtrue—
seedINT-1-1–4294967295—
watermarkBOOLEANfalse—
first_frameoptIMAGE首帧图片(IMAGE)。不接则用首帧图片链接
first_frame_urloptSTRING首帧图片 URL / 本地路径 / 素材ID;已接首帧图片时忽略
last_frameoptIMAGE尾帧图片(IMAGE)。不接则用尾帧图片链接
last_frame_urloptSTRING尾帧图片 URL / 本地路径 / 素材ID;已接尾帧图片时忽略

Outputs (2)

NameTypeDescription
任务IDSTRING—
检索模型STRING—