☰
如何快速上手Viggle-Animate:从下载到第一个换人视频的4步教程
2026/11/3 10:28:54 网站建设 项目流程

如何快速上手Viggle-Animate:从下载到第一个换人视频的4步教程

Viggle-Animate 是一款开源的AI 视频换人(角色替换)模型:你只需要一段"驱动视频"和一张在该视频画面中重绘好的单帧图片,它就能在 3 次前向传播内完成整段视频的角色替换——不需要姿态估计、分割掩码、人脸追踪或文本编码器。本文是一份面向新手的完整教程,带你用 4 步从下载权重走到生成第一个 AI 换人视频。

为什么选 Viggle-Animate:3 个核心亮点

在开始之前,先了解它为什么值得一试:

亮点说明
⚡ 极速基于 DMD 蒸馏,--steps 4即 3 次前向传播,单张 B200 显卡渲染 124 帧(约 5.2 秒)仅需26 秒
🎯 极简输入只有 2 个输入:驱动视频 + 一张重绘帧。没有中间表示,没有额外模型要跑
🎨 不限角色模型不知道"角色必须是人",动物、机器人甚至飞机都能换,画得出来就动得起来

核心原理:外观只来自你重绘的那一帧,几何动作只来自驱动视频,两者天然对齐,无需任何下游模块再做对齐。

4步快速上手总览

步骤内容预计耗时
第 1 步克隆仓库 + 下载基础模型依赖视带宽而定(权重较大)
第 2 步安装 Python 推理环境1~3 分钟
第 3 步准备驱动视频与重绘帧几分钟(需图像编辑工具)
第 4 步运行推理命令,输出换人视频权重加载约 21 秒 + 渲染约 26 秒/镜头

第 1 步:下载模型权重与基础模型依赖

Viggle-Animate 仓库只包含 transformer 权重和 LoRA,VAE、音频 VAE 与调度器需要来自基础模型MiniMaxAI/MiniMax-H3的本地副本。推理实际只占用其 269 GB 中的约11 GB,因此只需下载指定子集即可。

1)克隆本项目仓库:

git clone https://gitcode.com/hf_mirrors/Viggle/Viggle-Animate

2)下载基础模型所需的最小子集(--include中的assets/ref2va.mp4是演示脚本需要的样例视频):

hf download MiniMaxAI/MiniMax-H3 --local-dir ./MiniMax-H3 \ --include "modular_model_index.json" "vae/*" "audio_vae/*" \ "scheduler/*" "audio_scheduler/*" "assets/ref2va.mp4"

仓库里都有什么?

  • transformer/ —— 33.1 B 参数的 bf16 全量微调权重,共 14 个分片,是基础模型ref2vatransformer 的完整替换
  • lora/ —— rank 128 的 DMD2 蒸馏 LoRA(2.5 GB),正是它把采样器压缩到 3 次前向传播。⚠️ 注意:它必须加载在本仓库的微调权重上,加载到原版transformer_ref上会产生乱码
  • assets/fixed_embed_fwd_anyframe.pt —— 冻结的文本条件张量,推理时永远不会加载文本编码器,其内容对应可读的固定提示词 assets/fixed_prompt.txt
  • inference/sample.py —— 推理脚本(Apache 2.0 许可)

第 2 步:安装推理环境并确认显卡要求

环境依赖非常精简,一行命令装完:

pip install -r requirements.txt

requirements.txt 中包含 PyTorch、diffusers(固定到d6726f3这个经过验证的 commit,因为它比任何正式发布版都新)、transformers 与 av,无需任何 fork 或补丁。

🔥 显卡显存要求(重要):

显卡档位能否运行说明
≥ 96 GB 显存✅ 直接跑transformer 常驻 62 GiB,480×832 / 124 帧渲染峰值约 80.1 GiB
单张 80 GB❌ 不够峰值会超 80 GiB
小显存 / 消费级✅ 加--offload以 5 块为一组从 CPU 流式加载,常驻约 12 GB,但速度慢很多

如果显存不足,运行推理时加上--offload参数即可降级运行。

第 3 步:准备驱动视频与重绘帧

这是整条流水线中唯一需要"人工创作"的环节,也是出片质量的关键。

1)从驱动视频中抽出一帧(用你视频里角色正面、清晰、无遮挡的一帧,不必是第一帧):

ffmpeg -ss 1.5 -i driving.mp4 -frames:v 1 ref.png

2)在任意图像编辑工具中重绘这一帧:把原角色替换成新角色。官方推荐的工作流是直接把这一帧交给gpt-image一类的图像模型,用一句话描述替换内容——现代图像模型已经能做好姿态迁移、光影匹配和背景保留。

重绘帧的 3 个技巧:

  • ✅ 明确说出"改什么"和"绝不能改什么":姿态、手部、道具、构图、背景、光线
  • ✅ 新角色的新肢体(比如给角色画上翅膀)要"绑"到真实肢体上,替换才稳
  • ❌ 避免自动重构图的编辑器——它会和驱动视频的动作打架

输出分辨率会自动跟随驱动视频,注意两个边长都必须是32 的倍数。

第 4 步:运行推理,生成你的第一个换人视频

一切就绪,一行命令出片:

python inference/sample.py \ --model-dir ./MiniMax-H3 \ --cond driving.mp4 \ --ref ref.png \ --out swapped.mp4

参数解读(来自 inference/sample.py):

参数作用默认值
--cond驱动视频:提供动作、运镜、背景与光线必填
--ref重绘帧:决定"换进去的是谁"必填
--steps采样步数4(即 3 次前向传播)
--num-frames渲染帧数(24 fps,124 帧≈5.2 秒)124
--seed随机种子42
--audio锁定真实音轨,让嘴型跟对白同步不启用(静音)

🎬 关于嘴型同步(Lip-sync):默认配置下模型生成的音轨是静音,嘴型无话可说。如果驱动视频里有说话声,加一个参数即可让嘴型跟上真实对白:

python inference/sample.py \ --model-dir ./MiniMax-H3 \ --cond driving.mp4 --ref ref.png \ --audio driving.mp4 \ --out swapped.mp4

🧪 不想准备素材?先跑官方自检 Demo

examples/demo.sh 会用基础模型自带的ref2va.mp4构建驱动片段,配合仓库自带的重绘帧 examples/media/reference.png 端到端跑一遍完整替换,是验证 LoRA 是否正确加载的最快方式:

./examples/demo.sh ./MiniMax-H3

对比输出与仓库自带的 examples/media/output.mp4:结果应是"老妇人抱着小黑羊"。如果出片变成了原视频里的年轻男子,说明 LoRA 没加载;如果是噪声,说明权重有问题。

常见问题与使用建议

Q:能不能多调大一点--steps提升画质?不建议。--steps 4是蒸馏模型的工作点而非"偷懒设置"——蒸馏后的模型渲染比教师模型更锐利,提高步数反而会过度锐化。

Q:复杂场景效果如何?多角色同框、角色间近距离互动、以及带镜头切换的长镜头仍是难点,质量会有明显下降,官方表示正在训练更强的模型。

Q:为什么视频里"画出来但没画到位"的部分没被替换?模型只继承你重绘帧里包含的信息:画里没画的它不会补,画与视频冲突时以视频动作为准。外观来自重绘帧,但形体来自驱动姿态。

Q:许可协议要注意什么?权重适用 LICENSE(MiniMax H3 社区许可),改动清单见 MODIFICATIONS.md;inference/ 与 examples/ 代码为 Apache 2.0。再分发或用于商业产品前请先阅读许可条款。

📌 合规提醒:模型无法验证身份与授权,请勿在未获本人同意的素材上运行,并主动标注 AI 生成内容。

写在最后

到这里,你的第一个 Viggle-Animate 换人视频应该已经躺在swapped.mp4里了。它的核心体验可以总结为一句话:画一张帧,跑一行命令,等半分钟。从下载权重到出片,整个流程只有两个输入文件和一次推理调用,是"画什么、换什么"创作自由度与工程复杂度之间的一个极佳平衡点。动手试试吧!

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询