Direct Mode
AvatarKit connects from the client to Motion Server using a short-lived Session Token. The client renders locally, sends audio, receives motion data, and owns its lifecycle.
Choose Direct Mode when the client can connect directly to Motion Server with a Session Token and send existing speech audio. Choose Backend Mode when your server must own the Motion Server connection, payload routing, transport, and centralized session control.
Do not compare isolated numbers unless the definitions, inputs, environment, and included services match.
| Decision area | Direct Mode | Backend Mode |
|---|---|---|
| Motion Server connection | AvatarKit client | Customer backend Server SDK |
| Credential at runtime | Session Token on client | Backend credentials and server session |
| Downstream transport | Direct Motion Server path | LiveKit or customer-owned transport |
| Client role | Send audio, receive motion, render | Receive backend payloads and render |
| Server control | Token endpoint and application services | Session, routing, payload, and egress control |
| Implementation effort | Shorter path | More infrastructure and flexibility |
| Best fit | Existing client-side speech audio | Backend-owned production pipeline |
Architecture decides which team owns rendering, transport, recovery, and the surrounding AI product.
AvatarKit connects from the client to Motion Server using a short-lived Session Token. The client renders locally, sends audio, receives motion data, and owns its lifecycle.
A Server SDK connects from the customer backend to Motion Server. The backend forwards encoded audio and motion payloads to clients using LiveKit or a customer-owned transport.
The best option is the one whose responsibilities match your product, client, network, and team.
Direct Mode still requires a secure token endpoint; API keys must not be shipped to clients. Backend Mode adds operational responsibility and should not be chosen only because it sounds more enterprise-ready.
Use one workload and record both user experience and operational responsibility.
Last verified Aug 3, 2026. Recheck implementation details when SDKs or plan terms change.