SadTalker

一张照片+一段语音,生成逼真说话数字人视频

SadTalker 是一个基于 CVPR 2023 论文的开源数字人项目,核心功能是输入一张静态人像照片和一段语音音频,生成逼真的说话视频。它通过学习 3D 运动系数,将音频中的情感和口型同步到人脸图像上,使生成的数字人不仅口型准确,还带有自然的面部表情和头部姿态。项目解决了传统单图驱动数字人表情僵硬、口型不同步的问题,支持风格化输出(如真实、卡通、素描等),并提供 WebUI、命令行和 API 等多种使用方式。其核心能力包括音频驱动的口型生成、头部运动预测、表情迁移,以及高分辨率视频输出。SadTalker 在 GitHub 上有超过 1.4 万星标,是数字人领域的热门开源方案,适合二次开发和集成。

开源 free 数字人3D
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 14098
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类数字人3D
开发团队OpenTalker
所属国家
定价模式free
价格说明开源项目,完全免费,需自行部署使用。
访问状态
是否开源是
开源协议NOASSERTION
主要语言Python
技术栈/模型audio-driven-talking-face,cvpr2023,deep-fake,deep-fakes,image-animation,talking-face,talking-face-generation,talking-head,talking-heads
GitHub 星标★ 14098
30天Star增速
HF 下载量
上线时间2022-11-23 00:00:00
最近更新2026-09-21 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

使用教程

难度:进阶 约 20 分钟 部署方式:本地安装 6 步

环境要求

  • 可用的 Python 运行环境(项目为 Python 实现)
  • Linux/Mac 终端或 Windows 命令行环境
  • 首次运行需联网自动安装 requirements 依赖
  • 若需语音合成能力,需额外安装 TTS
  • Docker / WSL 用户请参考官方 docs/install.md 额外教程

安装与启动步骤

  1. 1获取项目代码

    从 GitHub 克隆 SadTalker 仓库到本地,然后进入项目目录。若网络受限可自行配置代理。

    git clone https://github.com/OpenTalker/SadTalker.git
    cd SadTalker
  2. 2安装依赖并启动

    Linux/Mac 执行脚本会自动安装 requirements 并启动 WebUI;Windows 则直接双击 webui.bat 同样自动装依赖。

    bash webui.sh
  3. 3安装 TTS(可选)

    只有需要 TTS 语音合成高级功能时才需要手动安装,普通口型生成可跳过这一步。

    pip install tts
  4. 4手动启动 WebUI

    依赖装好后也可直接启动网页界面,在浏览器中进行图片+音频的交互式生成。

    python app_sadtalker.py
  5. 5命令行生成视频

    用默认配置驱动单张人像说话,enhancer 参数可提升画质;结果保存在 results 下的时间戳目录。

    python inference.py --driven_audio  --source_image  --enhancer gfpgan
  6. 6全身/完整图像模式

    加 --still 生成更自然的全身视频,配合 --preprocess full 做完整图像预处理,并指定结果输出目录。

    python inference.py --driven_audio  --source_image  --result_dir  --still --preprocess full --enhancer gfpgan

关键配置

配置项必填说明示例
--driven_audio是驱动用的语音音频文件路径
--source_image是输入的人像图片或视频文件路径
--result_dir否指定结果输出目录,不填则用默认 results 时间戳目录
--still否开启后生成更自然的全身视频效果--still
--preprocess否预处理模式,full 表示使用完整图像full
--enhancer否人脸增强器,用于提升生成视频画质gfpgan

如何确认成功

浏览器打开 WebUI 页面可正常操作,或在 results/$SOME_TIMESTAMP/ 目录下看到生成的 .mp4 文件即成功。

常见问题

Q:Windows 上怎么启动最简单?

A:直接双击项目目录下的 webui.bat 即可,脚本会自动安装依赖并启动 WebUI。

Q:Linux 或 Mac 上如何启动?

A:在项目目录执行 bash webui.sh,会自动安装依赖并启动 WebUI。

Q:生成的结果保存在哪里?

A:默认保存在 results/$SOME_TIMESTAMP/*.mp4,可用 --result_dir 自定义输出目录。

Q:必须安装 TTS 吗?

A:不是必须的。README 说明只有使用 TTS 相关高级功能时才需要通过 pip install tts 手动安装。

Q:想在 Docker 或 WSL 里跑怎么办?

A:README 提供了额外教程,请查看项目内 docs/install.md 的说明。

注意事项

  • 首次运行会自动下载依赖和模型,耗时较长且需保证网络通畅。
  • Docker、WSL 等环境的安装方式另见官方 docs/install.md。
  • 更多参数示例和调优建议请阅读官方 docs/best_practice.md。
  • README 提供了中文 Windows 视频教程与日文教程链接,遇到问题可参考。

核心亮点

  • 口型同步精准,基于3D运动系数,自然度远超传统2D方法
  • 支持多种风格(真实/卡通/素描),适配不同应用场景
  • 提供WebUI和API,上手快,便于集成到现有系统

不足之处

  • 生成视频分辨率有限,高分辨率输出需额外处理
  • 对输入人脸角度和遮挡敏感,侧面或遮挡时效果下降
  • 文档/社区待观察

适用场景

  • 短视频制作:快速生成虚拟主播或人物讲解视频
  • 在线教育:将课件文本转为带口型动画的虚拟教师
  • 游戏/影视预演:用角色立绘生成对话动画

替代项目

Wav2Lip、GeneFace、Audio2Face

项目介绍

SadTalker 是数字人3D领域的开源项目,由 OpenTalker 开发,2022 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(14,098)位列前 4%,在数字人3D分类的 272 个项目里位列前 2%。

近 41 天,它的 GitHub 星标从 14,012 增加到 14,098,净增 86。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-21。完全免费,需自行部署使用。

它主要面向的使用场景是:短视频制作:快速生成虚拟主播或人物讲解视频。同类可对比的替代方案包括 Wav2Lip、GeneFace、Audio2Face。

同类项目推荐

A3D 开源

在 three.js 里直接调用 AI 生成纹理和素材,边建模边生成

3D x AI hybrid editor, built with three.js

★ 129 2026-08-09
cube 开源

用一句话生成 3D 模型,在 Roblox 里快速落地 AI 创作

Roblox Foundation Model for 3D Intelligence

★ 1254 2026-08-09
AG3D 开源

用2D图片直接生成3D虚拟人,告别昂贵扫描

Official code release for ICCV2023 paper AG3D: Learning to Generate 3D Avatars from ···

★ 272 2026-08-09
GameFactory-3A 开源

一条命令生成 3A 游戏资产,从模型到视频全自动

A comprehensive open-source 3A game-generation skill and asset framework.

★ 798 2026-08-21