Skip to content
←返回开源项目

OPEN SOURCE DEEP DIVE

视频生成音频生成Multimodal GenerationReference-to-Video

Pika H3 Flex:最多 12 路引用驱动的六步同步音视频生成

Pika Labs 在 MiniMax-H3 上开源的双适配器音视频生成工具,支持首尾帧和多模态引用,六步联合生成视频与立体声,并明确算力与许可证边界。

Pika-Labs/Pika-H3-Flex1.3kPythonNOASSERTION3 min read

一句话定位

Pika H3 Flex 是 Pika Labs 在 MiniMax-H3 上后训练并开源的一组音视频生成适配器。它没有把“生成画面”和“生成声音”拆成两个互不相干的阶段,而是在同一个扩散采样过程中联合生成视频与立体声音频;一次请求使用六次模型前向,再从共享的时间轴解码为 H.264 视频和 AAC 音频。

这个项目值得关注的地方不只是“文生视频”。它把专业创作中反复出现的两类控制都收进了同一套推理入口:第一类是首帧、尾帧或首尾帧,用来规定镜头从哪里开始、在哪里结束;第二类是有序的多模态引用,可以把人物、动作、镜头轨迹、环境、声音或完整源视频作为素材交给模型。前者由 FL2VA 承担,后者由 Ref2VA 承担。

开源权重与托管服务不是同一能力边界

阅读项目时最容易产生的误解,是把 Pika 托管 API 的规格直接当成开源包的规格。仓库明确区分了两层能力。下载到本地运行的权重原生支持 480p 和 768p,时长请求为 5 至 15 秒;Pika API 另外提供草稿升到 1080p、2K、4K 的服务,也提供音轨分离和提示词增强。这些托管功能没有随开放权重一起发布。

因此,本文讨论的对象是本地可运行的 FL2VA 与 Ref2VA 推理包,不是 Pika 商业 API 的完整产品面。开放权重也不意味着没有许可证限制。推理代码使用 Apache-2.0,两个适配器属于 MiniMax-H3 的模型衍生作品,必须遵守 MiniMax H3 Community License。适用地域排除欧盟、英国、韩国和美国,商业收入、界面标识、下游用户约束和禁止用于改进其他模型等条款也需要逐条核对。

两个适配器,两种控制方式

FL2VA 适合“给定镜头端点,让模型补出中间过程”的任务。只给文本时,它生成画面、对白、环境声与配乐;给首帧时,首帧定义开场状态;给尾帧时,模型反向组织动作;同时给首尾帧时,提示词要描述如何从第一张图连续过渡到最后一张图。官方提示词指南建议首尾帧之间优先保持单镜头,确有叙事需要时再明确切镜。

Ref2VA 适合引用生成、视频编辑和续写式创作。它最多接收 9 张图片、3 段视频和 3 段独立音频,文件总数不超过 12 个,并且至少要有图片或视频。输入顺序会被保留,提示词里用 <Picture N>、<Video N>、<Audio N> 和 <Subject N> 分别指向画面锚点、源视频、音频与要保留或转移的主体。视频自带的声音跟随视频引用,不会额外占用一个独立音频名额。

引用并不等于像素级复制。提示词把意图分成完全保留、局部保留、属性迁移和弱参考;音频还可以区分完整复制、片段复制、音色参考和氛围参考。视频续写同样只是提示词层的任务意图,当前命令行并没有单独的“无缝延长”模式。把这些标记理解成可控条件,而不是确定性的合成指令,才符合发布包的实现。

任务 入口 条件输入 典型用途
文本到音视频 t2va / FL2VA 一段 1 至 8,000 字符的提示词 多镜头叙事、运动图形、产品片、对白与环境声
首帧或尾帧条件 i2va, l2va / FL2VA 提示词加一张端点图 从既有构图开始,或让动作收束到指定画面
首尾帧条件 fl2va / FL2VA 提示词加首帧与尾帧 两个确定画面之间的连续动作与镜头设计
多模态引用 ref2va / Ref2VA 提示词加最多 9 图、3 视频、3 音频 角色与产品保持、动作迁移、视频编辑、声音参考

从引用到成片,实际经过哪几步

推理入口先解析任务、画幅、时长和引用规格,再从固定版本的模型仓库加载基座与适配器。适配器的格式版本、LoRA 秩与缩放系数、采样节点、视频和音频偏移、基座仓库及提交号都会被校验。任何一个契约字段不匹配,程序会在加载大模型之前直接停止,避免用错权重生成出一段看似成功、实际上不可复现的成片。

flowchart LR
  A["提示词与可选端点帧"] --> B["文本与视觉条件编码"]
  C["有序图片 / 视频 / 音频引用"] --> D["引用预检与媒体编码"]
  B --> E["FL2VA 或 Ref2VA 适配器"]
  D --> E
  E --> F["六次联合去噪前向"]
  F --> G["视频潜变量解码"]
  F --> H["音频潜变量解码"]
  G --> I["H.264 视频"]
  H --> J["32 kHz 立体声 AAC"]
  I --> K["MP4 + 生成元数据 JSON"]
  J --> K

具体实现中,文本与引用先经过 H3 的条件编码器,随后释放编码器以降低后续采样压力;Transformer 载入 CPU,注入适配器后整体移到 GPU,或者启用块级 CPU offload;采样结束后,视频 VAE 与音频 VAE 分别解码;最后写出 MP4,并用 PyAV 重新打开结果,检查画布、帧数、帧率、音频采样率和双声道是否符合请求。这个回读校验很重要,因为它验证的是编码后的实际文件,而不只是内存里的张量形状。

原生输出规格与帧网格

本地支持 480p、768p 两档,覆盖 21:9、16:9、3:2、4:3、5:4、1:1、4:5、3:4、2:3、9:16 和 9:21 共 11 种画幅。实际像素尺寸取发布包内的分辨率桶,并不是把短边写死后任意计算。输出固定为 24 fps、32 kHz 立体声,封装为 H.264/AAC MP4,并同时写一份 JSON,记录提示词、随机种子、适配器哈希、几何参数、引用顺序、采样峰值显存和分阶段耗时。

时长请求是整数 5 至 15 秒,但生成器使用 17n+5 的帧网格,所以实际长度会轻微上取整。5 秒请求得到 124 帧,约 5.17 秒;15 秒请求得到 362 帧,约 15.08 秒。阅读规格时不应把“请求 5 秒”误写成“严格输出 300 帧”。同样,画幅比例也不是自由裁切,最终尺寸由对应分辨率桶决定。

项目 开放本地推理规格 需要特别留意的边界
分辨率 480p / 768p,11 种画幅 1080p、2K、4K 只属于 Pika 托管 API
时长 请求 5 至 15 秒 按 17n+5 帧网格上取整
画面与声音 24 fps,32 kHz 立体声 MP4 内为 H.264 + AAC,不是分离交付
提示词 1 至 8,000 字符 文件按原文读取,本地推理不自动增强
引用 最多 9 图 + 3 视频 + 3 音频 总数不超过 12,且至少有图片或视频

六步并不等于通用六步欧拉

项目把“六步”作为核心卖点,但复现时必须使用适配器规定的采样契约。当前发布包固定六个去噪前向,节点为 1000、750、500、250、100、40、0,视频偏移为 12,音频偏移为 3,并在中间步骤重新注入噪声。代码把方法标为 renoise。拿常见的六步欧拉采样器替换它,即使步数相同,也不是同一个生成过程。

可复现性也有边界。固定种子能固定噪声序列,但官方明确说明不同注意力内核、设备、进程、offload 方式与库版本仍可能产生差异。因此,同一台机器、同一套锁定依赖和同一权重版本更接近逐次复现;跨硬件则只能期待语义接近,不能承诺逐像素一致。仓库里的创作样例本身也不是发布验证基准:种子、确切检查点与服务端预处理没有完整公开,所以它们展示的是创作能力,不能拿来计算吞吐或作为可精确重放的验收集。

样例展示的是创作方向,不是 benchmark

下面四张图来自仓库随附的创作样例。产品片样例把耳机、桃子、纯色棚拍背景和节拍剪辑压进连续镜头;动作迁移样例把角色设定图、环境图与真人动作视频拆成三种引用;青蛙乒乓球样例用长提示词描述俯拍、摇臂、甩镜和环绕;情景喜剧样例则测试多镜头、对白、观众笑声和道具动作的同步。它们覆盖了该模型最有代表性的创作表面。

Pika H3 Flex 产品片创作样例
产品片“感受低频”:提示词同时约束产品外观、纯色棚拍、九段镜头、硬切节奏和商业配乐。
Pika H3 Flex 动作迁移创作样例
唱片店舞蹈:角色图定义外形,环境图定义美术风格,视频只提供动作、时机与镜头运动。
Pika H3 Flex 镜头编排创作样例
青蛙乒乓球:15 秒提示词逐段指定镜头高度、摇臂、甩镜、环绕与后退轨道。
Pika H3 Flex 多镜头叙事创作样例
生日蛋糕失窃案:多个机位、角色对白、狗的动作、观众笑声和情景喜剧配乐在同一时间轴上生成。

硬件门槛比“六步”更值得先看

六次前向降低了采样步数,但没有把模型变成轻量工具。下载两个任务所需的基础组件约 210 GB,两个适配器约 5.5 GB,还要为 Python 依赖、下载暂存和输出留空间。每个请求只使用一张 GPU,多卡不会拆分同一次推理;多张空闲卡可以并行跑不同请求。

官方在 H100 80GB 上验证过一组代表配置。默认模式下,480p、5 秒采样的代表性显存分配约为 66 至 69 GiB;768p、5 秒和多数端点帧任务可通过。768p、15 秒在默认模式下超出 H100 显存,启用 Transformer 块级 CPU offload 后,采样显存约 29 至 32 GiB,但主机内存连同页缓存接近 94 GiB。这里的数字只覆盖采样阶段,文本编码器和两个 VAE 还有各自的内存需求,不能当成最低系统要求。

已验证或未验证项 发布包给出的证据 结论
480p / 5 秒文本生成 H100 80GB,默认模式,采样约 66 至 69 GiB 适合作为首轮资格验证
768p / 15 秒 H100 80GB + CPU offload,采样约 29 至 32 GiB 可跑,但需要接近 94 GiB 主机内存余量
图像、视频、音频混合引用 480p / 5 秒通过 不代表最大 12 路引用组合已通过显存验证
H200 / B300 没有针对该发布包完成资格验证 不能把基础架构相似当作已验证

视频与独立音频引用还各自受长度约束:每一段必须是 2 至 15 秒,视频总时长和独立音频总时长分别不能超过 15 秒。即使文件数量合法,所有引用同时拉满也可能超过显存。发布包接受某种输入组合,只说明参数校验允许,不说明任何硬件都能完成该组合。

最小运行路径

项目要求 Python 3.12、受支持的 NVIDIA 驱动和编译工具链。安装后先应用仓库固定的 Diffusers 补丁,再以无依赖方式安装本地包;直接安装依赖而不是应用补丁,可能得到与发布验证不同的注意力实现。首次运行会自动下载固定版本的 MiniMax-H3 基座和所选适配器,也可以通过本地快照覆盖,但本地覆盖被当成受信任输入,命令行不会重新校验全部基座分片。

python -m pip install -r requirements.txt
python tools/apply_diffusers_patches.py
python -m pip install --no-deps -e .

export MODEL_REPO=Pika-Labs/Pika-H3-Flex
export MODEL_REVISION=0ddf55ad7067ca1e76812253bd7b4600df87f759

pika-h3-pro \
  --task t2va \
  --prompt-file examples/prompts/t2va.txt \
  --model-repo "$MODEL_REPO" \
  --revision "$MODEL_REVISION" \
  --resolution 480p \
  --aspect 16:9 \
  --duration 5 \
  --seed 42 \
  --output outputs/sample.mp4

第一次跑通不要直接选最长、最高分辨率和最多引用。先用 480p、5 秒、单卡验证环境、下载、解码和编码链,再逐步增加画幅、时长和引用数量。出现显存不足时可以尝试 --cpu-offload,但要同时监控主机内存和块传输耗时;它不是把全部模型搬到 CPU,文本编码器与 VAE 仍在 GPU 上执行。

适合什么,不适合什么

它适合需要快速迭代镜头方案的专业创作流程:广告产品片、角色一致的动画、多镜头短叙事、动作与镜头迁移、带对白和环境声的社交视频,以及把已有素材重新组合成新片段。Ref2VA 的引用语义尤其适合在“主体、动作、环境、声音”之间明确分工,让创作者知道每个素材到底控制了什么。

它不适合把它当成已经验证过的通用世界模型、机器人控制模型或高精度视频编辑器。当前包没有专门的逐帧遮罩、关键点绑定、物理约束或确定性身份锁定;引用保持仍然是生成条件。最大引用数也不等于所有组合都经过硬件验证。涉及真实人物声音、版权素材和商业分发时,还要同时处理肖像、声音、训练数据、生成内容标识与许可证合规。

最准确的评价是:Pika H3 Flex 用一组明确的适配器,把首尾帧控制、多模态引用、联合音频和低步数采样放进了一个可审计的开源推理包。它把“能生成”推进到了“知道哪些素材在控制画面、动作和声音”,但算力门槛、地域许可和多模态引用组合的验证覆盖,仍然是部署前必须正视的边界。

相关开源项目

作为亚马逊联盟会员,我们可能从符合条件的购买中获得佣金。