Upload audio
Send the audio as the file part and, to change the defaults, settings as a JSON config part. The response holds every utterance found in the audio and every measurement taken, the same results a realtime session would stream for the same audio.
How measurements are produced
The server detects when speech starts and stops. Each continuous stretch of speech is an utterance, listed in utterances with its span in the audio.
- During speech: a measurement is taken every
measurement_timer_msmilliseconds of speech, withtriggerset tointerval. - When speech ends: a final measurement is taken with
triggerset tospeech_ended, unless the previous measurement ended less than one second earlier. Every utterance gets at least one measurement, and audio that ends during speech ends the utterance. - Span: each measurement covers the most recent 10 seconds of the utterance, or the whole utterance if it is shorter, so consecutive measurements can overlap.
audio_start_msandaudio_end_msgive the span, counted from the start of the audio.
Limits
The server does not convert audio, so send it in the format above.
- Too large: a request over the size limit is rejected with
audio_too_long. - Unsupported formats: MP3, FLAC, Ogg, MP4 or M4A, and RIFF files other than WAV, are rejected with
unsupported_media_type. Convert them before sending. - Wrong WAV format: a WAV file at another sample rate, channel count or sample format, one that uses the extensible WAV header, or one that is truncated or malformed is rejected with
audio_decode_failed. - Anything else is read as headerless samples rather than rejected, so check the format before sending. An empty file, or one with an odd number of bytes, is rejected with
audio_decode_failed.
Authentication
Request
Settings for an audio request, sent as the JSON config part.
The audio, as 16-bit PCM at 16 kHz, mono: either a WAV file or the headerless little-endian samples. A WAV file at another sample rate, channel count or sample format is rejected rather than converted.
Response
Every measurement, in order. utterance_id says which utterance each belongs to.
Why the measurement was produced.
interval: the measurement interval (measurement_timer_ms) elapsed while speech continued.speech_ended: the utterance ended, or the audio ended while speech was in progress.
A final measurement is skipped when the previous one ended less than one second earlier, so the last measurement of an utterance may carry the trigger interval. Where an utterance ended is reported separately: as an utterance.end message in a realtime session, and in utterances in an audio file response.
Expressions detected in the speech, such as joy, anger and chuckling, in descending order of probability. Scores with equal probability are ordered by the model’s underlying score, then by name. Only expressions judged present are included, each against a threshold set for that expression, so the array may be empty. probability is the measured chance that the expression is truly present.
Qualities of the voice and the audio, such as husky, fast and background music, in descending order of probability. Scores with equal probability are ordered by the model’s underlying score, then by name. Only scores of 0.725 or above are included, so the array may be empty. probability is calibrated: the expected intensity a human rater would give the quality.

