Model selection
The speech_models parameter lets you specify which model to use for transcription. You can provide multiple models in priority order, and our system will automatically route to the best available model based on your request.
speech_models is required
You must include the speech_models parameter in every pre-recorded transcription request. There is no default model. If you omit speech_models, the request will fail.
Model routing behavior: The system attempts to use the models in priority order falling back to the next model when needed. For example, with ["universal-3-pro", "universal-2"], the system will try to use universal-3-pro for languages it supports (English, Spanish, Portuguese, French, German, and Italian), and automatically fall back to Universal for all other languages. This ensures you get the best performing transcription where available while maintaining the widest language coverage.
Recommended model
We recommend Universal-3 Pro as your primary model for pre-recorded transcription. It delivers the highest accuracy with support for fine-tuning and customization via prompting. Use ["universal-3-pro", "universal-2"] to get the best accuracy where available while maintaining the widest language coverage.
Python SDK
JavaScript SDK
API
Quickstart
Python
Python SDK
JavaScript
JavaScript SDK
You can change the model by setting the speech_models in the POST request body:
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.
Python
Python SDK
JavaScript
JavaScript SDK
Complete example
Here is the full working code that demonstrates model selection with error handling: