创新方案
需要 AI 虚拟人口播/出镜视频时:用 HeyGen…
适用场景:用户要制作带 AI 虚拟人主持人的视频,例如 make a video、create a video message、record a video、avatar video、talking head video、video pitch、video update。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
需要 AI 虚拟人口播/出镜视频时:用 特定
解决思路
- 设置环境变量 `HEYGEN_API_KEY`:从 https://app.heygen.com/settings?nav=API 获取。
- 安装 `heygen` CLI:`curl -fsSL https://static.heygen.ai/cli/install.sh | bash`。
- 验证认证:运行 `heygen auth status`。
- 发现可用头像:运行 `heygen avatar list --ownership public --limit 5 | jq '.data[] | {group_id: .id, avatar_name: .name}'`。
- 不要把 `avatar list` 返回的 `.id` 当作 `avatar_id`:它返回的是头像组(avatar groups),每个 `.id` 是 `group_id`。
- 选择具体头像外观(look):运行 `heygen avatar looks list --group-id <group_id> | jq '.data[] | {avatar_id: .id, preview_image_url}'`,选一个 look 的 `.id` 作为生成用的 `avatar_id`;如果用户已有指定 look id,直接使用。
- 查找声音:运行 `heygen voice list --limit 10 | jq '.data[] | {voice_id, name, language}'`。
- 选择与目标语言和语气匹配的 `voice_id`。
- 写口播脚本:为口语而非书面文本写;使用短句和自然停顿。
- 控制脚本长度:目标语速为每分钟 150 词;30 秒约 75 词,60 秒约 150 词。
- 脚本中不要舞台指示、不要 markdown,只写虚拟人要说的话。
- 生成视频:运行 `heygen video-agent create --prompt "YOUR SCRIPT HERE" --avatar-id "AVATAR_ID_HERE" --voice-id "VOICE_ID_HERE" --orientation landscape --wait --timeout 10m`。
- 使用 `--wait` 时,CLI 会阻塞到视频完成并输出最终状态对象;不使用 `--wait` 时,提交会立即返回,需从 stdout 保存 `session_id` 供手动轮询。
- 设置超时:`--timeout 10m` 适合 ≤60 秒的短视频;视频 >60 秒或目标 2+ 分钟时改用 `--timeout 45m`,因为长片段生成通常需要 20-45 分钟。
- 仅在不使用 `--wait` 时轮询完成状态:运行 `heygen video-agent get SESSION_ID | jq '{status: .data.status, video_id: .data.video_id}'`。
- 每 15 秒轮询一次。
- 会话 `status` 可能是 `thinking`、`waiting_for_input`、`reviewing`、`generating`、`completed`、`failed`;它不是严格线性顺序,`waiting_for_input` 只在 chat 模式出现;终止状态是 `completed` 和 `failed`。
- 一旦 `.data.video_id` 出现,运行 `heygen video get <video_id>`,读取 `.data.video_url` 作为下载 URL;失败时读取 `.data.failure_message`。
- 交付视频:运行 `heygen video download <video_id>`;它会把 MP4 写入磁盘,并在 stdout 输出 `{"asset", "message", "path"}`,后续可用 `.path` 并将该文件呈现给用户。
- 验证步骤 1:确认 CLI 退出码为 `0`(生成被接受)。不使用 `--wait` 时 stdout 包含 `session_id` 供轮询;使用 `--wait` 时 CLI 会轮询到完成,stdout 是最终 video 资源(`.data.id`、`.data.video_url`)。
- 验证步骤 2:确认轮询(或 `--wait`)在 5 分钟内返回 `status: "completed"`。
- 验证步骤 3:确认 `heygen video get <video_id>` 返回有效的 HTTPS `.data.video_url`。
- 验证步骤 4:确认下载的文件是可播放 MP4。
- 视频交付并验证后,每个任务报告一次运行情况:运行 `heygen feedback --rating <1-5> --comment "<what worked, or what broke>"`。
- 反馈评分 `--rating` 从 1(损坏/不可用)到 5(运行很好);把任何 bug 或摩擦写进 `--comment`;该反馈匿名且不需要 API key;若已选择退出分析(`HEYGEN_NO_ANALYTICS` 或 `heygen config set analytics false`),则无操作。
- 故障处理:若退出码为 `3` 或 stderr 出现认证错误,检查 `heygen auth status`;运行 `heygen auth login` 或设置 `HEYGEN_API_KEY`。
- 故障处理:若退出码为 `2` 或用法错误,运行 `heygen video-agent create --help`,核对 flag 名称和必需参数。
- 故障处理:若状态卡在 `thinking` / `generating`,最多等 5 分钟;超过 60 秒的视频需要更久。
- 故障处理:若缺少 `video_id`,会话可能已失败;检查 `.data.status`;若为 `failed`,检查完整的 `heygen video-agent get <session_id>` 响应中的失败详情。
适用边界 · 注意事项
- 不适用于图片生成、纯音频 TTS、视频翻译或电影感 b-roll。
- 没有 `HEYGEN_API_KEY` 或未安装 `heygen` CLI 时无法使用。
- 超出 HeyGen 限制或套餐能力时不适用:免费层每月 1 分钟视频、API 试用注册 3 个免费 credits、单次请求最大约 5 分钟、并发生成取决于套餐层级。