> ## Documentation Index
> Fetch the complete documentation index at: https://docs.modulate.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Emotion Detection

> Emotion detection API — classify the emotional tone of an audio file, with a whole-file label and a per-window time series, in a single synchronous HTTP POST.

Emotion Detection classifies the emotional tone of an audio file from the voice signal. It returns a single whole-file `emotion` label plus a time series of consecutive fixed-length windows, each with its own label. It is a pure classification endpoint — no transcript, diarization, or enrichment data is produced.

| | Batch |
| - | - |
| **Use case** | Classify the emotional tone of an audio file |
| **Protocol** | HTTP POST |
| **Max file size** | 100 MB |
| **Output** | Whole-file `emotion` label + per-window time series |
| **Options** | None. Only `upload_file` is accepted |

Each `time_series` entry covers one fixed-length window, delimited by its `start_ms` and `duration_ms`; a trailing remainder shorter than one full window is omitted. A file shorter than one window returns an empty `time_series` — the whole-file `emotion` label is always present.

<Note>
  If you need emotion labels alongside a transcript, use the `emotion_signal` enrichment on Multilingual Transcription instead — see [Emotion Detection](/get-started/emotion).
</Note>

For a side-by-side comparison with the other Modulate capabilities, see [Which API should I use?](/guides/which-api).

## Authentication

Uses the `X-API-Key` header. See [Authentication and rate limits](/guides/authentication).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.