Overview
Anam’s server-side ElevenLabs integration connects an Anam avatar to an ElevenLabs Conversational AI agent. Your server fetches a short-lived ElevenLabs signed URL and includes it when creating an Anam session token. The browser uses the Anam JavaScript SDK to start the WebRTC session and render the avatar. Anam sends conversation audio to ElevenLabs, receives the generated speech, and keeps the avatar in sync. API keys stay on the server. Completed sessions appear in Anam Lab with a transcript and, when available, a recording. Zero Data Retention sessions store neither.Quickstart
Follow these three steps to give your ElevenLabs agent a face:- Configure your ElevenLabs agent for the audio format and voice settings.
- Set up the server to fetch a signed URL and create an Anam session token.
- Start the avatar session in your browser.
Upgrade your avatar
Build on your working session with Director Notes for expressive avatar performance, session customisation for personalised conversations, and client tools for actions in your app. For connection and playback issues, see Troubleshooting.How it works
The session is split between your Next.js server, the browser, and Anam’s engine:Supported features
These ElevenLabs agent features work through the server-side integration: voice intelligence (STT, LLM, TTS), expressive voices, mapped Director Notes cues, interruption handling, custom knowledge bases, server-side tools (webhooks), conversation history, and client tools. The ElevenLabs connection and API keys remain server-side when client tools are enabled. Only the specific handler code runs in the browser.Step 1: Configure your agent
Configure the ElevenLabs agent before adding the server route and browser client.

