Skip to main content
Echo Mode gives you full control over the face’s speech by letting you bypass Tavus’s core layers and supply your own input directly. There are two echo modes:
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

Microphone is disabled in the Transport layer.
  • 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 face
Send text or base64 audio using the Interaction events.

Microphone Echo

Microphone is enabled in the Transport layer.
  • Bypasses all CVI layers (Perception, STT, LLM, TTS)
  • Streams pre-generated audio directly into the face
  • All interrupt logic must be embedded in your audio stream

Echo Mode Quickstart

Prerequisites

Before you begin, ensure the following dependencies are installed:

Create an Echo Mode Conversation

1

Step 1: Create an Echo PAL

Use the following request to create a PAL:
cURL
Replace <api_key> with your actual API key. You can generate one in the PAL Maker.
2

Step 2: Create a Conversation

Create a conversation with your newly created pal_id:
cURL
  • Replace <api_key> with your actual API key.
  • Replace <your_pal_id> with your newly created PAL 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 PAL.
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:
cURL
Replace <conversation_id> with your actual Conversation ID.
In this example, the PAL will respond by saying: “Hello there!”