Concurrency limit
Every AssemblyAI account has certain limits to ensure smooth and optimal performance for all users.
Concurrency limit refers to the number of transcripts or streaming audio sessions that a user can process at the same time. This is also sometimes referred to as "throttle". You can find it by signing into your account and checking your settings.
There's also a usage limit, which determines the number of hours of audio that a user can transcribe in a given month. This is specific to each account and can also be found in your account settings.
Additionally, there's a rate limit at the API level, which is the number of API calls that a user can make within a particular time frame. This is to ensure that a single user or bad actor doesn't affect the performance of the API for other users.
AssemblyAI concurrency limits
AssemblyAI has two types of accounts: Free and Paid. To upgrade to a Paid account, you need to add a credit card after creating your account.
The default concurrency limits for each account type are listed in the tables below.
The concurrency values listed below are the default values. Higher concurrency is available upon request with no limit to what our API can support. If you need a higher concurrency please either contact our Sales team or reach out to us at support@assemblyai.com.
Asynchronous limits
Below are the default limits for how many requests you can have processing in parallel when submitting jobs to our /v2/transcript
endpoint.
Free | 5 |
Paid | 200 |
Streaming Speech-to-Text limits
Below are the default limits for how many streaming sessions you can have open in parallel.
Free | 0 |
Paid | 100 |
Streaming Speech-to-Text is a paid-only model. In addition to the concurrency limit, there's a rate limit for the API, which restricts users to a maximum of 20,000 requests per five minutes.
Exceeding your concurrency limit
If you use the /v2/transcript
endpoint and exceed your concurrency limit, any additional jobs are placed in a queue until currently processing jobs complete. While all transcripts will still be processed, the turnaround time may be longer than usual. As soon as a processing job completes, one of the queued jobs begins processing in its place.
If you use Streaming Speech-to-Text and exceed your concurrency limit, you'll receive a 402 error and a response that includes a "This account has exceeded the number of allowed streams"
message.
If you exceed your concurrency limit, you'll receive an email stating that your transcripts have been throttled. Please note that you'll receive it only once per day.
Common causes of exceeding your concurrency limits
The most common causes of a notification that you have exceeded your concurrency limit and been throttled is by exceeding the number of requests or sessions that you can run in parallel, but there are other potential causes of throttling.
Your account has reached a negative balance
When your account first reaches a negative balance you can still use the API for a certain period but your concurrency limit effectively becomes 1. If you unexpectedly receive an email that your account has been throttled, check your account balance as this could be the cause.
You're not properly closing streaming sessions
When ending a streaming session you should send a JSON message with a terminate_session
key set to true
. Otherwise your streaming session remains open even after you close the WebSocket connection.
Not properly closing your session by sending the terminate_session
message can sometimes cause you to exceed your throttle limit. If you use Streaming Speech-to-Text and unexpectedly receive an email that your account has been throttled, check to ensure that you're properly closing your sessions.
Upgrading
Concurrency limits can be adjusted based on the needs of each individual customer. If you need a higher limit than your existing concurrency limit please either contact our Sales team or reach out to us at support@assemblyai.com to discuss having your limit increased.