Limits
Audio upload takes up to 25 MB of 16-bit, 16 kHz mono audio, a little over 13 minutes, and image upload takes JPEG images of up to 2 MB each, up to 25 MB in all. Realtime sessions take up to 1 second of audio per second or 3 video frames per second, and each organization can make up to 600 requests per minute. Limits that both endpoints of a media type share are listed once, before each endpoint’s table. Each table names the error a request, frame or message outside that limit returns. See Errors for what each code means.
Audio
Both audio endpoints share these limits. Audio upload and Audio realtime explain them.
Audio upload
Audio realtime
Video
Both video endpoints share these limits. Image upload and Video realtime explain them.
Image upload
Video realtime
Runs
Rate limits
The limit counts requests to every Expression Measurement endpoint over a sliding 60-second window: audio and image uploads, realtime handshakes and run requests alike. Every API key in an organization shares it. Frames sent within a realtime session do not count toward it; the session’s send rate limits them instead: 1 second of audio per second for audio and 3 frames per second for video. A 429 carries a Retry-After header with the number of seconds to wait before retrying. See Handling errors.
There is no separate limit on how many uploads or realtime sessions an organization runs at once. When the service is at capacity, an upload is refused with 503 server_busy and a Retry-After header.
Scores and sessions
- 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.
- Realtime sessions close after 30 seconds without a usable media frame. See Connection behavior.