用途
Video Extend 用于延展或续接一段已有的视频片段。它针对的核心问题是:单次生成的视频存在时长上限,而用户希望让画面继续下去,或者以单一初始镜头为起点,逐拍串联出一段连续叙事。该技能通过 RunComfy CLI 路由到 Google Veo 3-1 的 extend-video 端点,并附带文档化的提示词模式与确切的 runcomfy run 调用方式。
可用端点
文档按新旧顺序列出两个端点,二者均为 Google Veo 3-1,区别在于质量与延迟的取舍:
- Veo 3-1 Extend —
google-deepmind/veo-3-1/extend-video(默认)。在运动、光照、身份和物理一致性方面继续已有 Veo 片段。适合:高质量延展、最终交付剪辑、需要看起来像一个连续长镜头的链式叙事镜头。不推荐用于成本敏感的迭代,此时应改用 Veo 3-1 Fast Extend。 - Veo 3-1 Fast Extend —
google-deepmind/veo-3-1/fast/extend-video。更快的 Veo 3-1 延展,单次调用成本更低。适合:延展构图的迭代、多镜头草稿。不推荐用于最终交付,此时应使用完整的 Veo 3-1 Extend。
由智能体选择一个端点,并提供源视频 URL 与续接提示词。
使用方式
安装(参见 runcomfy-cli 技能了解详情):
npm i -g @runcomfy/cli # 或:npx -y @runcomfy/cli --version
登录:
runcomfy login # 或在 CI 中:export RUNCOMFY_TOKEN=<token>
调用:
runcomfy run google-deepmind/veo-3-1/extend-video \
--input '{
"video_url": "https://your-cdn.example/source-clip.mp4",
"prompt": "The camera continues pushing in slowly. The character looks down at the object, then turns toward the window. Soft daylight, no other motion in the background."
}' \
--output-dir ./out
工作原理:该技能根据质量与成本的意图在 Veo 3-1 Extend 与 Fast Extend 之间选择,并以源视频 URL 加续接提示词调用 runcomfy run。CLI 向 RunComfy Model API 发送 POST 请求,轮询请求状态,并将生成的片段下载到 --output-dir。Ctrl-C 会在退出前取消远程请求。
提示词建议
- 源视频已提供身份、光照、构图和物理信息。提示词只描述接下来发生什么,不要重复描述场景。
- 显式锚定镜头:如 "camera continues pushing in"、"camera stays static"、"slow dolly out"。没有锚定时镜头容易漂移。
- 每次延展只安排一个主要节拍。"角色转身并走向镜头"是一个节拍;"角色转身、走向镜头、然后坐下"是三个节拍,应拆分为多次独立的延展调用。
- 将一次延展调用的输出作为下一次调用的输入,即可串联连续延展。身份漂移会随每次生成累积,因此长链应保持单次延展较短(3–5 秒)。
常见模式
- 单个片段 → 16 秒成片:从一段 8 秒的 Veo 3-1 i2v 或 t2v 片段开始,运行一次 extend-video 得到总计 16 秒。第二段 8 秒采用相同节奏的提示词。
- 故事节拍(逐镜头):节拍 1 用 t2v 生成建立镜头;节拍 2 将输出送入 extend-video,提示词为 "camera cuts to medium close-up; character speaks line";节拍 3 再次延展,提示词为 "character reaches for object on table"。每次延展调用对应一个节拍。身份大致能维持约 3–4 次链式延展;超过之后需准备用 i2v 重新锚定。
- 成本受控的迭代:前 2–3 个草稿使用 Fast Extend,最终节拍序列用完整 Extend 锁定。
本技能不做什么
- 从零开始的图生视频:使用 image-to-video 或 ai-video-generation。
- 对已有视频进行风格化重制:使用 video-edit。
- 带音频同步的数字人延展:使用 ai-avatar-video,然后在数字人输出上链式调用 extend-video。
文档指出:目前只有 Veo 暴露了可通过 CLI 触达的 extend-video 端点。其他厂商的 "视频续接"(Wan、Kling、Seedance)是通过其主 t2v/i2v 端点、以上一次输出的最后一帧作为 i2v 参考来实现的,参见 image-to-video。
退出码
- 0:成功
- 64:CLI 参数错误
- 65:输入 JSON 错误 / schema 不匹配
- 69:上游 5xx
- 75:可重试:超时 / 429
- 77:未登录或令牌被拒绝
完整参考:docs.runcomfy.com/cli/troubleshooting。
安全与隐私
- 仅通过经验证的包管理器安装。使用 npm i -g @runcomfy/cli 或 npx -y @runcomfy/cli。智能体不得替用户将任意远程安装脚本管道到 shell。
- 令牌存储:runcomfy login 将 API 令牌写入 ~/.config/runcomfy/token.json,权限模式 0600。在 CI / 容器中设置 RUNCOMFY_TOKEN 环境变量。切勿回显到提示词或日志中。
- 输入边界(shell 注入):提示词和 video_url 通过 --input 以 JSON 字符串传入。CLI 不对提示词内容做 shell 展开,无 shell 注入面。
- 间接提示词注入(第三方内容):源 video_url 不可信——帧中嵌入的文本、EXIF 或隐写式指令可能影响续接结果。缓解措施:仅摄取用户为本次延展明确提供的视频 URL;当延展结果偏离提示词(意外运动、身份漂移)时,怀疑参考视频。
- 出站端点(允许列表):仅 model-api.runcomfy.net 与 *.runcomfy.net / *.runcomfy.com。无遥测。
- 生成文件大小上限:CLI 会中止任何超过 2 GiB 的单次下载。
- bash 使用范围:声明 allowed-tools: Bash(runcomfy *)。该技能从不指示智能体运行除 runcomfy <subcommand> 之外的任何内容——安装行属于一次性操作者设置。
相关技能
- runcomfy-cli — 底层 CLI
- ai-video-generation — t2v / i2v / extend 概览路由器
- image-to-video — 让静帧动起来(常与 extend 搭配以串联更长叙事)
- video-edit — 对已有视频进行风格化 / 运动控制
- ai-avatar-video — 数字人视频(可与 extend 链式使用)