Model Type

There are 3 types of models with varying levels of accuracy: precision, enhanced and base. You can configure which model to use when creating the speech recognition request. If the model is not specified, the default model type is set to precision.


In the example below, we set the model parameter to enhanced.

from soniox.transcribe_file import transcribe_file_short
from soniox.speech_service import SpeechClient, set_api_key


def main():
    with SpeechClient() as client:
        result = transcribe_file_short(
            "../test_data/test_audio.flac", client, model="enhanced"
        for word in result.words:
            print(f"{word.text} {word.start_ms} {word.duration_ms}")

if __name__ == "__main__":


const { SpeechClient } = require("@soniox/soniox-node");

// Do not forget to set your Soniox API key.
const speechClient = new SpeechClient();

(async function () {
    const result = await speechClient.transcribeFileShort(
            model: "enhanced"

    for (const word of result.words) {
        console.log(`${word.text} ${word.start_ms} ${word.duration_ms}`);

Model Type Summary

Type Config Use Cases Accuracy
Precision precision Medical Documentation
Conversational AI
Live/Video Captioning
Voice Commands
Significantly more accurate than Google, AWS, Azure and other providers.
Enhanced enhanced Conversational Analytics
Meeting Transcriptions
Contact Centers
More accurate than Google, AWS, Azure and other providers.
Base base Content Moderation
Archive Digitalization
Sufficient accuracy for content moderation and archive digitalization.
cookie Change your cookie preferences