mcpField
I
image-to-video

image-to-video

github.com/doany-ai创意与媒体5274.1k 次安装23 周前更新
代码仓库

关于 image-to-video

image-to-video 是 RunComfy 的图像转视频技能,根据创作意图选择模型,并通过 RunComfy CLI 提交生成任务。适用于需要肖像动画、自定义配音口型同步或多模态参考合成的场景。

主要功能

  1. 01按意图选择视频模型
  2. 02支持图像转视频动画
  3. 03Wan 2.7 自定义音频口型同步
  4. 04Seedance 多模态参考合成
  5. 05通过 CLI 获取生成结果

适用场景

  1. 01为肖像或产品图添加动态效果
  2. 02将自定义配音同步到人物口型
  3. 03结合图像、参考视频和音频制作片段

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/doany-ai/skills --skill image-to-video

安装后在 Claude Code 中输入/image-to-video确认已加载。

详细介绍

图像转视频 — RunComfy 专业版

runcomfy.com · HappyHorse I2V · Wan 2.7 · Seedance 2.0 Pro · GitHub

意图路由的图像转视频。 这项技能不会将你限定在某个模型上,而是根据用户的实际需求,从 RunComfy 目录中选择合适的 i2v 模型:人像动画、自定义配音口型同步,或多模态合成。

npx skills add agentspace-so/runcomfy-skills --skill image-to-video -g

根据用户意图选择合适的模型

用户意图模型原因
为人像制作动画 — 保持身份稳定HappyHorse 1.0 I2VArtificial Analysis Arena 排名第 1(Elo 1392);面部保真度高
产品展示 / 360 度旋转 / 微距运动HappyHorse 1.0 I2V保持几何形状 + 平滑的镜头运动
一次生成原生同步环境音频HappyHorse 1.0 I2V在生成过程中合成音频
制作动画并与自定义配音音轨进行口型同步Wan 2.7 + audio_url接受你自己的 MP3/WAV(3–30 秒,≤15MB),并据此驱动口型同步
多语言配音版本(同一图像,每次调用使用不同音频)Wan 2.7 + audio_url使用同一镜头,每种语言替换对应的 audio_url
多模态 — 同时使用图像 + 参考视频 + 参考音频Seedance 2.0 Pro最多支持 9 张参考图、3 段参考视频(每段 2–15 秒)、3 段参考音频
保持品牌一致性的叙事,包含角色参考 + 场景参考 + 声音参考Seedance 2.0 Pro图像保持身份,视频保持场景,音频保持声音
未指定时的默认选项HappyHorse 1.0 I2V综合品质最佳 + 原生音频

Agent 会读取此表,对用户意图进行分类,并选择下方对应的小节。

先决条件

  1. RunComfy CLI — npm i -g @runcomfy/cli
  2. RunComfy 账户 — runcomfy login 会打开浏览器设备代码验证流程。
  3. CI / 容器 — 设置 RUNCOMFY_TOKEN=<token>。
  4. 源图像 URL — JPEG/PNG/WebP,最小 300px,≤10MB;宽高比为 1:2.5 到 2.5:1(HappyHorse)——其他模型的规格也类似。

路由 1:HappyHorse 1.0 I2V — 人像 / 产品 / 通用动画的默认选项

模型:happyhorse/happyhorse-1-0/image-to-video · 竞技场排名:第 1(Elo 1392)

参数规范
字段类型必填默认值说明
image_urlstring是—JPEG/JPG/PNG/WEBP。最小 300px。宽高比 1:2.5–2.5:1。≤10MB。
promptstring是—≤5000 个非 CJK 字符或 2500 个 CJK 字符。描述运动 / 镜头 / 光线。
resolutionenum否1080P720P 或 1080P。
durationint否53–15 秒。
seedint否0可复用以比较不同版本。
watermarkbool否true提供商水印开关。

输出宽高比 = 输入宽高比。不支持独立重新取景。

调用
runcomfy run happyhorse/happyhorse-1-0/image-to-video \
  --input '{
    "image_url": "https://.../portrait.jpg",
    "prompt": "Gentle camera drift around the subject'\''s face, subtle breathing motion, identity-stable features, soft natural light."
  }' \
  --output-dir <absolute/path>
提示词技巧
  • 以运动动词开头: “漂移”、“推近”、“环绕”、“上仰”、“显现”、“眨眼”、“呼吸”。优先说明正在运动的对象。
  • 不要重复描述图像 — 模型能看到图像。将提示词重点放在发生变化的内容上。
  • 明确说明保留要求:“身份特征保持稳定”、“包装保持不变”、“背景几何结构保持稳定”。
  • 描述光线变化:“轮廓光逐渐增强”、“镜头升高时阴影逐渐缩短”。
  • 每段片段只安排一个节拍 — 只包含一个主要运动(环绕或推近或倾斜或角色动作)。

路线 2:Wan 2.7 + audio_url — 用户有自定义配音时

模型:wan-ai/wan-2-7/text-to-video(不是 /image-to-video——Wan 2.7 的 t2v 端点接受用于驱动口型同步的 audio_url)

关于使用 Wan 2.7 进行 i2v 的说明:此处没有专用端点用于 Wan 2.7 的主要 i2v 动画。对于纯 i2v(仅由运动提示词驱动的图像动画),优先选择 HappyHorse i2v。仅当用户有自定义音轨,并希望将其与生成的谈话人头部片段进行口型同步时,才使用 Wan 2.7。

Schema(带音频的 Wan 2.7 t2v)
字段类型必填默认值说明
promptstring是—最多约 5000 个字符。描述谈话人头部镜头:构图、光线、运动。
audio_urlstring是(用于口型同步)—WAV/MP3,3–30 秒,≤15MB。用于驱动口型同步。
aspect_ratioenum否16:916:9、9:16、1:1、4:3、3:4。
resolutionenum否1080p720p 或 1080p。
durationenum否52–15(整秒)。与音频时长匹配。
negative_promptstring否—具体说明要避免的问题(例如“无字幕、无闪烁”)。
seedint否—用于复现结果。
调用
runcomfy run wan-ai/wan-2-7/text-to-video \
  --input '{
    "prompt": "Medium close-up of a confident spokesperson in a softly-lit recording booth, leaning slightly toward the camera, locked tripod, shallow DOF, warm key light from camera-left.",
    "audio_url": "https://.../voiceover-en.mp3",
    "duration": 12,
    "aspect_ratio": "9:16"
  }' \
  --output-dir <absolute/path>
提示词技巧
  • 描述谈话人头部镜头——构图、光线、镜头质感。音频驱动口型同步;提示词则构建与之匹配的视觉画面。
  • 让 duration 与音频时长匹配——如果片段太长,音频结束后画面会静音。
  • 用 negative_prompt 指定要避免的问题:"no subtitles, no flicker, no distorted hands"。
  • 制作多语言配音——提示词保持不变,每次调用时替换 audio_url。锁定 seed,确保不同语言版本的画面一致。

路线 3:Seedance 2.0 Pro — 多模态动画(图像 + 参考视频 + 参考音频)

模型:bytedance/seedance-v2/pro

当用户希望生成一个片段,同时结合主体图像、参考视频中的场景和参考音频中的语气时使用。

Schema(Seedance 2.0 Pro 中与 i2v 相关的字段)
字段类型必填默认值说明
promptstring是—中文 ≤500 字,或英文 ≤1000 词。
image_urlarray是(用于 i2v)[]0–9 张图像。第一张是主要主体。
video_urlarray否[]0–3 个参考片段(MP4/MOV),每个 2–15 秒。
audio_urlarray否[]0–3 段参考音频(WAV/MP3),每段 2–15 秒、< 15MB。
aspect_ratioenum否adaptiveadaptive、16:9、9:16、4:3、3:4、1:1、21:9。
durationint否54–15(整秒)。
resolutionenum否720p480p 或 720p。
generate_audiobool否true在生成过程中同步生成语音、音效或音乐。
seedint否—用于复现结果。
调用
runcomfy run bytedance/seedance-v2/pro \
  --input '{
    "prompt": "Subject from image 1 walks through the café in video 1, voice tone matches audio 1. Medium close-up, slow push-in, warm light, gentle ambience.",
    "image_url": ["https://.../subject.jpg"],
    "video_url": ["https://.../cafe-locked-shot.mp4"],
    "audio_url": ["https://.../voice-tone.mp3"],
    "duration": 8
  }' \
  --output-dir <absolute/path>
提示词技巧
  • 区分图像与文本的作用——对于必须保持稳定的内容(面部、服装、品牌),使用 image_url;对于需要变化的内容(动作、情绪、光线),使用 prompt。
  • 在提示词中为参考素材编号:"subject from image 1, lighting from video 1, voice from audio 1"。Seedance 会正确匹配这些提示信息。
  • 参考媒体规格——视频和音频时长必须为 2–15 秒;音频 < 15MB。
  • 不要混用风格差异极大的素材——如果图像 1 是水彩风格,而视频 1 是写实风格,输出效果会发生偏移。

限制

  • 每条路线都受其模型限制约束。 HappyHorse:最长 15 秒,输出宽高比与输入一致。Wan 2.7:最长 15 秒,音频 3–30 秒/15MB。此模板中的 Seedance:最高 720p,最长 15 秒。
  • 不支持混合多条路线。 此技能每次调用只选择一个模型。如果用户希望在同一片段中结合 HappyHorse 动画和 Wan 风格的口型同步,需要调用两次并拼接(不在此处讨论范围内)。
  • 品牌特定的覆盖规则——如果用户指定了此处未列出的特定模型变体(例如 Wan 2.6、Seedance 1.5),请改用对应的品牌技能(wan-2-7、seedance-v2),而不是强行通过此技能处理。

退出代码

code含义
0成功
64CLI 参数错误
65输入 JSON 错误 / 架构不匹配
69上游 5xx
75可重试:超时 / 429
77未登录或令牌被拒绝

完整参考:docs.runcomfy.com/cli/troubleshooting。

工作原理

该技能会根据用户意图选择 HappyHorse 1.0 I2V / Wan 2.7 t2v+audio / Seedance 2.0 Pro 之一,并使用对应的 JSON 请求体调用 runcomfy run <model_id>。CLI 会向 Model API 发送 POST 请求、轮询请求状态、获取结果,并将任何 .runcomfy.net/.runcomfy.com URL 下载到 --output-dir。Ctrl-C 会在退出前取消远程请求。

安全与隐私

  • 令牌存储:runcomfy login 会将 API 令牌写入 ~/.config/runcomfy/token.json,权限模式为 0600(仅所有者可读写)。在 CI / 容器中设置 RUNCOMFY_TOKEN 环境变量即可完全跳过该文件。
  • 输入边界:用户提示词会作为 JSON 字符串通过 --input 传递给 CLI。CLI 不会对提示词进行 shell 展开,而是直接通过 HTTPS 将 JSON 请求体发送到 Model API。提示词内容不会造成 shell 注入风险。
  • 第三方内容:你提供的图像 / 蒙版 / 视频 URL 由 RunComfy 模型服务获取,而不是由你本机上的 CLI 获取。请将外部 URL 视为不可信;基于图像的提示词注入是任何图像编辑 / 视频编辑模型都已知的风险。
  • 出站端点:仅使用 model-api.runcomfy.net(提交请求)和 *.runcomfy.net / *.runcomfy.com(生成结果的下载白名单)。没有遥测,也没有回调。
  • 生成文件大小上限:CLI 会中止任何大于 2 GiB 的单个下载,以防恶意或失控的模型输出占满磁盘。

评论

支持 Markdown