> This page is for Expression Measurement.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://dev.hume.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://dev.hume.ai/_mcp/server.

# Limits

**The tables below list the limits of each endpoint, grouped by media type.** Limits that both endpoints of a media type share are listed once, before the tables for each endpoint. Each endpoint row links to the section of its guide that explains the limit and what happens when a request exceeds it.

## Audio

Both audio endpoints share these limits. [Audio upload](/expression-measurement/docs/audio/upload) and [Audio realtime](/expression-measurement/docs/audio/realtime) explain them.

<table>
  <thead>
    <tr>
      <th width="28%">
        Limit
      </th>

      <th>
        Value
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        Audio format
      </td>

      <td>
        16-bit PCM, 16 kHz, mono
      </td>
    </tr>

    <tr>
      <td>
        Measurement interval
      </td>

      <td>
        3000 to 10000 ms of speech, default 3000
      </td>
    </tr>

    <tr>
      <td>
        Measurement window
      </td>

      <td>
        Up to the most recent 10 seconds of the utterance
      </td>
    </tr>
  </tbody>
</table>

### Audio upload

<table>
  <thead>
    <tr>
      <th width="28%">
        Limit
      </th>

      <th>
        Value
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        [Container](/expression-measurement/docs/audio/upload#audio-format-and-size)
      </td>

      <td>
        A WAV file or headerless samples
      </td>
    </tr>

    <tr>
      <td>
        [Request size](/expression-measurement/docs/audio/upload#audio-format-and-size)
      </td>

      <td>
        25 MB, a little over 13 minutes of audio
      </td>
    </tr>
  </tbody>
</table>

### Audio realtime

<table>
  <thead>
    <tr>
      <th width="28%">
        Limit
      </th>

      <th>
        Value
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        [Audio frame](/expression-measurement/docs/audio/realtime#audio-format)
      </td>

      <td>
        Up to 320 KB (10 seconds) of whole headerless samples
      </td>
    </tr>

    <tr>
      <td>
        [Message size](/expression-measurement/docs/audio/realtime#audio-format)
      </td>

      <td>
        1 MiB (1,048,576 bytes) for any WebSocket message; a larger one ends the session
      </td>
    </tr>

    <tr>
      <td>
        [Send rate](/expression-measurement/docs/audio/realtime#send-rate)
      </td>

      <td>
        1 second of audio per second
      </td>
    </tr>
  </tbody>
</table>

## Video

Both video endpoints share these limits. [Image upload](/expression-measurement/docs/video/upload) and [Video realtime](/expression-measurement/docs/video/realtime) explain them.

<table>
  <thead>
    <tr>
      <th width="28%">
        Limit
      </th>

      <th>
        Value
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        Image format
      </td>

      <td>
        JPEG
      </td>
    </tr>

    <tr>
      <td>
        Pixels per image
      </td>

      <td>
        8,294,400 (3840x2160)
      </td>
    </tr>

    <tr>
      <td>
        Faces measured per image
      </td>

      <td>
        2 by default, the largest. Contact support to raise it.
      </td>
    </tr>

    <tr>
      <td>
        Faces listed per image
      </td>

      <td>
        32
      </td>
    </tr>

    <tr>
      <td>
        Detection threshold
      </td>

      <td>
        0 to 1, default 0.9
      </td>
    </tr>

    <tr>
      <td>
        Minimum face size
      </td>

      <td>
        At least 1 pixel, default 60
      </td>
    </tr>
  </tbody>
</table>

### Image upload

<table>
  <thead>
    <tr>
      <th width="28%">
        Limit
      </th>

      <th>
        Value
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        [Image size](/expression-measurement/docs/video/upload#images)
      </td>

      <td>
        2 MB
      </td>
    </tr>

    <tr>
      <td>
        [Request size](/expression-measurement/docs/video/upload#images)
      </td>

      <td>
        25 MB for the whole multipart body
      </td>
    </tr>
  </tbody>
</table>

### Video realtime

<table>
  <thead>
    <tr>
      <th width="28%">
        Limit
      </th>

      <th>
        Value
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        [Message size](/expression-measurement/docs/video/realtime#frames)
      </td>

      <td>
        2 MB for any WebSocket message; a larger one ends the session
      </td>
    </tr>

    <tr>
      <td>
        [Send rate](/expression-measurement/docs/video/realtime#send-rate)
      </td>

      <td>
        3 frames per second
      </td>
    </tr>

    <tr>
      <td>
        [Consecutive measurement failures](/expression-measurement/docs/video/realtime#errors)
      </td>

      <td>
        5, after which the session ends
      </td>
    </tr>
  </tbody>
</table>

## Runs

<table>
  <thead>
    <tr>
      <th width="28%">
        Limit
      </th>

      <th>
        Value
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        [Page size](/expression-measurement/docs/runs#pagination)
      </td>

      <td>
        1 to 200 runs or events per page, default 50
      </td>
    </tr>
  </tbody>
</table>

## Scores and sessions

1. **Each score array has its own cutoff.** Vocal expressions are included when judged present, voice attributes at 0.725 or above, and face scores above 0.1. See [Reading probabilities](/expression-measurement/docs/scores#reading-probabilities).
2. **Realtime sessions close after 30 seconds without a usable media frame.** See [Connection behavior](/expression-measurement/docs/sessions#connection-behavior).

## Next steps

#### [Errors](/expression-measurement/docs/errors)

The codes returned when a request or frame exceeds a limit.

#### [Billing](/expression-measurement/docs/billing)

What each endpoint bills, and which rejected frames are not billed.