With the LiveKit Agents integration, LiveKit runs your voice assistant in the room while Tavus renders the avatar. Create a persona whose layers includeDocumentation Index
Fetch the complete documentation index at: https://docs.tavus.io/llms.txt
Use this file to discover all available pages before exploring further.
transport_type: livekit and the pipeline_mode value in Step 2, then start a tavus.AvatarSession with your replica_id and persona_id as in Step 3.
Tavus enables AI developers to create realistic video avatars powered by state-of-the-art speech synthesis, perception, and rendering pipelines. Through its integration with the LiveKit Agents application, you can seamlessly add conversational avatars to real-time voice AI systems.
Prerequisites
Make sure you have the following before starting:-
Tavus
replica_id- You can use Tavus’s stock Replicas or your own custom replica.
- LiveKit Voice Assistant Python App
- Your own existing application.
- Or follow LiveKit quickstart to create one.
Integration Guide
Step 1: Setup and Authentication
- Install the plugin from PyPI:
- Set
TAVUS_API_KEYin your.envfile. Use the same value as your Tavus API key from Authentication. Step 2 creates the persona via Create Persona.
Step 2: Configure Replica and Persona
- Create a persona with LiveKit support using the Tavus API:
- Replace
<api-key>with your actual Tavus API key. You can generate one in the Developer Portal. See Authentication for how requests are authorized. - Set
pipeline_modetoecho. That value is the persona’s pipeline mode for this integration; it is not the same as CVIconversation.echoapp messages (which this LiveKit path does not support). - Set
transport_typetolivekit.
- Save the
persona_idfrom the API response. - Choose a replica from the Stock Library or browse available options on the Developer Portal.
Step 3: Add AvatarSession to AgentSession
In your LiveKit Python app, create a
tavus.AvatarSession alongside your AgentSession:| Parameter | Description |
|---|---|
replica_id (string) | ID of the Tavus replica to render and speak through |
persona_id (string) | ID of the persona with the correct pipeline and transport configuration |
avatar_participant_name (string, optional) | Display name for the avatar participant in the room. Defaults to Tavus-avatar-agent |
Try out the integration using this sample app.

