Skip to main content
Spatius is an avatar-only service. It takes avatar speech audio and returns real-time motion data. Conversation logic (ASR, LLM, TTS) and turn-taking are owned by your app or by the agent framework you choose.

Pick your category first

Spatius integrations come in two categories.
  • Platform Integrations — you already use a third-party realtime / agent platform; Spatius slots in via a platform-specific package. Today: LiveKit Agents Integration and Agora Convo AI Integration.
  • Standalone Integrations — you build directly with Spatius SDKs without going through a third-party agent platform. Today: Direct Mode and Backend Mode.

Decision matrix

CategoryPathChoose it whenWhat connects to Spatius
Platform IntegrationsLiveKit Agents IntegrationYou already use LiveKit Agents or want a turnkey voice-agent path.LiveKit agent worker through livekit-plugins-spatius
Platform IntegrationsAgora Convo AI IntegrationYou already use Agora Convo AI and want avatar output in an Agora channel.Convo AI avatar provider or TEN extension
Standalone IntegrationsDirect ModeYou have avatar speech audio and want the smallest client-side integration.AvatarKit client SDK
Standalone IntegrationsBackend ModeYour backend owns ASR / LLM / TTS / transport.Spatius Server SDK

LiveKit Agents Integration

LiveKit Agents Integration is the Platform Integration for LiveKit Agents. The livekit-plugins-spatius Python package attaches to your agent’s AgentSession and pipes agent audio to Motion Server. Use it when:
  • Your backend runs a LiveKit Agents worker.
  • You want LiveKit room transport handled for you.
  • Your Web client renders avatar audio and motion from the LiveKit room.

LiveKit Agents Integration guide

Add livekit-plugins-spatius and the AvatarKit RTC client to your app.

LiveKit Agents Integration quickstart

Run the React + LiveKit Agents + Gemini Live demo.

Agora Convo AI Integration

Agora Convo AI Integration is the Platform Integration for Agora Convo AI. Convo AI is Agora’s managed conversational AI service; Spatius is configured as the Convo AI avatar provider in the start-agent request. If you run a TEN Framework graph directly, use the spatius_avatar_python TEN extension instead. Use it when:
  • Your voice agent is built with Agora Convo AI.
  • You want the Agora channel to carry user audio and avatar output.
  • Your Web, iOS, or Android client renders avatar audio and motion from the Agora channel.

Agora integration guide

Choose the Convo AI, TEN Framework, and client setup docs.

Convo AI Agent setup

Add Spatius to the Convo AI start-agent payload.

TEN Extension setup

Configure Spatius and Agora fields inside a TEN graph.

Direct Mode

Direct Mode maps to DrivingServiceMode.sdk in SDK code. It is the simplest Standalone Integration: your client app connects to Motion Server directly using a short-lived Session Token issued by your backend. Use it when:
  • You already have avatar speech audio — your own TTS, a TTS provider, or prerecorded audio.
  • You want Web, iOS, Android, or Flutter clients to own avatar playback.
  • Your backend can host a minimal Session Token endpoint that calls the Console API.

Direct Mode guide

Architecture, requirements, and per-platform setup.

Web SDK quickstart

Validate App ID, Avatar ID, Session Token, and rendering in a browser.

Flutter SDK quickstart

Validate the Flutter package on iOS or Android.

Backend Mode

Backend Mode is the Standalone Integration for teams that need full control over the audio pipeline and downstream transport. Your backend uses a Spatius Server SDK to connect to Motion Server, then delivers encoded audio and motion messages to AvatarKit clients over a transport you choose. Use it when:
  • Your backend owns ASR, LLM, TTS, turn-taking, and interruption policy.
  • You need to tune latency or transport behavior.
  • You need a custom WebSocket or RTC transport between your backend and clients.

Backend Mode guide

Server SDK, transport options, and architecture.

Browse all demos

Run the Backend Mode reference implementations.

Transport is a second decision

Transport options live inside an integration path, not as separate top-level choices:
TransportWhere it belongs
Direct to Motion ServerDefault transport for Direct Mode.
Your own WebSocketBackend Mode with your own transport.
LiveKit RoomTwo distinct uses — see below.
Agora channelUsed by Agora Convo AI Integration. Server SDK Agora egress is also available for custom Backend Mode work.
LiveKit appears in two completely different positions and these must not be confused:
  • LiveKit Agents Integration uses LiveKit both as the agent framework (via livekit-plugins-spatius) and as the room transport. Choose this when you build agents on LiveKit Agents.
  • Backend Mode with LiveKit uses your own backend with the Spatius Server SDK, and merely uses LiveKit as the downstream transport between your backend and your clients. No LiveKit Agents involved.
Agora has a similar distinction:
  • Agora Convo AI Integration uses Agora Convo AI as the agent platform and an Agora channel as the transport. The Spatius integration is configured through the Convo AI avatar provider block, or through spatius_avatar_python when you run a TEN Framework graph directly.
  • Backend Mode with Agora egress is a custom Server SDK pattern where your backend owns the whole pipeline and uses Agora only as the downstream transport. See Python SDK Agora Egress Mode.

Next steps

Get credentials

App ID, Avatar ID, Session Token, and API Key — who issues each and where each is used.

Demo matrix

Every runnable demo by platform and integration path.