> ## 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.

# Speech-to-Text (STT)

> Configure the STT layer to select an STT model, improve transcription accuracy, and optimize for your target languages.

The STT layer transcribes participant speech in real time using automatic speech recognition (ASR). You can select a model optimized for your use case and language requirements.

## STT models

Select an STT model using the `stt_engine` parameter in the `layers.stt` object. The following models are available:

| Model                      | Description                                                                                                   |
| -------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `tavus-auto` **(default)** | Automatically selects the best STT model for the conversation's language. **Recommended for most use cases.** |
| `tavus-parakeet`           | Highest throughput, lowest latency for English and European languages.                                        |
| `tavus-soniox`             | Purpose-built for Indian languages with broad multilingual coverage.                                          |
| `tavus-whisper`            | Broad multilingual coverage across all supported languages.                                                   |
| `tavus-deepgram-medical`   | Domain-specific English STT optimized for clinical and healthcare vocabulary. English only.                   |
| `tavus-advanced`           | **Deprecated.** Still active but not recommended for new integrations.                                        |

<Tip>
  `tavus-auto` is the default. Use it unless you have a specific language or domain requirement. It automatically routes to the best model for each conversation.
</Tip>

## Choosing the right model

A language is listed for a model only if both STT and TTS coverage are available.

| Category           | Recommended model                 | Supported languages                                                                                                                                                                |
| ------------------ | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| General purpose    | `tavus-auto`                      | [All 43 languages](/sections/conversational-video-interface/language-support)                                                                                                      |
| Indic languages    | `tavus-soniox`                    | Bengali, English, Gujarati, Hindi, Kannada, Malayalam, Marathi, Punjabi, Tamil, Telugu + broad support for all other languages                                                     |
| English + European | `tavus-parakeet`                  | Bulgarian, Croatian, Czech, Danish, Dutch, English, Finnish, French, German, Greek, Hungarian, Italian, Polish, Portuguese, Romanian, Russian, Slovak, Spanish, Swedish, Ukrainian |
| Broad multilingual | `tavus-whisper` or `tavus-soniox` | [All 43 languages](/sections/conversational-video-interface/language-support)                                                                                                      |
| Medical (English)  | `tavus-deepgram-medical`          | English                                                                                                                                                                            |

<Note>
  Using [Smart Language Detection](/sections/conversational-video-interface/language-support#smart-language-detection) requires either `tavus-auto`, `tavus-soniox`, or `tavus-whisper`.
</Note>

## Configuring the STT layer

Define the STT layer under the `layers.stt` object.

### `stt_engine`

Set the STT model for transcription:

```json theme={null}
"stt": {
  "stt_engine": "tavus-auto"
}
```

### `hotwords`

Use this to prioritize certain names or terms that are difficult to transcribe.

```json theme={null}
"hotwords": "Roey is the name of the person you're speaking with."
```

The above helps the model transcribe "Roey" correctly instead of "Rowie."

<Tip>
  Use hotwords for proper nouns, brand names, or domain-specific language that standard STT engines might struggle with.
</Tip>

## Example configuration

Below is an example persona with a configured STT layer using the recommended `tavus-auto` engine:

```json theme={null}
{
  "persona_name": "Customer Service Agent",
  "system_prompt": "You assist users by listening carefully and providing helpful answers.",
  "pipeline_mode": "full",
  "default_replica_id": "r90bbd427f71",
  "layers": {
    "stt": {
      "stt_engine": "tavus-auto",
      "hotwords": "Roey is the name of the person you're speaking with."
    }
  }
}
```

<Note>
  Refer to the <a href="/api-reference/personas/create-persona" target="_blank">Create Persona API</a> for a complete list of supported fields.
</Note>
