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

# Sarvam STT

[Sarvam AI](https://www.sarvam.ai/) provides streaming speech-to-text built for Indian languages. The plugin uses WebSocket streaming with built-in voice activity detection for turn events.

<Info>
  Vision Agents requires a [Stream](https://getstream.io/try-for-free/) account
  for real-time transport. Get your Sarvam API key from the [Sarvam
  dashboard](https://dashboard.sarvam.ai/).
</Info>

<Tip>
  Sarvam also provides [text-to-speech](/integrations/tts/sarvam) and an [LLM](/integrations/llm/sarvam). You can use all three in the same agent.
</Tip>

## Installation

```sh theme={null}
uv add "vision-agents[sarvam]"
```

## Quick start

```python theme={null}
from vision_agents.core import Agent, User
from vision_agents.plugins import sarvam, getstream, smart_turn

agent = Agent(
    edge=getstream.Edge(),
    agent_user=User(name="Sarvam Agent", id="agent"),
    instructions="Reply in the same language the user speaks.",
    llm=sarvam.LLM(model="sarvam-m"),
    stt=sarvam.STT(language="hi-IN"),
    tts=sarvam.TTS(speaker="shubh"),
    turn_detection=smart_turn.TurnDetection(),
)
```

<Warning>
  Set `SARVAM_API_KEY` in your environment or pass `api_key` directly.
</Warning>

## Parameters

```python theme={null}
stt = sarvam.STT(
    model="saaras:v3",
    language="hi-IN",
    mode="transcribe",
    sample_rate=16000,
    high_vad_sensitivity=False,
)
```

| Name                   | Type   | Default       | Description                                                                        |
| ---------------------- | ------ | ------------- | ---------------------------------------------------------------------------------- |
| `model`                | `str`  | `"saaras:v3"` | Streaming model (`saaras:v3`, `saarika:v2.5`, `saaras:v2.5`)                       |
| `language`             | `str`  | `None`        | Language code (e.g. `hi-IN`, `en-IN`). `None` for auto-detect                      |
| `mode`                 | `str`  | `None`        | `transcribe`, `translate`, `verbatim`, `translit`, or `codemix` (`saaras:v3` only) |
| `sample_rate`          | `int`  | `16000`       | Input sample rate — `8000` or `16000` Hz                                           |
| `high_vad_sensitivity` | `bool` | `False`       | Increase VAD sensitivity for noisy input                                           |
| `vad_signals`          | `bool` | `True`        | Emit speech start/end events for turn detection                                    |
| `prompt`               | `str`  | `None`        | Optional biasing prompt sent after connect (`saaras:v2.5` and `saaras:v3` only)    |
| `api_key`              | `str`  | `None`        | API key (defaults to `SARVAM_API_KEY` env var)                                     |

## Next steps

<CardGroup cols={2}>
  <Card title="Sarvam TTS" icon="volume-high" href="/integrations/tts/sarvam">
    Streaming text-to-speech for Indian languages
  </Card>

  <Card title="Sarvam LLM" icon="brain" href="/integrations/llm/sarvam">
    Chat completions with Sarvam models
  </Card>
</CardGroup>
