Rate limits
The Munsit API uses a credit-based system with concurrent request limits to ensure fair usage and optimal performance for all users. Here's how the limits work, what happens when you hit one, and how to handle it.
Concurrent requests
For streaming text-to-speech requests, Munsit enforces concurrent request limits based on your subscription plan. This ensures stable performance and prevents system overload.
| Plan | Concurrent request limit |
|---|---|
| Free / no plan | 1 concurrent request |
| Basic | 2 concurrent requests |
| Starter | 5 concurrent requests |
| Growth | 10 concurrent requests |
| Scale | 20 concurrent requests |
| Enterprise | Unlimited concurrent requests |
Live streaming sessions
Streaming sessions on WS /api/v1/listen have their own limits, separate from the concurrent-request limits above.
| Limit | Value |
|---|---|
| Concurrent sessions | 5 simultaneous streaming sessions per API key by default, raised on request. Exceeding it closes the new connection with code 1008. |
| Idle timeout | 12 seconds with neither audio nor a KeepAlive message closes the session (code 1011). |
| Pacing | Audio may be buffered at most 60 seconds ahead of real time (code 4008). |
| Session length | Unlimited while the connection stays active; unbroken speech is force-segmented about every 60 seconds so results keep flowing. |
1008. The closing Metadata event reports the session total as audio_seconds_billed.What happens when you exceed a limit
When you exceed your concurrent request limit, the API responds with HTTP 429 and error code 42901 (ConcurrencyLimitError). Either wait for existing requests to complete, or upgrade your plan to increase your limit.
Best practices
Three habits keep you clear of 429s in production.
| Practice | What to do |
|---|---|
| Monitor your usage | Check your credit balance and concurrent request limits regularly from the dashboard. |
| Plan ahead | Consider your usage patterns when selecting a subscription plan. |
| Handle rate limits | Implement retry logic with exponential backoff for 429 errors, and queue requests in your application rather than firing them all at once. |
Subscription plans
For detailed information about subscription plans, credit limits, concurrent request limits, and pricing, visit the subscription page in the dashboard.
Working with an AI assistant? Every page is available as Markdown: add .md to the URL, or send an Accept: text/markdown header. For the whole documentation in one request, point it at llms-full.txt; the page index is llms.txt. Or use Copy Page, top right.
