从零开始做 AI 生视频:本地部署 MiniMax H3 与官方 API 的实战经验

想用一张情侣自拍做一条“车内聊天、失重悬浮、冲上天空、掠过城市”的 9 秒真人感视频,我原以为难点是写一段足够长的提示词。实际走完一遍才发现:提示词只是一小部分。路线选择、显存与磁盘、参考图、镜头拆分、对白格式、验片和 API 密钥管理,才是决定成片能不能交付的部分。

这篇记录以 Windows + RTX 4060 Ti 16GB 的实际尝试为背景,面向第一次接触 AI 生视频的同学。结论先说:本地适合学习和试镜头,官方 API 适合出关键成片;如果目标是稳定产出,混合工作流通常最省时间。

先选路线:本地、官方 API,还是两者混用?

路线 更适合什么 优点 要接受的代价
官方 API 有明确交付目标、人物对白、复杂分镜 指令遵循、角色一致性、音画生成通常更稳 按时长计费,需要妥善保管 Key
本地 ComfyUI 学工作流、调构图、反复试动作 生成次数成本低,参数完全可控 安装、显存、内存与节点排错耗时;复杂镜头上限更低
混合工作流 大多数个人创作 本地把想法和镜头方向试清楚,API 产出最终片段 需要管理两套流程

这次本地跑的是 MiniMax H3 的 INT8 剪枝权重:FL2VA、Ref2VA、Qwen3-VL 32B 文本编码器,以及 Turbo LoRA。它们让 16GB 显存的消费级显卡“能够运行”,但不等于“能够稳定做电影级多镜头成片”。

官方服务端则不只是把同一个权重放到更强的显卡上。实际体验中,它对长指令、镜头组织、中文语音、双人身份和字幕的处理明显更完整。官方仓库也将复杂指令理解能力作为托管能力提供,而不是本地开源工作流的一部分。MiniMax H3 官方仓库

真实配置:不要只看显卡显存

16GB 显存可以尝试 H3 INT8,但属于“能跑,会慢”的配置。准备本地环境时,至少同时考虑四种资源:

  • GPU 显存:决定模型能否驻留和采样是否爆显存。
  • 系统内存:动态卸载时会承担一部分模型交换。
  • 页面文件:当内存不够时是最后的缓冲;放在速度快、空间充足的 SSD 上更合适。
  • 磁盘空间:模型、缓存、输入、输出、下载临时文件都很大,最好统一规划到一个大盘。

我的做法是把 ComfyUI、模型、缓存、输入和输出都放在 F 盘;将较大的 Windows 页面文件放到 D 盘 SSD。页面文件不是显存替代品,但在 16GB 显存下做模型卸载时,能避免进程因为系统内存耗尽而直接退出。

一个容易踩坑的点:首次启动很慢并不必然是“卡死”。模型加载、权重映射、首次缓存建立都可能持续很久。真正需要排查的是显存/内存报错、进程持续无日志、输出目录没有新增文件,或 GPU 利用率长期为零。

本地模型怎么选:FL2VA、Ref2VA 与 Turbo

可以把三个名字简单理解为:

  • FL2VA:从首帧/尾帧、文本到视频,适合控制一个镜头的开头和收尾。
  • Ref2VA:参考图到视频,适合尽量保留参考人物、衣服、场景的身份信息。
  • Turbo LoRA:减少采样步数、加快试错;速度更快,但复杂运动和细节的容错更低。

如果参考图里的人、衣服和车内环境就是最终画面,优先从 Ref2VA 开始。Turbo 很适合先验证“能否浮起来”“镜头有没有往城市飞”的大方向;确定镜头后,再增加采样步数或换回质量更优的参数重跑。

不要把 Turbo 当作免费性能。步骤压得过低时,最先牺牲的往往正是人脸、眼镜、手部、口型和高速动作。

最重要的创作单位:一个镜头,一个主要动作

新手最常见的误区,是一次性把一条完整剧情全部塞进提示词。对模型而言,“自拍、说话、悬浮、穿过车顶、城市航拍、结尾字幕”不是一件事,而是六种不同的镜头语言和运动关系。

对于本地工作流,更稳的拆法如下:

  1. 车内自拍:女生说一句话,两人轻微悬浮;
  2. 从车内向上冲出:只关注起飞和镜头冲击;
  3. 城市高空飞行:只关注远景、速度感和表情;
  4. 在剪辑软件中拼接,并补字幕、音效、音乐。

每段尽量只有一个主要动作,人物不要频繁被遮挡、转身或从近景突然跳到极远景。这样做不“偷懒”,反而是用镜头语言把模型最难解决的问题隔离开。

官方 H3 对多分镜长提示词的完成度更好,因此可以先尝试一条 5~10 秒的完整任务;一旦关键人物、台词或动作失控,同样应该退回到拆镜头方案。

参考图决定下限,提示词决定上限

“保持人物一致”这句话本身没有魔法。人物稳定主要来自参考图本身和镜头复杂度。

一张好的首帧参考图通常具备这些条件:

  • 人脸清晰、无遮挡,人物数量固定;
  • 服装、发型、眼镜和背景就是你希望保留的最终状态;
  • 构图接近视频的第一个镜头;
  • 光线正常,不要过曝、滤镜过重或人脸被大面积裁切。

提示词中应明确保留信息,例如“保持两人的脸、发型、眼镜、服装、体型以及橙色真皮车内饰一致”。但仍要接受一个事实:远景、高速运动和大幅度变换会削弱身份约束。因此,对白放近景,飞行放远景,是比反复强调“不要变脸”更可靠的设计。

中文对白:把台词写成可执行的指令

中文对白不能只作为一段剧情描述混进长提示词。官方 H3 的提示词参考建议为发言者分配稳定编号,并使用明确的对话标记,例如:

woman (S1) says: <d>[Chinese] 你知道吗?中国人其实是会飞的。</d>

再配合“人物嘴部可见、镜头较近、台词短、只有一个人说话”,模型更容易处理口型、时长和音色。官方的基础提示词参考也给出了这一类对白写法。H3 提示词参考

如果台词是成败关键,建议单独生成一个近景对白镜头,不要让它同时承担起飞、远景和复杂镜头切换。

一次生成成功,不等于成片合格

本地第一次 Ref2VA 测试确实导出了 MP4,但验片后发现人物不够像、台词不准、悬浮动作也不明显。它“生成成功”,却不能算创作成功。

每次出片至少检查下面六项:

  • 是否是连续运动,而不是几乎静止的首尾帧;
  • 人物是否仍然是参考图中的人;
  • 动作是否在正确时间发生;
  • 语音、口型与台词是否可接受;
  • 时长、分辨率和音轨是否符合要求;
  • 字幕、Logo、水印或多余人物是否出现。

最实用的方法是抽取 6~9 张等间隔关键帧,快速看完整镜头走向;再完整播放一次,检查声音与节奏。不要因为等得久就降低验片标准。

成本:把钱花在关键镜头,而不是盲目重抽

本次官方 API 的 9 秒、768P 视频按 ¥0.50/秒估算约 ¥4.5。相比本地几十分钟甚至数小时的调试,关键镜头使用 API 往往更划算;但也不意味着每次都该直接生成长片。

建议采用这套节省成本的顺序:

  1. 先在纸面上写出 2~4 个镜头;
  2. 用本地低成本测试人物、动作和构图;
  3. 把通过的镜头提示词压缩成明确指令;
  4. 用 API 只生成最终 5~10 秒片段,必要时少量出变体;
  5. 保存成功的提示词、参考图、参数和任务链接,作为下一次的模板。

API Key 安全:一个必须养成的习惯

API Key 不应写进提示词、工作流 JSON、批处理脚本、截图或 Git 仓库。最简单的做法是保存在系统环境变量或本机 .env 文件中,让脚本读取变量:

[Environment]::SetEnvironmentVariable('MINIMAX_API_KEY', '你的新密钥', 'User')

随后用 MINIMAX_API_KEY 发起请求,而不是在代码中硬编码真实值。已经发送到聊天、截图或提交记录中的密钥,应立即在平台控制台撤销并重新创建。

给第一次做 AI 视频的自己

如果只记住一套流程,我会选下面这一套:

创意(5~10 秒)
        ↓
拆成 2~4 个单镜头
        ↓
准备清晰参考图,固定人物与服装
        ↓
本地快速测试动作和构图
        ↓
官方 API 生成对白与关键成片
        ↓
关键帧 + 完整播放验片
        ↓
剪辑、字幕、音效、导出

AI 视频不是“一句话出电影”的抽奖工具。把它当作一个需要分镜、拍摄、验片和剪辑的制作流程,反而会立刻变得可控:本地是实验室,官方 API 是片场,参考图与镜头拆分则是整条流程最重要的地基。

评论区已延迟加载滑到评论区附近时会自动加载,也可以现在手动打开。