Soniox
Docs
Guides

Migrate to model v2

Migrating from model `stt-rt-preview` to `stt-rt-preview-v2`

Model v2

At Soniox we are always innovating to give you the highest accuracy, lowest latency voice AI. Available today we are introducing our latest model: stt-rt-preview-v2

We have trained stt-rt-preview-v2 to offer the most robust transcription and translation product experience. What you will find with this new model is higher transcription accuracy, better translation quality, and more reliable language switching. Thank you to all of the users who helped us validate our latest model.

The new model also supports translation between all language pairs with no restrictions, simplifying translation configuration. What this means is you can use Soniox to translate from any language, to any language — in real time and with incredible accuracy.

This new model requires that you modify your usage of the Sonox API by this Friday, August 15 2025

In this guide, "Model v2" refers to stt-rt-preview-v2.

Updating your code

Update your integration to use our latest and most accurate model. When starting a real-time transcription session, set the model field in your start request to stt-rt-preview-v2.

Example:

{
  "api_key": "<SONIOX_API_KEY>",
  "audio_format": "auto",
  "model": "stt-rt-preview-v2",
  "language_hints": ["en", "es"]
}

To view all available models and their features, see: Get models.

Transcription

No changes are required for pure transcription use cases — your code will work as before once you update the model name as shown above.

One-way translation

In order to support any language to any language real-time translation in the latest model, we deprecated a few of the parameters in our API.

Old behavior

Previously, you were required to specify source_languages and could optionally provide exclude_source_languages.

New behavior

The model v2 will translate all speech (all source languages) to the specified target language. It is no longer necessary or supported to specify source languages to include or exclude.

Breaking change

Do not include source_languages and exclude_source_languages in your start request.

Two-way translation

No changes are required for two-way translation use cases — your code will work as before once you update the model name.

On this page