Text-to-SpeechReal-time API
Limits & quotas
Learn about real-time Text-to-Speech API limits and quotas.
WebSocket API limits
Soniox applies default limits to real-time WebSocket connections and streams to ensure stability and fair use. Make sure your application respects these constraints and implements graceful recovery when a limit is reached.
You can request higher limits (except for streams per connection and stream duration) in the Soniox Console. The concurrent connections limit follows the concurrent streams limit. See Limits for how.
| Limit | Value | Notes |
|---|---|---|
| Requests per minute | 100 | Exceeding this may result in rate limiting. |
| Concurrent streams | 3 | Maximum number of TTS streams running concurrently across all your WebSocket connections. |
| Concurrent connections | Multiple of concurrent streams | Maximum number of open WebSocket connections, including idle ones. Derived from the concurrent streams limit; not set separately. Exceeding it returns max_concurrent_connections_reached. See WebSocket authentication. |
| Streams per connection | 5 | Maximum number of streams within a single WebSocket connection. This limit is fixed and cannot be increased. |
| Stream duration | 2 minutes | Each real-time stream is capped at 2 minutes of generated audio. When the cap is reached, the stream ends with a max_audio_duration_reached error and the output is truncated. To continue beyond this, start a new stream.This limit is fixed and cannot be increased. |
Learn how to track usage and monitor concurrency.