> ## 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-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-parakeet` | **Deprecated.** Still active but not recommended for new integrations. Use `tavus-auto` instead. |
| `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 supported 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 |
| Broad multilingual | `tavus-whisper` or `tavus-soniox` | [All supported languages](/sections/conversational-video-interface/language-support) |
| Medical (English) | `tavus-deepgram-medical` | English |

<Note>
  Smart Language Detection requires either `tavus-auto`, `tavus-soniox`, or `tavus-whisper`. Name the languages it detects with [`languages`](/sections/conversational-video-interface/language-support#setting-languages).
</Note>

## Which languages get heard

**`languages`** is what decides that. Set it on the PAL, or on a single conversation, and those are the languages STT listens for:

```json theme={null}
{ "languages": ["en", "es", "pt"] }
```

With `tavus-auto`, Tavus then picks a model that covers your whole set, so you do not have to match engines to languages yourself.

With `languages` set on neither the PAL nor the conversation, the conversation runs in English, the same as sending `["en"]`.

See [Language support](/sections/conversational-video-interface/language-support) for the full list and the accepted values.

## 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 PAL with a configured STT layer using the recommended `tavus-auto` engine:

```json theme={null}
{
  "pal_name": "Customer Service Agent",
  "system_prompt": "You assist users by listening carefully and providing helpful answers.",
  "pipeline_mode": "full",
  "default_face_id": "rc9cff32ceba",
  "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/pals/create-pal" target="_blank">Create PAL API</a> for a complete list of supported fields.
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.