搜索 “live avatar” 时,普通用户可能想到电影;开发者真正需要的是另一件事:一个能听、能说、能实时反应的数字人面孔,由你自己的 AI stack 驱动,并且直接渲染在你的产品里。这就是 live avatar,而让它能稳定上线的关键,是底层 live avatar SDK。
这篇文章聚焦 SDK 层:它负责什么、不负责什么,为什么渲染架构会决定数字人是“实时”还是“卡顿”,以及如何在 Web、iOS、Android 应用中接入实时数字人,而不是从云端持续推视频流。
live avatar 在 2026 年到底是什么
预渲染的 talking-head 视频不是 live avatar。先输入脚本、生成视频、再播放,也不是 live avatar,那是视频生成,是 Synthesia、HeyGen 视频工具等产品更擅长的类别。
真正的 live avatar 是交互式的。它通常具备三个特征:
- 能响应实时输入,尤其是用户语音,并在当下回复。
- 口型和表情是实时驱动的,不是预先烘焙进视频片段。
- 对话是双向的:用户可以打断、换话题,数字人会继续适配上下文。
换句话说,live avatar 是实时对话管线之上的可见面孔。对话管线决定“说什么”,live avatar 负责把回复变成真正正在说话的脸。更大的类别说明可以参考交互式数字人完整指南。
live avatar SDK 负责什么
实时数字人系统通常分成三层:
- AI agent,也就是“大脑”。 包括 ASR、LLM/RAG 逻辑和 TTS。这是你的 stack。Spatius 这样的 live avatar SDK 不提供 ASR、LLM 或 TTS,你可以接入自己已经在用的供应商。
- Avatar,也就是“面孔”。 在 Spatius 中,可以使用 stock avatar,也可以从单张照片构建自定义形象。
- Avatar SDK,也就是驱动和渲染引擎。 SDK 接收 AI 生成的音频,驱动面部口型和表情,并在屏幕上实时渲染同步结果。
因此,SDK 的职责很明确:把音频变成口型准确、表情自然、音画同步的数字人输出,而且速度要足够快。上游负责“该说什么”,数字人层负责“如何以一张脸说出来”。这种分层也让团队可以自由替换 LLM 或 TTS,而不必重写数字人渲染层。
为什么渲染架构决定体验
实时数字人平台最大的分水岭,是渲染发生在哪里。
云端视频推流方案。 云端把数字人渲染成视频帧,再把视频流传到用户设备。视频很重,持续会话通常需要约 1-2 MB/s 带宽,端到端延迟常常超过 3 秒。在教室 Wi-Fi、自助终端、蜂窝网络等环境中,这会直接让“实时”体验变成等待。
端侧渲染方案。 云端只做轻量驱动推理,输出紧凑的 Motion data(驱动参数),数据量约 10-20 KB/s,文档口径也可表述为 “~100 kbps stream”。客户端 SDK 在本地渲染 3D 数字人,并与音频对齐。因为重渲染发生在设备上,网络中传输的数据低了近两个数量级,端到端延迟可低于 1.5 秒(取决于语音 AI stack),数字人驱动步骤额外延迟低于 300ms。
Spatius 采用这种 cloud+on-device 架构:
你的 TTS 音频 → Motion Server → Motion data(驱动参数) → 客户端 SDK(渲染 3DGS 数字人并同步声音)→ 音画同步的实时数字人。
成本上也要说准确:这套方案是 minimizes GPU cost,不是没有云端 GPU。云端仍有轻量驱动推理,但不再承担完整视频渲染;设备端只做渲染,不做推理,因此可以在没有独立 GPU 的硬件上运行。
它带来的设备覆盖和稳定性
因为设备只负责渲染,实时数字人对硬件的要求显著降低。Spatius 覆盖约 99% 主流 Android、iOS、Web 设备;中低端硬件可稳定 30-60 fps,入门级 SOC 也能达到约 25 fps。
两个可靠性行为对 live avatar 很关键:
- Fallback。 如果 WebSocket 在 15 秒内连接失败,SDK 会切到纯音频回退模式,音频不中断,只暂停动画。
- Interrupt。 用户可以随时打断数字人。调用
interrupt()会清除当前播放和缓冲数据,让数字人立即停下并重新聆听。
如何把实时数字人接入应用
Spatius 有三种集成方式:
| 模式 | 延迟 | 开发量 | 平台 | 适用场景 |
|---|---|---|---|---|
| Basic Mode | 中 | 低 | Web / iOS / Android | 快速上手、移动端 |
| LiveKit Plugin | 超低 | 低 | Web only | 已使用 LiveKit Agents 的项目 |
| Custom Mode | 超低 | 中高 | Web / iOS / Android | 需要完全控制传输层 |
接入前需要知道几件事:
- Web 使用 npm 包
@spatialwalk/avatarkit,支持 WebGL / WebGPU;LiveKit Web 传输可用@spatialwalk/avatarkit-rtc。 - iOS 使用
AvatarKit.xcframework,基于 Metal,模拟器不支持 Metal 渲染,必须真机测试。 - Android 使用 Gradle 依赖
ai.spatialwalk:avatarkit,基于 Vulkan。 - Server 侧已有 Python SDK(
pip: spatius)和 Go SDK;JS Server SDK 仍是 Coming soon。 - LiveKit Plugin 当前仅支持 Web,并且
livekit-client需要固定在 2.16.1。
音频输入格式为 mono 16-bit PCM(s16le),默认 16000 Hz,不会自动重采样。Python SDK 额外支持 Ogg Opus。
和常见交互式数字人工具的区别
如果你评估过 HeyGen 的 interactive avatar,核心差异不是外观,而是架构。HeyGen 这类方案通常从云端推送渲染后的视频;Spatius 只传 Motion data,在端侧渲染。这就是带宽、延迟和规模化成本差异的来源。
价格简述
实时数字人会话通常按分钟使用,所以每分钟成本比月费标题更重要。Spatius 有永久免费额度(500 credits/月,约 50 分钟)。Scale 计划有效费率为 $0.007/min,约 $0.42/hour;这个小时价格专指 Scale 计划,Free 和 Starter 费率不同。完整说明见价格页。
结论
live avatar 是否真正“实时”,取决于最弱的一环。很多团队的弱点是网络:如果渲染在云端,用户带宽就会变成延迟。把渲染移到设备端,只传 Motion data,实时数字人就可以运行在蜂窝网络、门店 Wi-Fi、课堂平板或自助终端上。
可以先在 Spatius Playground 体验,也可以从 docs 开始接入 SDK。