全景:视频生成的四步流水线
全景先破除一个误解:视频生成 ≠ 直接生成像素。所有这类模型(H3、Sora、Seedance 等都是)都走同一条四步流水线:
为什么不能直接在像素上生成?一段 10 秒 1080p 视频是几十亿个数字,Transformer 根本塞不下。所以要先压缩成「视频 token」——这就是 VAE(自编码器)干的活,可以类比成可学习的 JPEG:把视频压成紧凑的 latent 表示,之后还能解码回画面。[2]
分词器:H3-VAE 双件套
TokenizerH3 是音视频双通道压缩,视觉和音频各用一个 VAE。[2]
H3-VisualVAE — 视频的分词器
| 属性 | 规格 |
|---|---|
| 类型 | 时间因果视频自编码器(temporally causal) |
| 空间压缩 | 16×(进 Transformer 前再 patchify 1×2×2,等效 32×) |
| 时间压缩 | 4×(5 秒 120 帧 → 30 个 latent 帧) |
| 通道数 | 24 个 latent 通道(代号 f16t4d24) |
| 解码器 | 额外训练了一个 ViT 解码器,降低解码成本、提升重建质量 |
H3-AudioVAE — 音频的分词器
| 属性 | 规格 |
|---|---|
| 压缩率 | 32kHz 音频 → 每秒 40 个 latent token(每 25ms 一个) |
| 立体声 | 左右声道共用同一套编解码器,各通道独立处理再合并 |
| 设计目标 | 受 VA-VAE 启发,latent 空间同时优化「重建质量」和「易学性」 |
生成核心:33B Omni Transformer
Backbone这是真正的「大模型」部分。几个关键设计,都是围绕「任务通用化」而不是花哨结构。[2]
- 单流 dense Transformer(33B 参数):attention 层和 FFN 层完全不分模态——视频 token、音频 token、文本 token 混在一条序列里一起算。模态差异只存在于输入输出层和 AdaLN 分支。
- AdaLN 分支约 13B 参数:自适应 LayerNorm(类似 DiT 的做法)把条件信息注入每一层。工程上这 13B 的输出可以预计算缓存,推理部署时可以不加载——开源权重 33B,实际跑起来轻不少。
- MM-RoPE 三维位置编码:每个 token 带 (t, h, w) 三维坐标,注意力机制知道「谁在时间上相邻、谁在空间上相邻」。
- 借用现成理解模型:文本和视觉输入都用 Qwen3-VL-32B 的完整权重编码(取第 50 层 hidden states)。不重新训练理解能力,直接复用开源 VLM。
- 一个模型同时预测视频 + 音频 latent:音画天然同步,不是后期合成。
- 后期训练引入原生稀疏注意力:降低长序列计算成本(当前开源版本暂只提供全注意力推理)。
怎么训练的:举例说明
Training核心思想一句话:用语言统一一切任务。不再按任务分模型(文生视频一个、图生视频一个、编辑一个、配音一个……),而是把所有任务统一成「给定多模态上下文 + 自然语言指令 → 生成视频+音频」。
① 一个训练样本长什么样
用官方模型卡里 Ref2VA 的真实例子:[2]
但素材不能直接喂给生成模型。先有一个理解系统(H3-Context-IR)把它们翻译成结构化文字——模型卡里的真实输出长这样:[2]
subject_definitions: <Subject 1> 是穿粉色西装抱黑羊羔的男人,来自 <Video 1>...
retention_analysis: <Subject 1> 完全保留;<Audio 1> 部分复用;
<Audio 2> 作为音色参考
detailed_description: [Shot 1] 画面从 <Video 1> 开始,男人开口说话,
口型与台词同步,音色参考 <Audio 2> 的平静男声...
overall_soundscape: BGM 持续 + 台词叠在上面...
non_diegetic_music: 背景音乐沿用 <Audio 1>...
为什么非得翻译成文字?因为语言是「万能接口」——模型只需要学会一件事:读文字,出音画。视频编辑、图生视频、配音、运镜参考……全变成「一段描述」,不用为每个任务单独学一套输入格式。这就是官方说的 Contextual Omni Representation:语言是任务之间可泛化的桥梁。[1]
② 模型实际「看到」的数字
素材翻译成文字后,和目标视频一起被压成 token。算一笔账(目标视频 5 秒 720p):
③ 一次训练迭代(核心中的核心)
H3 属于扩散/流匹配家族。训练时模型从不直接看「最终视频」,它学的是「从带噪声的版本里把干净版本捞出来」。伪代码:
# 伪代码,每步 ≈ 真实训练逻辑 for batch in dataloader: # 1. 取样本:目标视频 latent + 文字描述 + 参考素材 x0 = visual_vae.encode(target_video) # [30, 920, 24] 真值 audio0 = audio_vae.encode(target_audio) # [200, C] 真值 text = tokenize(structured_description) # 文字条件 refs = encode(reference_videos_images) # 参考素材(Ref2VA) # 2. 随机选一个"噪声程度" t(0=干净, 1=纯噪声) t = random.uniform(0, 1) # 3. 把真值往噪声方向污染:真值 和 纯噪声 的插值 noise = randn_like(x0) x_t = (1 - t) * x0 + t * noise # 流匹配写法,扩散类似 # 4. 模型预测"去噪方向"(速度场 v) v_pred = omni_transformer(x_t, audio_noisy, t, text, refs) # 5. 损失:预测的恢复方向 vs 真实的恢复方向 v_true = x0 - noise loss = mse(v_pred, v_true) # 越小越好 # 6. 反向传播,更新权重(33B 参数一起动) loss.backward() optimizer.step()
程序员视角的三个要点:
- t 是随机的:同一个样本这次 10% 噪声、下次 90% 噪声,模型必须学会「任何污染程度下都能恢复」——这决定了生成时能从纯噪声一步步「退火」出视频。
- 音频视频一起训:同一个 loss 里同时有 video 和 audio 的项,学到的音画是同步的。
- 参考素材拼进序列:模型学的是「参考 → 迁移」,而不是死记硬背。
④ 三个阶段,练的东西不一样
阶段 A — 预训练(烧钱阶段)
数据:全网视频 + 语音识别字幕 + 自动 caption + 图文对 + 纯音频。一个 batch 里混着各种任务(文生视频、文生图、图生视频、首尾帧、参考编辑、配乐……),官方原话「混合比例是关键」——比例不对模型就偏科。这阶段结束,模型已经「什么都会一点」。
阶段 B — 指令微调(Context-IR 数据的功劳)
用理解系统把复杂真实任务批量翻译成结构化描述,做成高质量指令数据再训一轮。这就是 H3 指令遵循能力强的原因——它见过几百万个「粉西装抱羊羔」这种带完整关系描述的例子。官方数据:源素材约 100K token 的推理量,蒸馏成平均约 4K token 的中间表示。[1]
阶段 C — 蒸馏 + 加速(工程收尾)
CFG 蒸馏:扩散推理通常要算两遍(有条件 + 无条件)再外插;蒸馏 = 让模型直接模仿「两遍外插」的结果,推理只跑一遍。开源权重是 CFG-distilled 的,所以消费级显卡也能跑。[2] 同时引入稀疏注意力,长序列更省。
⑤ 训练基础设施:为什么需要「几百张卡」
一个样本 3 万 token、batch 上千个 → 单次前向就是几千万 token 的序列,单卡放不下。粗略算:33B 权重 BF16 = 66GB,加梯度 + Adam 优化器状态 ≈ 200GB+ 显存起;训练时用序列并行把长序列切成多卡(模型卡里的 --ulysses-degree 4 就是推理版的同思路)。另外理解任务(prompt 超长、生成短)和生成任务(prompt 短、生成长)负载差异大 → 官方把两类负载拆开、各自调优硬件利用率,端到端训练吞吐提升近 30%。[1]
≈ 估算同理。2K 不用超分,用「再生」
Regenerate-2K传统超分模型是「猜」细节——小字、纹理经常猜错。H3 的做法(H3-Regenerate-2K):把 768p 低清输出连同原始多模态上下文一起,再喂回 H3 自己,让它重新生成一遍 2K。[1]
两个好处:① 最大化复用基座模型已有的生成能力;② in-context 形式能重新参考原始素材,恢复传统超分只能「猜」的细节。官方也把这件事当作「任务通用化」的例证。目前该模块未开源,通过 API 提供。[2]
价格速查:按量付费
PricingH3 目前不支持视频资源包(官方文档明确标注 "not supported yet"),只能走按量付费或联系销售定制。以下为 2026-08-12 实时抓取的官方刊例价。[7][8]
中国区 · platform.minimaxi.com (人民币)
| 视频生成 2K | 0.80 元/秒 |
| 视频生成 768P | 0.50 元/秒 |
| 2K 再生 768P→2K | 0.30 元/秒 |
| 图片素材 | 前 5 张免费 / 0.20 元每张 |
| 视频素材 | 按输入时长:2K 0.80、768P 0.50 元/秒 |
| 音频素材 | 免费 |
| Context-IR | 输入 5.80 / 输出 23.00 元每 M tokens |
全球站 · platform.minimax.io (美元)
| 视频生成 2K | $0.13 / 秒 |
| 视频生成 768P | $0.08 / 秒 |
| 2K 再生 768P→2K | $0.05 / 秒 |
| 图片素材 | 前 5 张免费 / $0.04 每张 |
| 视频素材 | 按输入时长:2K $0.13、768P $0.08 / 秒 |
| 音频素材 | 免费 |
| Context-IR | 输入 $0.90 / 输出 $3.60 每 M tokens |
典型成本(中国区)
出处与可信度
Sources全部信息来自公开资料,按可信度分三级。查证建议:任何具体数字优先看 HuggingFace 模型卡(最详细),官方完整技术报告尚未发布(官方称 soon),发布后应以报告为准。