HeyGen 开源实时数字人框架:三条命令跑起来

OpenAI 把全双工语音模型 GPT-Live-1 放进接口仅一天后,HeyGen 就补齐了缺的那一环——一张会说话、还能在屏幕上实时画卡片的脸。9 月 10 日,HeyGen 宣布与 OpenAI 合作,开源了一套构建实时 AI 体验的参考框架,把 GPT-Live-1、LiveAvatar 与 HyperFrames 三层技术打包成一个可以立刻跑起来的代码仓库。

三层分工:大脑、面孔与屏幕叠层

这套框架的清晰之处在于职责划分。HeyGen 产品与智能体工程副总裁 Bin Liu 用一句话概括了三层结构:GPT-Live-1 负责大脑与声音,LiveAvatar 负责把它变成可见的数字人形象,屏幕上的所有卡片与界面则由 HyperFrames 实时生成。

其中 GPT-Live-1 是 OpenAI 于 9 月 10 日开放接口的全双工语音模型,能够边听边说,用户在模型说话时随时打断、插话或补充细节都不需要等待轮次。它还会把背景噪声与语音区分开,咖啡馆之类的环境不会让模型误判说话已经结束。

关键在于,语音模型本身不持有任何工具。需要展示视觉内容时,语音回合会把任务委派给后端的一个 Responses 模型处理——这正是 GPT-Live-1 发布时推荐的委派模式,如今有了可运行的代码样例。

仓库里有什么

项目地址为 github.com/heygen-com/liveavatar-gpt-live-demos,采用 MIT 许可。README 对自己的定位相当坦白:刻意做得极简,”值得读的是接线方式,而不是外面那层框架;分叉它、换掉人设、留下这张脸”。

默认人设是一个日语导师。它会把单词念出来,在说话的同时弹出词条卡(单词、发音、释义);每隔几个词,数字人会缩小到屏幕一角,对已教过的内容做一次复盘。值得注意的是,复盘面板的数据来自服务端的会话记录,而不是模型的记忆——这一设计让它从结构上免疫于模型记忆出错。

发布视频演示的则是另一番场景:一个扑克教练,边讲解边实时生成牌桌与手牌界面。

三条命令跑起来

运行门槛不高,需要 Node 20.12 或更高版本、pnpm、一个 LiveAvatar 接口密钥,以及一个具备 GPT-Live 访问权限的 OpenAI 密钥:

  • pnpm install
  • pnpm run setup,该命令会提示输入两个密钥并逐个对接真实接口校验,通过后写入 .env
  • pnpm dev,服务端跑在 8787 端口,前端跑在 5173 端口

setup 环节的即时校验是个贴心设计:密钥打错或已失效会当场报错并给出对应控制台的指引。仓库的 .env.example 中还附带了一个默认数字人 ID,因此不必自己挑选形象或撰写提示词。

想换人设,只需修改 server/prompts/ 目录下的两个 Markdown 文件后重启。每一个视觉元素对应”一个工具加一段合成”,因此新增一个工具只需改动三处:工具的 schema、服务端校验逻辑、浏览器端的渲染器。

架构上还有一个值得注意的做法:工具调用产生的是透明动画叠层,而不是合成进视频流。视觉层就是普通网页,可以自由设计、即时渲染,也不会被烘焙进视频画面。仓库还提供了 window.__ui(...) 调试钩子,在浏览器控制台就能预览任意组件,不必消耗会话时长。

成本、短板与能做什么

费用方面,OpenAI 一侧语音会话按每分钟 0.05 美元计费,此外还有后端模型的调用开销;LiveAvatar 一侧按接口用量计费。做几次快速实验的花费可以忽略不计。

局限同样明确。这是一个起步项目而非可部署成品:对外公开前,需要给 /api/session/start 接口和 WebSocket 升级加上鉴权,并按仓库文档中的加固清单处理。运行需要两个平台的密钥;没有按键通话机制,也没有语音活动检测,麦克风持续流式输入,何时算说完由模型自行判断,嘈杂环境下的表现需要额外考虑。另外,打包在内的 GSAP 动画库沿用其独立许可,是 MIT 之外的一个例外。

从可改造的场景看,销售讲解时同步弹出报价卡、客服过程中逐项勾选清单、教育与新员工培训、活动现场的接待问答,都可以复用同一套骨架。

对国内开发者而言,这类参考实现的价值不在于数字人本身,而在于把”语音模型如何委派视觉回合””工具调用如何以免合成方式上屏”这两件此前只能靠猜的事情,写成了可以逐行阅读的代码。