Skip to main content
The speech_models parameter lets you specify which model(s) to use for transcription. If omitted, it defaults to ["universal-3-5-pro", "universal-2"]. With this default, universal-3-5-pro handles its 18 supported languages; for all other languages, the request will automatically fall back to universal-2.

Available models

Preview models are subject to change. Preview models are for early testing and evaluation. Before a model becomes stable and generally available, its behavior, output quality, supported features, and API parameters may change without notice.Known limitations of universal-3-6-pro-preview: Punctuation could be less frequent for some European languages (e.g., Danish), and accuracy may drop on complex code-switching audio where the language changes frequently at the word or sentence level. We’re actively working on improvements to both.

Set the model

You can change the model by setting the speech_models in the POST request body:

Transcribe all 99 languages by combining speech models

By default, speech_models is set to ["universal-3-5-pro", "universal-2"]. AssemblyAI uses the first model in the list that supports the audio’s language, whether detected or set with language_code.

Identify the model used

After transcription completes, you can check which model was actually used to process your request by reading the speech_model_used field. This is useful when you provide multiple models in the speech_models array, as the system may fall back to a different model depending on language support.

Complete example

Here is the full working code that demonstrates model selection with error handling: