news 2026/9/11 2:17:26

HeyGem.ai 本地部署:3 条命令跑通离线数字人

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HeyGem.ai 本地部署:3 条命令跑通离线数字人

HeyGem.ai 本地部署:3 条命令跑通离线数字人

【免费下载链接】Duix-Avatar🚀 Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning.项目地址: https://gitcode.com/GitHub_Trending/he/Duix-Avatar

HeyGem.ai(开源名 Duix.Avatar)是一个可以完全离线运行的数字人工具:你丢进去一段 10 秒左右的自拍视频,它能克隆出你的形象和声音,之后输入一段文字或传一个音频文件,它就吐出一段口型同步的口播视频。适合内容团队做批量口播、个人把素材留在本地不想上传到云端、以及想直接调它的合成接口嵌入自己产品的开发者。

三条上手路径

容器路:一条 compose 命令拉起三个服务

服务端就是三个 Docker 容器:语音合成(fish-speech)、语音识别(fun-asr)、视频合成(face2face),定义都在 deploy 目录 里。在deploy目录执行:

cd deploy docker-compose up -d # 标准版,拉取约 70G 镜像

命令执行后耐心等待(半小时起步,取决于网速),直到docker psduix-avatar-ttsduix-avatar-asrduix-avatar-gen-video三个容器全部变成 Running:

拉取前确认 D 盘(或 Linux 的挂载目录)空闲大于 30G、Docker 数据目录所在盘大于 100G,否则挂载的duix_avatar_data会直接写满。

50 系显卡路:换一个 compose 文件就行

RTX 50 系列(以及 CUDA 12.8 的 30/40 系)需要换一套基于 torch 预览版的镜像,把命令里的文件换掉即可:

cd deploy docker-compose -f docker-compose-5090.yml up -d # 5090 镜像,只起 2 个容器

你会看到duix-avatar-ttsduix-avatar-gen-video两个容器起起来,这个方案里没有独立的 asr 容器,语音识别合并进了合成服务。

源码路:装依赖后本地起客户端

客户端是一个 Electron 应用,服务端跑好后,克隆仓库并启动界面:

git clone https://gitcode.com/GitHub_Trending/he/HeyGem.ai cd HeyGem.ai npm install # 需要 Node.js 18 npm run dev # electron-vite 开发模式启动

界面起来后先做两件事:确认能连上127.0.0.1的三个端口,再把客户端指向服务端的地址确认无误。这些连接信息集中在 src/main/config/config.js,开发模式下走的是局域网 IP,生产构建默认走本机回环,指向别的机器改这里就行。

能力拆解:克隆、合成、出片三步

整个链路就三步:克隆模特 → 文字变语音 → 语音驱动视频。界面里对应「Create Avatar」和「Create Video」两个入口,每一步都有对应的本地 API 可以单独调。

克隆模特

  • 能做什么:从一段约 10 秒的真人说话视频里,同时提取外貌和声音,生成一个可反复使用的数字人
  • 怎么触发:界面点「Create Avatar」上传视频;或直接 POST127.0.0.1:18180/v1/preprocess_and_tran
  • 关键参数:reference_audio(提取出的音频相对路径)、lang(zh/en 等);返回值里的asr_format_audio_urlreference_audio_text要记下来,后面合成语音时还要用

文字转语音

  • 能做什么:用克隆出来的声音朗读任意文本,产出一段 wav
  • 怎么触发:POST127.0.0.1:18180/v1/invoke;或者界面里直接输入文案
  • 关键参数:text(要朗读的内容)、speaker(一个保持唯一的 UUID)、reference_audio/reference_text(上一步克隆的返回值)

语音驱动视频

  • 能做什么:把合成好的音频和模特参考视频对齐,输出口型同步的口播视频
  • 怎么触发:POST127.0.0.1:8383/easy/submit,再用127.0.0.1:8383/easy/query?code=xxx轮询进度
  • 关键参数:audio_urlvideo_urlcode(任务唯一标识,查询时回传)

三个服务各占一个端口,职责如下:

服务本地端口镜像职责
duix-avatar-tts18180guiji2025/fish-speech-ziming声音克隆 + 文字转语音
duix-avatar-asr10095guiji2025/fun-asr上传视频的语音识别
duix-avatar-gen-video8383guiji2025/duix.avatar口型驱动与视频合成

想跳过界面直接集成到自己的产品,服务端的调用示例代码就在 src/main/service/video.js 和 src/main/service/voice.js 里,照着改即可。

调优与排障

拉镜像卡在 Docker Hub 超时

  • 现象:docker-compose up -dClient.Timeout exceeded while awaiting headers
  • 原因:官方源连接不稳定,70G 的镜像基本拉不完
  • 修复:给 Docker 配置国内镜像源
// Docker Engine 配置中添加 registry-mirrors { "registry-mirrors": [ "https://docker.m.daocloud.io", "https://docker.1ms.run" // 源会失效,用哪个先 curl 测一下连通性 ] }

克隆模特时 asr 报 Connection refused

  • 现象:新增模特报错,服务端日志里建立funasr连接异常:[Errno 111] Connection refused
  • 原因:fun-asr 容器启动慢,刚起服务就提交任务,16G 内存的机器甚至起不来
  • 修复:
# 等服务完全就绪再克隆,观察 asr 容器状态 docker ps docker logs duix-avatar-asr --tail 50 # 出现监听日志再操作

克隆报"file not exists"或提示视频不合规

  • 现象:提交模特视频后克隆失败,日志提示文件不存在或素材无效
  • 原因:上传的视频没有声音,或画面里的人没有说话——声音克隆素材被静默丢弃了
  • 修复:换一段约 10 秒、单人正面、持续说话的录像重新上传;确认duix_avatar_data目录(Windows 在 D 盘)剩余空间充足

更多报错对照可以查 常见问题文档,客户端日志在界面右上角 Setting 菜单里打开:

下一步

  • 你可以试试用curl直接打127.0.0.1:8383/easy/query?code=你的任务code,对比界面轮询和接口轮询拿到的进度差异
  • 把 compose 文件从标准版换成 docker-compose-lite.yml,只留视频合成服务,对比一下磁盘占用和启动耗时
  • 拿 30 秒和 3 分钟两段文案各跑一次合成,记录 8383 接口的返回耗时,感受长文案对显存和时长的影响

【免费下载链接】Duix-Avatar🚀 Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning.项目地址: https://gitcode.com/GitHub_Trending/he/Duix-Avatar

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 2:17:13

涂装工艺数字化转型:从老师傅经验到数据资产实践指南

干了大半辈子涂装工艺的人可能都有一个共同心病:线上一旦出问题,所有人的第一反应就是“把老周叫过来”。老周是谁?是那条喷粉线干了二十多年的工艺老师傅,他用手背贴一下烘箱外壳就知道温度有没有偏,看一眼漆膜光泽就…

作者头像 李华
网站建设 2026/9/11 2:13:14

PCSX2 模拟器如何从零配置完整:跑通 PS2 游戏的实操指南

PCSX2 模拟器如何从零配置完整:跑通 PS2 游戏的实操指南 【免费下载链接】pcsx2 PCSX2 - The Playstation 2 Emulator 项目地址: https://gitcode.com/GitHub_Trending/pc/pcsx2 PCSX2 是一款 PS2 模拟器,它用 MIPS 解释器、动态重编译和虚拟机组…

作者头像 李华
网站建设 2026/9/11 2:12:16

研发管理体系-创新工程知识体系目录

1 逻辑思维1.1 分析与综合1.2 归纳与演绎1.3 抽象与具体1.4 比较、分类、类比1.5 证明与反驳2 批判性思维2.1 批判性思维概述2.2 批判性思维的基础2.3 批判性思维的流程2.4 批判性思维的应用3 创造性思维3.1 收敛思维与发散思维3.2 正向思维与逆向思维3.3 横向思维与纵向思维3.…

作者头像 李华
网站建设 2026/9/11 2:12:02

MicroPython嵌入式日志生存策略:uLogLite极简设计与实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华