Skip to main content
Emotion Detection classifies emotional tone from the voice signal. Classification is acoustic: it reflects how something was said, not the words used. Two recordings of identical text can receive different labels if the delivery differs. The endpoint produces no transcript, diarization, or enrichment data.

Emotion Detection (batch)

Returns application/json. There is no top-level duration field. Derive audio length from the last window if it is needed.

Try it

What you can configure

Audio formats

Accepted extensions: .aac, .aiff, .flac, .mov, .mp3, .mp4, .ogg, .opus, .wav, .webm. Maximum file size is 100 MB. Empty files are rejected with 400.

Labels

Neutral, Calm, Happy, Amused, Excited, Proud, Affectionate, Interested, Hopeful, Frustrated, Angry, Contemptuous, Concerned, Afraid, Sad, Ashamed, Bored, Tired, Surprised, Anxious, Stressed, Disgusted, Disappointed, Confused, Relieved, Confident. The same set is used by the emotion_signal enrichment on Multilingual Transcription.

Working with the time series

Windows are consecutive and cover the file from the start. A trailing remainder shorter than one full window is dropped. A file shorter than a single window returns an empty time_series, but emotion is still present, so the whole-file label is safe to rely on at any length.

Emotion alongside a transcript

Multilingual Transcription accepts emotion_signal=true, which attaches an emotion label to every utterance from the same label set, in the same call as the transcript. Use that when a transcript is also needed. This endpoint exists for whole-file classification with no transcript. See Transcription.

API reference