> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tavus.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Emotion Control with Phoenix-4

> Unlock emotionally expressive facial movements and micro-expressions using Phoenix-4 replicas.

## How It Works

Phoenix-4 replicas can dynamically express emotions like happiness, sadness, anger, and more through lifelike facial expressions while speaking and listening.

For the most human-like results, emotional expression works best as part of a closed-loop system: **Phoenix-4** for expression, **Raven-1** for perception, and **Sparrow-1** for conversational flow. Each component informs the others.

Tavus handles the complex interactions behind the scenes - all of this powered by our state of the art models working seamlessly with any LLM. All of this available out of the box with default Tavus settings.

### Requirements

1. **Select a Phoenix-4 replica** - All Phoenix-4 replicas support emotional expression. Replicas marked **Pro** in the [Stock Replica Library](https://platform.tavus.io/replicas) are extra emotive. See [featured Pro replicas here](/sections/replica/stock-replicas#pro).
2. **Enable `tts_emotion_control`** - This is enabled by default for Phoenix-4 replicas, so no action needed unless you've explicitly disabled it. See [TTS layer](/sections/conversational-video-interface/persona/tts) for details.
3. **Enable `speculative_inference`** - This is also enabled by default for all personas, and again no action needed unless you've explicitly disabled it.

<Tip>
  Pair with **Raven-1** as your perception model to enhance user emotion understanding. See [Perception](/sections/conversational-video-interface/persona/perception) for configuration.
</Tip>

<Warning>
  Lighter LLM models like `gpt-4o-mini` may not handle emotion tag instructions reliably. For best results, use models with robust instruction-following capabilities.
</Warning>

### Guiding Emotional Delivery

You can further shape how the replica expresses emotion through your `system_prompt`. For example:

* "Be enthusiastic when discussing new features"
* "Speak calmly and empathetically when the user is frustrated"
* "Show excitement when celebrating user achievements"
* "Respond with anger if the user interrupts you mid-sentence"

#### Example: Negotiation Sparring Partner

Here's an example system prompt designed to display a range of emotions:

> You are a tough but fair negotiation coach who helps users practice high-stakes conversations. When role-playing scenarios, embody the opposing party with conviction. If the user makes weak arguments or caves too easily, push back with frustration - they need to feel the pressure. When they fumble or seem lost, express concern and gently guide them. But when they land a strong point or hold their ground, show genuine satisfaction. Don't go easy on them. Real negotiations are uncomfortable, and you're here to prepare them for that.

This prompt naturally triggers **angry** responses when pushing back, **scared/concerned** reactions when the user struggles, and **content** acknowledgment when the user succeeds.

### Example Persona Configuration

```json  theme={null}
{
  "persona_name": "Hype Fitness Coach!",
  "system_prompt": "You are an incredibly enthusiastic fitness coach who gets HYPED about every win, no matter how small. Crushed a workout? Let's GO! Drank enough water today? That's HUGE! Be wildly supportive and energetic. When users are struggling, dial it back - be warm, calm, and encouraging. But the moment they share any progress, bring the energy back up. You live for celebrating wins.",
  "default_replica_id": "r5f0577fc829"
}
```

You can learn more about [Persona Configuration here](/api-reference/personas/create-persona)

<Note>
  This minimal configuration works because `tts_emotion_control` and `speculative_inference` are enabled by default for Phoenix-4 replicas.
</Note>

## Echo Mode

When using [Echo Mode](/sections/conversational-video-interface/quickstart/echo-mode), you must manually insert emotion tags into your [text echos](/api-reference/event-schemas/conversation-echo).

**Valid emotion values:** `neutral`, `angry`, `excited`, `elated`, `content`, `sad`, `dejected`, `scared`, `contempt`, `disgusted`, `surprised`

```xml  theme={null}
<emotion value="excited"/> I'm so glad you asked about that!
```

```xml  theme={null}
<emotion value="angry"/> That's completely unacceptable.
```

```xml  theme={null}
<emotion value="sad"/> I'm sorry to hear that happened.
```

```xml  theme={null}
<emotion value="scared"/> I'm not sure we should go down that path...
```


Built with [Mintlify](https://mintlify.com).