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

# Soniox

> Connect Soniox to a Vapi assistant and configure the stt-rt-v5 real-time speech-to-text model for low-latency, multilingual transcription and endpointing.

Soniox is a real-time speech-to-text (STT) provider that transcribes caller audio for Vapi assistants. Use the `stt-rt-v5` model for new configurations.

## What is Soniox?

Soniox provides low-latency, multilingual transcription and semantic endpointing for voice assistants. The `stt-rt-v5` model supports real-time audio and is the current model for new Soniox configurations.

## Speech-to-text

Set `transcriber.provider` to `soniox` and `transcriber.model` to `stt-rt-v5`. Set `transcriber.languages` to an empty array for automatic language detection.

```bash
curl -X PATCH "https://api.vapi.ai/assistant/ASSISTANT_ID" \
  -H "Authorization: Bearer $VAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "transcriber": {
      "provider": "soniox",
      "model": "stt-rt-v5",
      "languages": []
    }
  }'
```

For additional API configuration options, review the [`SonioxTranscriber` fields](/api-reference/assistants/create#request.body.transcriber.SonioxTranscriber) in the Create Assistant API reference.

### Supported models

| Model                   | Model ID    |
| ----------------------- | ----------- |
| Soniox STT Real-Time v5 | `stt-rt-v5` |

### Automatic language detection

Set `transcriber.languages` to an empty array to let Soniox automatically detect and transcribe any supported language, including code-switching within a conversation. You can provide expected language codes, such as `["en", "es"]`, instead. Vapi defaults `transcriber.languageHintsStrict` to `true`, which restricts transcription to the provided languages. Set it to `false` to use the values as hints while allowing other supported languages. See [Soniox language hints](https://soniox.com/docs/stt/concepts/language-hints) for provider details.

### Supported languages

The following languages are currently accepted by Vapi for Soniox. See [Soniox supported languages](https://soniox.com/docs/stt/concepts/supported-languages) for provider details.

| Language    | Language code |
| ----------- | ------------- |
| Afrikaans   | `af`          |
| Albanian    | `sq`          |
| Arabic      | `ar`          |
| Azerbaijani | `az`          |
| Basque      | `eu`          |
| Belarusian  | `be`          |
| Bengali     | `bn`          |
| Bosnian     | `bs`          |
| Bulgarian   | `bg`          |
| Catalan     | `ca`          |
| Chinese     | `zh`          |
| Croatian    | `hr`          |
| Czech       | `cs`          |
| Danish      | `da`          |
| Dutch       | `nl`          |
| English     | `en`          |
| Estonian    | `et`          |
| Finnish     | `fi`          |
| French      | `fr`          |
| Galician    | `gl`          |
| German      | `de`          |
| Greek       | `el`          |
| Gujarati    | `gu`          |
| Hebrew      | `he`          |
| Hindi       | `hi`          |
| Hungarian   | `hu`          |
| Indonesian  | `id`          |
| Italian     | `it`          |
| Japanese    | `ja`          |
| Kannada     | `kn`          |
| Kazakh      | `kk`          |
| Korean      | `ko`          |
| Latvian     | `lv`          |
| Lithuanian  | `lt`          |
| Macedonian  | `mk`          |
| Malay       | `ms`          |
| Malayalam   | `ml`          |
| Marathi     | `mr`          |
| Norwegian   | `no`          |
| Persian     | `fa`          |
| Polish      | `pl`          |
| Portuguese  | `pt`          |
| Punjabi     | `pa`          |
| Romanian    | `ro`          |
| Russian     | `ru`          |
| Serbian     | `sr`          |
| Slovak      | `sk`          |
| Slovenian   | `sl`          |
| Spanish     | `es`          |
| Swahili     | `sw`          |
| Swedish     | `sv`          |
| Tagalog     | `tl`          |
| Tamil       | `ta`          |
| Telugu      | `te`          |
| Thai        | `th`          |
| Turkish     | `tr`          |
| Ukrainian   | `uk`          |
| Urdu        | `ur`          |
| Vietnamese  | `vi`          |
| Welsh       | `cy`          |

## Low-confidence filter

You can discard transcripts that Soniox returns with low confidence, so the assistant does not respond to uncertain speech. In the dashboard, open the transcriber **Advanced settings** and turn on the **Low-confidence filter** to set a threshold. Via the API, set `transcriber.confidenceThreshold` to a value between `0` and `1`.

```bash
curl -X PATCH "https://api.vapi.ai/assistant/ASSISTANT_ID" \
  -H "Authorization: Bearer $VAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "transcriber": {
      "provider": "soniox",
      "model": "stt-rt-v5",
      "confidenceThreshold": 0.4
    }
  }'
```

Confidence is the mean of the per-token scores for the transcript. Any final transcript below the threshold is discarded. When `confidenceThreshold` is unset, nothing is discarded by this setting. See the [`SonioxTranscriber` fields](/api-reference/assistants/create#request.body.transcriber.SonioxTranscriber) for the full configuration.

## Related

* Configure a [transcriber fallback plan](/customization/transcriber-fallback-plan).
* Review the [Soniox speech-to-text models](https://soniox.com/docs/stt/models).