> For clean Markdown of any page, append `.md` to the page URL.
> For a complete documentation index, see https://docs.sarvam.ai/llms.txt.
> For full documentation content in one file, see https://docs.sarvam.ai/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.sarvam.ai/_mcp/server.

# How to select output mode

> Choose the right output mode for your speech-to-text use case with Saaras v3.

Saaras v3 supports multiple output modes to handle different transcription and translation needs. Use the `mode` parameter to specify how you want the audio processed.

The `mode` parameter is only available for Saaras v3. For legacy Saarika v2.5, only basic transcription is supported.

### Output Mode Comparison

For the same input audio saying: **"मेरा फोन नंबर है 9840950950"** (My phone number is 9840950950)

| Mode         | Description                                            | Example Output                                              |
| ------------ | ------------------------------------------------------ | ----------------------------------------------------------- |
| `transcribe` | Standard transcription with number normalization       | `मेरा फोन नंबर है 9840950950`                               |
| `translate`  | Translate to English                                   | `My phone number is 9840950950`                             |
| `verbatim`   | Exact word-for-word, preserves spoken numbers          | `मेरा फोन नंबर है नौ आठ चार zero नौ पांच zero नौ पांच zero` |
| `translit`   | Romanized/Latin script                                 | `mera phone number hai 9840950950`                          |
| `codemix`    | English words in English, Indic words in native script | `मेरा phone number है 9840950950`                           |

### When to Use Each Mode

| Mode         | Best For                                                          |
| ------------ | ----------------------------------------------------------------- |
| `transcribe` | Call recordings, meetings, voice notes, general transcription     |
| `translate`  | Analytics dashboards, English-only systems, international teams   |
| `verbatim`   | Legal transcriptions, compliance, preserving exact spoken content |
| `translit`   | Systems that only support Latin characters, search indexing       |
| `codemix`    | Hinglish conversations, mixed-language customer support           |

### Example Code

```python
from sarvamai import SarvamAI

client = SarvamAI(api_subscription_key="YOUR_SARVAM_API_KEY")

# Standard transcription in original language
response = client.speech_to_text.transcribe(
    file=open("audio.wav", "rb"),
    model="saaras:v3",
    language_code="hi-IN",
    mode="transcribe"  # Default mode
)

print(response.transcript)
# Output: मेरा फोन नंबर है 9840950950
```

```javascript
import { SarvamAIClient } from "sarvamai";
import fs from 'fs';

const client = new SarvamAIClient({
    apiSubscriptionKey: "YOUR_SARVAM_API_KEY"
});

const audioFile = fs.createReadStream("audio.wav");

const response = await client.speechToText.transcribe({
    file: audioFile,
    model: "saaras:v3",
    language_code: "hi-IN",
    mode: "transcribe"  // Default mode
});

console.log(response.transcript);
// Output: मेरा फोन नंबर है 9840950950
```

```bash
curl -X POST https://api.sarvam.ai/speech-to-text \
  -H "api-subscription-key: <YOUR_SARVAM_API_KEY>" \
  -H "Content-Type: multipart/form-data" \
  -F model="saaras:v3" \
  -F language_code="hi-IN" \
  -F mode="transcribe" \
  -F file=@audio.wav
```

```python
from sarvamai import SarvamAI

client = SarvamAI(api_subscription_key="YOUR_SARVAM_API_KEY")

# Translate Indian language speech to English
response = client.speech_to_text.transcribe(
    file=open("audio.wav", "rb"),
    model="saaras:v3",
    language_code="hi-IN",
    mode="translate"
)

print(response.transcript)
# Output: My phone number is 9840950950
```

```javascript
import { SarvamAIClient } from "sarvamai";
import fs from 'fs';

const client = new SarvamAIClient({
    apiSubscriptionKey: "YOUR_SARVAM_API_KEY"
});

const audioFile = fs.createReadStream("audio.wav");

const response = await client.speechToText.transcribe({
    file: audioFile,
    model: "saaras:v3",
    language_code: "hi-IN",
    mode: "translate"
});

console.log(response.transcript);
// Output: My phone number is 9840950950
```

```bash
curl -X POST https://api.sarvam.ai/speech-to-text \
  -H "api-subscription-key: <YOUR_SARVAM_API_KEY>" \
  -H "Content-Type: multipart/form-data" \
  -F model="saaras:v3" \
  -F language_code="hi-IN" \
  -F mode="translate" \
  -F file=@audio.wav
```

```python
from sarvamai import SarvamAI

client = SarvamAI(api_subscription_key="YOUR_SARVAM_API_KEY")

# Exact word-for-word transcription without normalization
response = client.speech_to_text.transcribe(
    file=open("audio.wav", "rb"),
    model="saaras:v3",
    language_code="hi-IN",
    mode="verbatim"
)

print(response.transcript)
# Output: मेरा फोन नंबर है नौ आठ चार zero नौ पांच zero नौ पांच zero
```

```javascript
import { SarvamAIClient } from "sarvamai";
import fs from 'fs';

const client = new SarvamAIClient({
    apiSubscriptionKey: "YOUR_SARVAM_API_KEY"
});

const audioFile = fs.createReadStream("audio.wav");

const response = await client.speechToText.transcribe({
    file: audioFile,
    model: "saaras:v3",
    language_code: "hi-IN",
    mode: "verbatim"
});

console.log(response.transcript);
// Output: मेरा फोन नंबर है नौ आठ चार zero नौ पांच zero नौ पांच zero
```

```bash
curl -X POST https://api.sarvam.ai/speech-to-text \
  -H "api-subscription-key: <YOUR_SARVAM_API_KEY>" \
  -H "Content-Type: multipart/form-data" \
  -F model="saaras:v3" \
  -F language_code="hi-IN" \
  -F mode="verbatim" \
  -F file=@audio.wav
```

```python
from sarvamai import SarvamAI

client = SarvamAI(api_subscription_key="YOUR_SARVAM_API_KEY")

# Romanization - output in Latin/Roman script
response = client.speech_to_text.transcribe(
    file=open("audio.wav", "rb"),
    model="saaras:v3",
    language_code="hi-IN",
    mode="translit"
)

print(response.transcript)
# Output: mera phone number hai 9840950950
```

```javascript
import { SarvamAIClient } from "sarvamai";
import fs from 'fs';

const client = new SarvamAIClient({
    apiSubscriptionKey: "YOUR_SARVAM_API_KEY"
});

const audioFile = fs.createReadStream("audio.wav");

const response = await client.speechToText.transcribe({
    file: audioFile,
    model: "saaras:v3",
    language_code: "hi-IN",
    mode: "translit"
});

console.log(response.transcript);
// Output: mera phone number hai 9840950950
```

```bash
curl -X POST https://api.sarvam.ai/speech-to-text \
  -H "api-subscription-key: <YOUR_SARVAM_API_KEY>" \
  -H "Content-Type: multipart/form-data" \
  -F model="saaras:v3" \
  -F language_code="hi-IN" \
  -F mode="translit" \
  -F file=@audio.wav
```

```python
from sarvamai import SarvamAI

client = SarvamAI(api_subscription_key="YOUR_SARVAM_API_KEY")

# Code-mixed: English words in English, Indic words in native script
response = client.speech_to_text.transcribe(
    file=open("audio.wav", "rb"),
    model="saaras:v3",
    language_code="hi-IN",
    mode="codemix"
)

print(response.transcript)
# Output: मेरा phone number है 9840950950
```

```javascript
import { SarvamAIClient } from "sarvamai";
import fs from 'fs';

const client = new SarvamAIClient({
    apiSubscriptionKey: "YOUR_SARVAM_API_KEY"
});

const audioFile = fs.createReadStream("audio.wav");

const response = await client.speechToText.transcribe({
    file: audioFile,
    model: "saaras:v3",
    language_code: "hi-IN",
    mode: "codemix"
});

console.log(response.transcript);
// Output: मेरा phone number है 9840950950
```

```bash
curl -X POST https://api.sarvam.ai/speech-to-text \
  -H "api-subscription-key: <YOUR_SARVAM_API_KEY>" \
  -H "Content-Type: multipart/form-data" \
  -F model="saaras:v3" \
  -F language_code="hi-IN" \
  -F mode="codemix" \
  -F file=@audio.wav
```