API Limits

Understanding Speechify API usage constraints and quotas

Overview

Speechify API has built-in limits to ensure optimal performance and fair usage for all customers. These limits apply to input size, request frequency, and concurrent in-flight requests.

Input Size Limits

The maximum input size (including SSML tags) varies by endpoint:

EndpointCharacter LimitDescription
Speech Endpoint2,000 charactersFor single, non-streaming text-to-speech conversions
Stream Endpoint20,000 charactersFor larger texts with streaming capability

Character counts include all SSML tags in your input text.

Rate Limits

Rate limits are applied per user account, not per individual API key.

Rate limits vary based on your plan type:

Plan TypeBurst RateDescription
Free1 request/secondFor users on the free tier
Paid20 requests/secondFor users on paid plans

When you exceed the rate limit, you’ll receive a 429 Too Many Requests response with a Retry-After header indicating when you can retry.

Concurrency Limits

Concurrency limits are applied per user account, not per individual API key.

Concurrency limits restrict the number of simultaneous in-flight requests you can have at any given time. This prevents abuse where multiple overlapping requests are sent before quota checks complete.

Concurrency limits vary based on your plan type:

Plan TypeConcurrent RequestsDescription
Free1 concurrent requestFor users on the free tier
Paid15 concurrent requestsFor users on paid plans

When you exceed the concurrency limit, you’ll receive a 429 Too Many Requests response with a Retry-After header. Wait for your current request(s) to complete before sending new ones.

Concurrency limits work alongside rate limits. Both must be satisfied for a request to proceed.

FAQ

Requests exceeding the character limit will be rejected with an appropriate error response. Consider breaking larger texts into smaller chunks within the allowed limits.

You’ll receive a 429 Too Many Requests response. Check the Retry-After header in the response to know when you can retry your request.

You’ll receive a 429 Too Many Requests response. Wait for your current in-flight request(s) to complete before sending new ones. The Retry-After header will indicate when you can retry.

Upgrade to a paid plan to increase your rate limit from 1 request/second to 20 requests/second. For enterprise customers with specific needs, custom limits may be available. Please contact our sales team to discuss your requirements.

Upgrade to a paid plan to increase your concurrency limit from 1 to 15 concurrent requests. For enterprise customers with specific needs, custom limits may be available. Please contact our sales team to discuss your requirements.

You can track your API usage through your Speechify dashboard, which provides metrics on request volume and any rate limit events.