Seedance 2.0 - 视频扩展是一个ComfyUI工作流,可通过生成后续帧并裁剪到最无缝的衔接点,实现输入视频的自然延续。流程包括LoadVideo和GetVideoComponents节点导入源视频,提取帧、帧率和音频,然后将后续描述提示词输入Seedance 2.0生成器(ByteDance2ReferenceNode)。提示词描述输入视频最后一帧之后发生的内容,模型据此预测并生成新帧。PrimitiveStringMultiline和StringConcatenate节点用于组装最终的条件文本。
由于模型生成的续帧与原视频最后一帧难以完全匹配,工作流内置自动剪切辅助。Preview Images Difference节点(f1f7c973-e50b-4ec7-84c5-0ef2eef1fc84)对比每一生成帧与原视频最后一帧的色差,最暗的预览即为视觉最接近的帧。你可选择该索引,并用ImageFromBatch+节点从该帧开始裁剪生成帧,随后通过BatchImagesNode将原帧与裁剪后的续帧拼接。CreateVideo按原帧率重建新视频,AudioConcat根据需要保留或拼接音频,SaveVideo导出最终扩展视频。PreviewImage节点可快速预览原视频最后一帧和候选匹配帧,便于渲染前确认。
API
通过代码使用此工作流
每个 Comfy 工作流都是一个 JSON 图。下面的内容就是此工作流的完整数据,ComfyUI 运行时也是如此——你可以从该 URL 获取、放入版本控制,或在 ComfyUI 中加载并逐节点运行。
使用 Comfy SDK 从 TypeScript 或 Python 运行。相同代码可用于 Comfy Cloud 或你自托管的 ComfyUI——只需更改基础 URL。
// Install (beta)
npm i @comfyorg/sdk
// Run this workflow (TypeScript)
import { Comfy } from "@comfyorg/sdk";
const client = new Comfy({ apiKey: "comfyui-..." });
const wf = await client.workflows.fromFile("workflow_api.json");
const job = await client.run(wf);
await job.getOutputs("<output-node-id>")[0].toFile("output.png");SDK 需要 API 格式的工作流:在 ComfyUI 中打开此工作流,使用 文件 → 导出工作流(API)。
常见问题














