VYBE Image-to-Motion
I = node <this skill>/scripts/i2m.mjs。可独立运行,也可作为 /vybe 的阶段 4-5(此时合成目录为 VYBE 项目的 composition/)。
诚实规则
程序化运动围绕原始像素移动相机、图层、光线和粒子。它无法让人物行走、微笑或转头,无法让水流动,也无法展示物体的背面。切勿将程序化输出描述为“人物行走”或“逼真运动”。如果请求需要像素级运动且未运行任何 AI 提供商,请如实说明,并将摄像机运动版本原样交付。AI 片段带有 .provenance.json 文件,且始终标记为 AI 生成。
1 · 分析
I analyze <image> # 尺寸、宽高比 → 建议格式、色调键值、调色板
然后通过视觉分析图像,并编写 sources/image-analysis.md:主要主体及其边界、前景/中景/背景、透视与地平线、光照方向、可能移动的区域、人脸(必须保持身份特征)。
2 · 规划并选择方法
I classify "<用户运动请求>" [--method programmatic|ai]
I providers # 检查哪些 AI 提供商已配置(仅检查存在性)
| 请求涉及 | 方法 |
|---|---|
| 推拉、推进、拉出、平移、轨道感、视差、深度 | programmatic |
| 粒子、灰尘、雪、雨、雾、光扫、发光、光晕 | programmatic |
| 背景漂移而主体稳定 | programmatic(图层) |
| 分离物体的轻柔浮动/摇摆 | programmatic(图层,subjectSway) |
| 人/动物运动、面部表情、手势 | AI |
| 头发/布料/树叶/火焰运动、水流/烟雾流动 | AI |
| 变形(融化、绽放、爆炸)、360° 旋转 | AI |
用户显式指定的 --method 始终优先。混合方案(AI 片段 + 程序化叠加和摄像机)通常最佳:先生成有机运动,然后在 HyperFrames 中添加 VYBE 摄像机、灯光、文字和声音。
编写 sources/motion-plan.md:摄像机运动、物体/背景运动、灯光、粒子、时长、强度、方法及原因,以及哪些部分不会移动。
3a · 程序化
I scaffold --image <img> --prompt "<request>" --composition <dir> [--mode layers|depth] [--format f] [--duration s]
cd <dir> && npx hyperframes check && npx hyperframes snapshot --frames 5 -o ../previews/i2m
- layers(默认):
npx hyperframes remove-background将主体和背景板分离;主体空缺处用模糊副本填充;背景板、雾、主体、粒子和光线以深度缩放视差移动。最适合有明显主体的图像。 - depth:Three.js 着色器根据深度贴图(主体遮罩 + 地面渐变)位移图像,模拟虚拟摄像机移动——实现全画幅的真实 2.5D 视差。最适合风景、室内、无单一主体的场景。对于面部图像,请保持
intensity≤ 1(过强偏移会扭曲面部)。 - 通过
index.html中的#i2m-configJSON 调整(摄像机:push · pull · pan-left · pan-right · rise · orbit;强度 0.5–1.5;效果:particles · snow · rain · fog · light-sweep;subjectSway)。 - 如果无法进行抠图(移除功能不可用),则退化为单层运动——请报告。
3b · AI 图像转视频
I generate --provider <p> --image <img> --prompt "<运动提示>" --out sources/clip.mp4 --duration 5 --aspect 16:9 --dry-run # 检查请求(密钥已屏蔽)
I generate --provider <p> --image <img> --prompt "<运动提示>" --out sources/clip.mp4 --duration 5 --aspect 16:9
I compose --clip sources/clip.mp4 --composition <dir> [--title "…"]
| 提供商 | 模型 | 说明 |
|---|---|---|
runway | gen4.5(默认)、gen4_turbo、veo3.1、veo3.1_fast、kling3.0_pro、kling3.0_standard | 一个密钥连接 Runway、Google Veo 3.1 和 Kling 3.0;时长 2–10 秒(Veo 4/6/8 秒,Kling 3–15 秒) |
luma | ray-3.2 | 5 秒,支持起始帧;优先使用公开 --image-url,小文件可使用内联数据 |
gemini | gemini-omni-1.1-flash | Interactions API,16:9 或 9:16;Veo 3.1 预览模型已于 2026-10-22 退役 |
kling | kling-v2-1(直接) | 实验性适配器(基于次要文档的端点);优先使用 runway + kling3.0_pro |
运动提示应像镜头描述:主体 + 动作 + 摄像机 + 氛围 + “保持主体身份和构图”。生成需要付费:除非用户明确要求 AI 运动,否则在代理发起付费调用前需征得用户确认。对于失败的付费生成,未经询问最多重试一次。错误(认证、配额、内容审核、超时)应原样报告。
详细信息、来源和注意事项:references/providers.md。
4 · 交付
合成目录将接受标准的 VYBE 处理:vybe audio(音乐/音效/语音;标记已存在)、vybe render、vybe qc、vybe finalize。独立模式:在合成目录中运行 npx hyperframes render --output out.mp4。保留源图像、图层、深度贴图、i2m-plan.json 以及任何 .provenance.json 文件。