Atmee.aiDocs

Choose your integration

Three modes: Atmee runs the whole conversation (Behavior-driven Full-stack), renders a face for your own voice agent (Avatar mode), or talks with no video (Behavior-Driven Voice Mode).

Every Atmee conversation runs in one of three modes. Choose the mode by what you already run.

All three use the same API key, the same avatars and the same credits. They differ in who runs the conversation and whether there is video.

The model belongs to the avatar, not the mode: an Atmee V2 avatar always renders on V2 and an Atmee V1 avatar on V1, so there is nothing to set on the request. To offer both, keep one avatar of each.

Three modes

  • Behavior-driven Full-stack. Atmee runs the whole conversation: behavior (powered by Causeur, our behavior model), the language model, speech recognition, the voice and the face. Your page joins the room.
  • Avatar mode. You bring your own voice agent, with its own speech recognition, language model and voice. Atmee renders only the face, in sync with your agent's audio.
  • Behavior-Driven Voice Mode. Atmee runs the conversation (behavior, language model and speech recognition) in the avatar's voice, with no video. Your client streams audio over a WebSocket.

Side by side

Behavior-driven Full-stackAvatar modeBehavior-Driven Voice Mode
You runA page and one server endpointYour voice agent on LiveKit Agents, or your own client of the APIA client that streams audio, and one server endpoint
What you buildA server endpoint that starts the session, and a page that joins the room with livekit-clientAdd the plugin to your agent. It starts the render and streams your agent's audio to the avatarA server endpoint that starts the session, and a client that connects to the WebSocket within 60 seconds
MediaVideo and audio in Atmee's LiveKit roomVideo and audio in your LiveKit room, or a room Atmee hostsAudio only, over a WebSocket
The avatar needsA portrait, a voice and a persona, finished buildingA portrait for Atmee V1, or a finished Atmee V2 avatar. No voice or persona neededA voice. It uses the avatar's persona and always its voice
While it runsState, events, app tools, files, agendas, visitor memoryWhatever your agent does. Atmee has no say in what is saidSettings your server pins: instructions, persona, facts, agenda
StartPOST /v1/sessionsThe LiveKit Agents plugin, or POST /v1/avatar_sessionsPOST /v1/speech_sessions
Read and endGET /v1/sessions/{id}, POST /v1/sessions/{id}/endGET /v1/avatar_sessions/{id}, POST /v1/avatar_sessions/{id}/endGET /v1/speech_sessions/{id}, POST /v1/speech_sessions/{id}/end

Every start is called from your server with the X-Api-Key header. Every end call is idempotent: ending a session that already ended answers alreadyEnded: true, so you can call it from every teardown path.

What each costs

OptionModelStart withCreditsPlans
Behavior-driven Full-stackAtmee V2POST /v1/sessions2 credits per minuteGrowth and up, by invite
Behavior-driven Full-stackAtmee V1POST /v1/sessions1 credit per minuteStarter and up
Avatar modeAtmee V2LiveKit Agents plugin1 credit per minuteGrowth and up, by invite
Avatar modeAtmee V1LiveKit Agents plugin0.5 credits per minuteStarter and up

Behavior-Driven Voice Mode costs 1 credit per minute on any model, on Starter and up. See Costs for what a credit costs.

Or have an AI agent build it. Claude Code, Codex, Cursor or Claude can make the avatar and write any of these integrations for you, on the same API key and credits.

Pick Behavior-driven Full-stack when

  • you want a talking avatar on your site or in your app without running any AI yourself,
  • the avatar's persona, knowledge and voice are set once, in Studio or through the API, and Atmee runs them,
  • your app should work with the avatar while it talks: send it state and events, let it call your app tools, show it files, or give it an agenda,
  • your client only needs to join a room and show video: a web page, iOS, Android or Unity.

Start with the Quickstart. For what your app can do while the session runs, see What your app can do in the room.

Pick Avatar mode when

  • you already run a voice agent, with your own speech recognition, language model and voice, and want to give it a face,
  • the conversation must stay in your infrastructure: your prompts, your tools, your logs,
  • you need a video avatar for something that is not a chat: a narrator, a presenter, an agent that reads from your own systems.

Avatar mode costs half of Behavior-driven Full-stack, since Atmee only renders. Billing starts when the avatar sees your agent in the room and stops when your agent leaves, the room closes, or you end the session.

Your agent runs onUse
LiveKit Agents (Python)The LiveKit Agents plugin, livekit-plugins-atmee. The avatar joins your LiveKit room.
Something elseCall POST /v1/avatar_sessions yourself; the plugin is a thin client over it. Without a LiveKit project of your own, leave out the room details and Atmee hosts the room.

Pick Behavior-Driven Voice Mode when

  • you want Atmee's conversation and voice, but no video: a phone line, a smart speaker, an audio-only app, a game character off screen,
  • you want the same persona your video avatar has, in places where video doesn't fit,
  • your client can hold a WebSocket open and stream audio both ways.

Your server calls POST /v1/speech_sessions with an avatarId. The answer carries a WebSocket url and a short-lived token; your client must connect within 60 seconds. The first connection holds the session, so a client that loses its connection starts a new session. An avatar with no voice answers 422 avatar_has_no_voice. The full request is in the API reference.

Using several together

The modes share everything except who runs the conversation.

  • One key serves all three. A key with the sessions scope can start every mode, and its spend cap and concurrency limit apply to every mode.
  • One avatar works in every mode. An avatar built for Behavior-driven Full-stack renders just as well in Avatar mode and speaks in Behavior-Driven Voice Mode. A portrait-only Atmee V1 avatar made for Avatar mode becomes a Behavior-driven Full-stack avatar once you add a voice with PUT /v1/avatars/{avatarId}/voice.
  • One live video conversation per avatar. A second video start on a busy avatar answers 409 avatar_busy; see Troubleshooting.
  • The mode is chosen per session. Your app can offer video on the web and Behavior-Driven Voice Mode on the phone with the same avatar, at each mode's rate.

Next steps

Choose your integration — Atmee Docs