🎯 一句话总结:把声音和画面彻底拆开——MiniMax 负责声音克隆与 TTS,HeyGen 只用上传的音频驱动人像,Codex 负责预检、状态记录和付费闸门;永远先做 15 秒样片,人工确认后才生成完整版。


MiniMax、HeyGen和Codex数字人口播工作流

📌 整条链路怎么分工

这套方案适合知识口播、课程讲解、产品介绍、多语言内容、短视频批量生产和固定 IP 数字人账号。核心不是找一个工具包办全部工作,而是让每个组件只承担自己最稳定的部分:

组件负责什么不负责什么
MiniMax 海外版声音克隆、TTS、生成 MP3不负责最终人像画面
HeyGen人像驱动、口型、表情和动作不重新生成已经克隆好的声音
Codex Skill素材检查、流程调用、状态记录、风险控制不自动获得账号、额度或素材授权

完整生产链路固定为:

素材检查
→ MiniMax 生成配音
→ HeyGen 生成 15 秒样片
→ 人工确认
→ HeyGen 生成完整版
→ 下载并完整验片
→ 状态归档

实际步骤如下:

  1. 准备真人录音,用 MiniMax 海外版克隆声音;
  2. 把口播文案交给 MiniMax TTS,生成克隆音色的 MP3;
  3. 准备一张清晰、正面的授权人像;
  4. 把人像与 MiniMax 生成的 MP3 上传到 HeyGen;
  5. 先生成 15 秒样片;
  6. 检查声音、口型、脸部与构图;
  7. 得到明确确认后,才生成完整 1080p 视频。

最容易犯的错误是:声音已经由 MiniMax 克隆完成,却又让 HeyGen 重新配音。

如果目标是保留 MiniMax 的克隆音色,就要把 MiniMax 生成的音频上传到 HeyGen,并使用这个音频驱动画面。不要切回 HeyGen 的 script + voice_id 方案,否则原来的音色相似度会被覆盖。使用自有音频时,应选择 audio_asset_id 一类的输入路径。


⚙️ 模式、模型与成本怎么选

第一次做,建议先从 HeyGen Image-to-Video 开始。它不要求一上来就训练 Avatar,只需上传一张人像和一段音频,就能快速检查口型、表情、脸部稳定性与构图。

场景推荐方案
单条测试先用 Image-to-Video
固定账号长期生产验证通过后再做 Photo Avatar
尚未验证素材不急着训练 Avatar,测试阶段越轻越好
已有 MiniMax 配音上传音频,让 HeyGen 只驱动画面

单次 API 成本会随账户、套餐、时长和清晰度变化。历史测试中,一段约 2 分钟的视频可能消耗约 2 美元,但不要把这个数字写进自动化预算;大批量生成前,应重新检查 MiniMax 与 HeyGen 当日价格、余额和配额。

MiniMax 建议这样选:

  • 首次测试:用海外版 Voice Clone 克隆声音,再用 TTS 生成 MP3;
  • 追求质量:优先试 speech-2.8-hd
  • 追求速度与批量预览:先用 speech-2.8-turbo
  • 中文口型吃力时:先把语速控制在约 0.95–1.05,重新生成音频,再重跑视频;
  • 不要硬编码旧模型、价格或配额,生产前以官方文档为准。

MiniMax 流程使用的主要接口为:

/v1/files/upload   # 上传声音样本,获得 file_id
/v1/voice_clone    # 创建克隆音色,获得 voice_id
/v1/t2a_v2         # 使用克隆音色生成语音

如果你需要用 ChatGPT/Codex 整理脚本和编排流程,可查看本站的 ChatGPT 使用入口 。如果只是对比其他 AI 模型或视频 API,可参考 APIMart API 聚合平台 ;但本文的 MiniMax 与 HeyGen 参数仍应使用各自官方账号和文档,不要假设第三方接口完全兼容。


MiniMax声音与HeyGen人像素材预检参数

🎙️ 素材准备与硬参数

声音克隆效果差,很多时候不是模型不行,而是样本不干净。付费调用前先检查文件,不要让 API 帮你发现本地就能发现的问题。

MiniMax声音样本

参数要求
格式MP3、M4A 或 WAV
时长最少 10 秒,最多 5 分钟
文件大小不超过 20 MB
可选提示音频少于 8 秒,并提供完全对应的文字

实操更建议录制 30–90 秒

  • 单人说话;
  • 无背景音乐;
  • 无明显混响、电流声或环境噪声;
  • 音量稳定;
  • 语速接近日常口播;
  • 不使用过度降噪、变速或压缩严重的二手音频。

HeyGen人物图片

  • 使用 PNG 或 JPEG;
  • 正脸看镜头,五官无遮挡;
  • 露出头、肩和上半身,人物约占画面 50%–70%;
  • 嘴部清晰,不被头发、手或滤镜遮挡;
  • 竖屏短视频优先使用 9:16 或接近 9:16 的构图;
  • HeyGen 普通 Assets API 单文件上传上限通常为 32 MB;更大的文件应使用官方的大文件直传流程。

嘴部越清晰,口型越稳定;声音越干净,克隆越接近目标音色。脚本还要专门检查长句、品牌名、数字和英文缩写,必要时先做发音测试。


🗂️ Codex目录、安装与预检命令

每个项目都使用相同目录,避免输入、临时文件和成片混在一起:

project/
├── inputs/
│   ├── portrait.jpg
│   ├── voice-source.mp3
│   └── script.md
├── work/
│   ├── voiceover-full.mp3
│   ├── preview-15s.mp3
│   └── job-state.json
└── outputs/
    ├── preview-15s.mp4
    └── final-1080p.mp4

下载并解压数字人生产 Skill 后,把技能目录复制到 Codex skills 目录:

cp -R digital-human-production ~/.codex/skills/

API Key 只通过环境变量提供:

export MINIMAX_API_KEY="..."
export HEYGEN_API_KEY="..."

不要提交 .env 文件或真实密钥。第一次执行前,先创建状态文件并运行本地预检:

scripts/init_job_state.py \
  --project demo \
  --out work/job-state.json

scripts/preflight_assets.py \
  --script inputs/script.md \
  --portrait inputs/portrait.jpg \
  --voice inputs/voice-source.mp3

预检脚本应验证:

  • 文案文件存在,扩展名为 .md.txt
  • 人像是 .jpg.jpeg.png,且普通上传不超过 32 MB;
  • 声音是 .mp3.m4a.wav,不超过 20 MB;
  • 若本机有 ffprobe,继续检查声音是否在 10–300 秒范围内。

调用 Skill 时明确写出 $digital-human-production,以防付费工作流被隐式触发:

用 $digital-human-production 做这条视频,先只做 15 秒样片。

更完整的 Codex 指令可以直接使用:

请用 MiniMax 海外版声音克隆和 HeyGen API 制作数字人口播。

输入:
- 文案:inputs/script.md
- 人像:inputs/portrait.jpg
- 声音样本:inputs/voice-source.mp3
- MiniMax 密钥来自环境变量 MINIMAX_API_KEY
- HeyGen 密钥来自环境变量 HEYGEN_API_KEY

流程:
1. 先检查素材。
2. 先生成 15 秒样片。
3. 样片确认后再生成完整版。
4. 所有任务 ID 写入 work/job-state.json。
5. 不要在日志、脚本或文档中显示完整密钥。

🔄 状态文件、样片闸门与失败恢复

work/job-state.json 是防止重复扣费和丢失任务状态的关键。可以使用下面的结构:

{
  "project": "digital-human-demo",
  "created_at": "YYYY-MM-DD",
  "minimax": {
    "source_file_id": "redacted",
    "voice_id": "brand_person_yyyymmdd",
    "tts_model": "speech-2.8-hd",
    "full_audio": "work/voiceover-full.mp3",
    "preview_audio": "work/preview-15s.mp3"
  },
  "heygen": {
    "image_asset_id": "redacted",
    "preview_audio_asset_id": "redacted",
    "preview_video_id": "redacted",
    "full_audio_asset_id": "redacted",
    "full_video_id": "redacted"
  },
  "status": {
    "preview": "not_started",
    "approved_by_user": false,
    "final": "not_started"
  },
  "outputs": {
    "preview_video": "outputs/preview-15s.mp4",
    "final_video": null
  }
}

每个外部任务开始前和结束后都更新状态。若源文件未变,应复用已有的 voice_idasset_idvideo_id,不要无意义地重新克隆、上传或创建任务。

15秒样片必须检查

  • 声音是否接近授权说话人;
  • 中文口型是否跟得上;
  • 脸型、牙齿、嘴唇和下巴是否变形;
  • 眨眼、点头、肩部动作是否自然;
  • 人像构图是否适配目标平台;
  • 语速是否过快;
  • 开头与结尾有没有吞字或截断。

没有明确确认,就把 approved_by_user 保持为 false,不要生成完整版。确认后可使用:

Use $digital-human-production to continue from work/job-state.json.

The preview is approved. Generate the full 1080p version.

Requirements:
- Reuse existing voice_id and asset_id values when possible.
- Do not reclone the voice unless required.
- Download to outputs/final-1080p.mp4.
- Decode-check the full MP4.
- Update work/job-state.json.

失败时怎么处理

情况正确处理
API 返回明确 failed记录失败原因,重新付费生成前再次确认
轮询超时不等于失败,使用已有 video_id 继续查询
下载失败或 MP4 损坏先重试下载,不要直接新建视频任务
临时签名 URL 过期重新获取任务状态或素材信息
完整视频下载完成解码检查整段 MP4,不能只看文件大小或前几秒

批量模式下,每条视频建立独立状态记录,默认只生成预览,放入 outputs/previews/,再创建审核表。只有被明确批准的样片才能进入完整生产。


数字人口播生产的授权、付费和隐私安全边界

🔐 付费、密钥与授权边界

这类自动化不能只考虑“能不能生成”,还要管理肖像、声音、隐私、付费与发布责任。

  1. 先确认权利:声音、肖像、脚本和最终用途都必须由本人拥有或获得明确授权;疑似未经同意模仿真人时应停止。
  2. 付费动作需确认:MiniMax 克隆/TTS 与 HeyGen 视频创建都视为可能计费的外部操作;首次调用和失败重试前都要确认。
  3. 密钥只读环境变量:只读取 MINIMAX_API_KEYHEYGEN_API_KEY,不打印完整 Key、Authorization Header 或完整请求头。
  4. 状态文件不存秘密:可以保存任务 ID,但不能保存 API Key、Bearer Token 或临时签名下载链接。
  5. 不打包私密素材:公开发布 Skill 时,不包含 .env、真实声音样本、私人肖像、客户视频、真实任务状态文件与本机隐私路径。
  6. 遵守合成内容披露:发布前检查目标平台关于 AI 生成内容、广告、代言、肖像权、声音和生物信息的规则;不要把合成视频冒充成实时或本人现场录制。

建议项目 .gitignore 至少包含:

.env
.env.*
work/
outputs/
inputs/
*.mp3
*.wav
*.m4a
*.mp4
*.mov
*.jpg
*.jpeg
*.png
*.webp
job-state.json
*.log
.DS_Store

安装 Skill 不会自动提供 MiniMax、HeyGen、OpenAI、网络权限、付费额度、素材权利或法律许可。所有账号、密钥、账单与授权都需要使用者自行配置并承担责任。


❓ 常见问题

Q:为什么不直接让 HeyGen 根据文案配音?
A:因为目标音色来自 MiniMax 克隆。改用 HeyGen 的 script + voice_id 会切换声音路径,可能覆盖原来的克隆音色。应上传 MiniMax 音频并用 audio_asset_id 驱动画面。

Q:一定要训练 Photo Avatar 吗?
A:不一定。第一次先用 Image-to-Video 验证人像、声音、口型和构图;固定账号长期生产时,再考虑 Photo Avatar。

Q:为什么强制先做15秒?
A:完整视频属于更昂贵的外部生成。15 秒足够暴露音色、中文口型、面部变形、眨眼、肩部动作与构图问题,能显著减少重复扣费。

Q:轮询超时后能直接重提任务吗?
A:不能。超时不代表任务失败,应先用状态文件中的 video_id 续查,避免创建重复付费任务。

Q:声音样本越长越好吗?
A:不是。官方范围是 10 秒到 5 分钟;实操中,30–90 秒的干净单人录音通常比带噪声、音乐和混响的长录音更可靠。

Q:能用公众人物的声音和照片做视频吗?
A:只有在拥有明确授权且用途合规时才应制作。未经许可的身份模仿、误导性内容或规避平台披露都不在这套流程的安全边界内。

Q:生成完成后只看能否播放够吗?
A:不够。要解码检查完整 MP4,并审查整段声音、口型、脸部、动作、画面比例以及开头和结尾,确认没有中途损坏或截断。

API 字段、模型、价格、配额和服务可用性可能变化。编写生产代码或进行批量付费任务前,应再次核对 MiniMax 与 HeyGen 官方文档和账户页面。