Echo Mode is incompatible with perception. As a result, we recommend using Tavus’s Full Pipeline in its entirety for the lowest latency and most optimized multimodal experience. Integrations like LiveKit Agent or Pipecat only provide rendering, while our Full Pipeline includes perception, turn-taking, and rendering for complete conversational intelligence.
Text or Audio (Base64) Echo

-
Text Echo
- Bypasses Perception, STT, and LLM
- Sends raw text directly to the TTS Layer
- Useful for manually scripted speech and interrupt control
-
Audio (Base64) Echo
- Bypasses all layers except the Realtime Replica Layer
- Sends base64-encoded audio for direct playback by the Replica
Send text or base64 audio using the Interactions Protocol.
Microphone Echo

- Bypasses all CVI layers (Perception, STT, LLM, TTS)
- Streams pre-generated audio directly into the Replica
- All interrupt logic must be embedded in your audio stream
Echo Mode Quickstart
Prerequisites
Before you begin, ensure the following dependencies are installed:flask
-
daily-python
Create an Echo Mode Conversation
1
Step 1: Create an Echo Persona
Use the following request to create a persona:
cURL
Replace
<api_key>
with your actual API key. You can generate one in the Developer Portal.2
Step 2: Create a Conversation
Create a conversation with your newly created
persona_id
:cURL
- Replace
<api_key>
with your actual API key. - Replace
<your_persona_id>
with your newly created Persona ID.
3
Step 3: Create an App
Create a file named
script.py
and paste the following code:This script starts a Flask app that connects to a Daily room and sends echo interaction messages to your persona.
4
Step 4: Execute the Code
Run the script:
Replace
<conversation_url>
with the URL returned when creating your conversation.5
Step 5: Send Echo Message
Send a POST request to your local server to trigger an echo message:In this example, the persona will respond by saying: “Hello there!”
cURL
Replace
<conversation_id>
with your actual Conversation ID.