name: 说话人头像制作 description: “使用AI头像、嘴唇同步和配音制作说话人头像视频。涵盖肖像要求、音频质量、OmniHuman、PixVerse嘴唇同步、Dia TTS。适用于:发言人视频、课程内容、社交媒体、演示、演示文稿。触发词:说话头、头像视频、嘴唇同步、嘴唇同步、AI发言人、虚拟主持人、AI主持人、omnihuman、说话头像、视频主持人、AI说话头、主持人视频、AI面部视频” allowed-tools: Bash(infsh *)
说话人头像制作
通过 inference.sh CLI 创建带有AI头像和嘴唇同步的说话人头像视频。
快速开始
curl -fsSL https://cli.inference.sh | sh && infsh login
# 生成对话音频
infsh app run falai/dia-tts --input '{
"prompt": "[S1] 欢迎来到我们的产品导览。今天我将展示三个每周能为您节省数小时的功能。"
}'
# 使用OmniHuman创建说话人头像视频
infsh app run bytedance/omnihuman-1-5 --input '{
"image": "path/to/portrait.png",
"audio": "path/to/dialogue.mp3"
}'
安装说明: 安装脚本 仅检测您的操作系统/架构,从
dist.inference.sh下载匹配的二进制文件,并验证其SHA-256校验和。无需提升权限或后台进程。手动安装和验证 可用。
肖像要求
源肖像图像至关重要。差劲的肖像 = 差劲的视频输出。
必须拥有
| 要求 | 原因 | 规格 |
|---|---|---|
| 居中取景 | 头像需要脸部在可预测位置 | 脸部居中在帧内 |
| 头部和肩膀 | 身体可见以自然手势 | 裁剪至胸部以下 |
| 直视摄像头 | 与观看者建立联系 | 直接正面凝视 |
| 中性表情 | 动画的起点 | 轻微微笑可接受,非大笑/皱眉 |
| 清晰的脸部 | 模型需要检测特征 | 无太阳镜、严重阴影或遮挡物 |
| 高分辨率 | 细节保留 | 最小512x512脸部区域,理想1024x1024以上 |
背景
| 类型 | 使用时机 |
|---|---|
| 纯色 | 专业、干净、易于合成 |
| 柔焦虚化 | 自然、生活化感觉 |
| 办公室/工作室 | 商务场景 |
| 透明(通过背景去除) | 合成到其他场景中 |
# 生成专业肖像背景
infsh app run falai/flux-dev-lora --input '{
"prompt": "友好商务人士的专业头像照片,柔和的摄影棚灯光,干净的灰色背景,头部和肩膀,直接眼神接触,中性愉快表情,高质量肖像摄影"
}'
# 或从现有肖像去除背景
infsh app run <bg-removal-app> --input '{
"image": "path/to/portrait-with-background.png"
}'
音频质量
音频质量直接影响嘴唇同步准确性。干净的音频 = 准确的嘴唇运动。
要求
| 参数 | 目标 | 原因 |
|---|---|---|
| 背景噪音 | 无/最小 | 噪音干扰嘴唇同步时间 |
| 音量 | 全程一致 | 防止同步漂移 |
| 采样率 | 44.1kHz或48kHz | 标准质量 |
| 格式 | MP3 128kbps以上或WAV | 兼容所有工具 |
生成音频
# 简单叙述
infsh app run falai/dia-tts --input '{
"prompt": "[S1] 大家好!我今天很兴奋地与您分享一些东西。我们一直在开发一个用户数月来一直请求的功能...它终于来了。"
}'
# 带情感和节奏
infsh app run falai/dia-tts --input '{
"prompt": "[S1] 您知道什么是令人沮丧的吗?花数小时在应该只需分钟的任务上。(叹气)我们都经历过。但如果我告诉您...有更好的方法呢?"
}'
模型选择
| 模型 | 应用ID | 最适合 | 最大时长 |
|---|---|---|---|
| OmniHuman 1.5 | bytedance/omnihuman-1-5 |
多角色、手势、高质量 | ~30秒每段 |
| OmniHuman 1.0 | bytedance/omnihuman-1-0 |
单角色、较简单 | ~30秒每段 |
| PixVerse 嘴唇同步 | falai/pixverse-lipsync |
在现有视频上快速嘴唇同步 | 短片段 |
| Fabric | falai/fabric-1-0 |
肖像上的布料/织物动画 | 短片段 |
生产工作流程
基础:肖像 + 音频 -> 视频
# 1. 生成或准备音频
infsh app run falai/dia-tts --input '{
"prompt": "[S1] 您的叙述脚本在此。"
}'
# 2. 生成说话人头像
infsh app run bytedance/omnihuman-1-5 --input '{
"image": "portrait.png",
"audio": "narration.mp3"
}'
带字幕
# 1-2. 同上
# 3. 向说话人头像视频添加字幕
infsh app run infsh/caption-videos --input '{
"video": "talking-head.mp4",
"caption_file": "captions.srt"
}'
长篇(拼接片段)
对于超过30秒的内容,分割成片段:
# 生成音频片段
infsh app run falai/dia-tts --input '{"prompt": "[S1] 片段一脚本。"}' --no-wait
infsh app run falai/dia-tts --input '{"prompt": "[S1] 片段二脚本。"}' --no-wait
infsh app run falai/dia-tts --input '{"prompt": "[S1] 片段三脚本。"}' --no-wait
# 为每个片段生成说话人头像(使用相同肖像以保持一致性)
infsh app run bytedance/omnihuman-1-5 --input '{"image": "portrait.png", "audio": "segment1.mp3"}' --no-wait
infsh app run bytedance/omnihuman-1-5 --input '{"image": "portrait.png", "audio": "segment2.mp3"}' --no-wait
infsh app run bytedance/omnihuman-1-5 --input '{"image": "portrait.png", "audio": "segment3.mp3"}' --no-wait
# 合并所有片段
infsh app run infsh/media-merger --input '{
"media": ["segment1.mp4", "segment2.mp4", "segment3.mp4"]
}'
多角色对话
OmniHuman 1.5 支持最多2个角色:
# 1. 生成带两个讲话者的对话
infsh app run falai/dia-tts --input '{
"prompt": "[S1] 那么告诉我关于新功能。 [S2] 当然!我们构建了一个显示实时分析数据的仪表板。 [S1] 听起来很棒。花了多长时间? [S2] 从概念到发布大约两周。"
}'
# 2. 创建带两个角色的视频
infsh app run bytedance/omnihuman-1-5 --input '{
"image": "two-person-portrait.png",
"audio": "dialogue.mp3"
}'
取景指南
┌─────────────────────────────────┐
│ 头顶空间(最小) │
│ ┌───────────────────────────┐ │
│ │ │ │
│ │ ● ─ ─ 眼睛在1/3处 ─ ─│─ │ ← 眼睛在顶部1/3线
│ │ /|\ │ │
│ │ | 头部和肩膀可见 │ │
│ │ / \ │ │
│ │ │ │
│ └───────────────────────────┘ │
│ 裁剪至胸部以下 │
└─────────────────────────────────┘
常见错误
| 错误 | 问题 | 修复方法 |
|---|---|---|
| 低分辨率肖像 | 脸部模糊、嘴唇同步差 | 使用1024x1024以上脸部区域 |
| 侧面角度 | 嘴唇同步无法良好追踪嘴巴 | 使用正面或近正面 |
| 嘈杂音频 | 嘴唇同步漂移、看起来不自然 | 录制干净音频或使用TTS |
| 过长片段 | 30秒后质量下降 | 分割成片段、拼接 |
| 太阳镜/遮挡 | 脸部特征隐藏 | 需要清晰脸部 |
| 不一致的照明 | 动画时不自然 | 均匀、柔和照明 |
| 无字幕 | 失去静音/移动观看者 | 始终添加字幕 |
相关技能
npx skills add inference-sh/skills@ai-avatar-video
npx skills add inference-sh/skills@ai-video-generation
npx skills add inference-sh/skills@text-to-speech
浏览所有应用:infsh app list