Skip to main content
Beta: The Spatius integration for Agora Convo AI and TEN Framework is in beta.

Architecture

  1. The user joins an Agora channel and speaks to the Convo AI agent.
  2. The Convo AI agent runs the ASR, LLM, and TTS pipeline.
  3. The Spatius avatar provider opens a Spatius server session with Agora egress.
  4. Motion Server generates motion data from the agent audio and publishes synchronized audio + motion data to the Agora channel.
  5. The client joins the same Agora channel with AgoraProvider and renders the avatar locally.
Spatius is not a video streaming service. Even when you use Agora as the transport layer and Convo AI as the voice agent platform, no avatar video frames are transported through Agora. Spatius sends lightweight motion data; AvatarKit renders the avatar locally on the client.

Client setup

Choose the client package for your platform:
PlatformPackageProvider
Web@spatius/avatarkit-rtc with agora-rtc-sdk-ngAgoraProvider
iOSAvatarKitRTC from spatius-ai/avatarkit-ios-rtcAgoraProvider
Androidai.spatius:avatarkit-rtcAgoraProvider
Each client joins the same Agora channel configured in the Convo AI agent or TEN extension. Use a distinct Agora UID for every participant so the avatar publisher, browser users, and native users do not collide.

Agora Convo AI Client

Install and connect Web, iOS, and Android clients.

Server setup

Choose the setup path that matches what you run:

Convo AI Agent

Configure Spatius as properties.avatar.vendor = "spatius" in the Convo AI start-agent request.

TEN Extension

Use spatius_avatar_python when you run a TEN Framework graph directly.
Most Agora Convo AI users should start with Convo AI Agent. Use TEN Extension only when your deployment exposes a TEN Framework graph that you configure directly.

Next steps

Convo AI Agent

Add Spatius to the Agora Convo AI start-agent payload.

TEN Extension

Configure spatius_avatar_python inside a TEN Framework graph.

Client

Render the avatar in your Web, iOS, or Android app with AgoraProvider.