API: Concurrency Limits for TTS Endpoints
We’ve introduced concurrency limits to prevent abuse and ensure fair usage across all users. These limits restrict the number of simultaneous in-flight text-to-speech requests per user.
Concurrency Limits
What This Means
- Free users are limited to 1 concurrent in-flight TTS request at a time
- Paid users can have up to 15 concurrent in-flight TTS requests
- Concurrency limits are enforced per user account, not per API key
- When the limit is exceeded, you’ll receive a
429 Too Many Requestsresponse with aRetry-Afterheader
Affected Endpoints
POST /v1/audio/speechPOST /v1/audio/stream
Concurrency limits work alongside rate limits. Both must be satisfied for a request to proceed. If you exceed the concurrency limit, wait for your current request(s) to complete before sending new ones.
API: Differentiated Rate Limits for Free and Paid Users
We’ve introduced differentiated rate limiting based on user plan type to ensure fair usage and optimal performance for all users.
Rate Limits
What This Means
- Free users are now subject to a lower rate limit of 1 request per second
- Paid users continue to enjoy the standard rate limit of 20 requests per second
- When rate limited, responses include a
Retry-Afterheader indicating when to retry
Affected Endpoints
POST /v1/audio/speechPOST /v1/audio/stream
If you exceed the rate limit, you’ll receive a 429 Too Many Requests response.
Check the Retry-After header for guidance on when to retry your request.
API: Added Support for PCM Audio Format
Support for the PCM audio format is now available for both the Speech and Stream endpoints.
SDK: New Typescript SDK
We’ve published a new Typescript SDK. Try it out:
Together with the release, the old @speechify/api-sdk package is now deprecated.
Migrating from @speechify/api-sdk
The JWT-based authentication endpoint has been deprecated. This means that the auto-refresh token feature has also been removed in the new SDK.
- How to call individual endpoints is available in the API Explorer. Switch to the Typescript SDK tab to see the snippet.
- The full implementation of the new SDK is available in the GitHub repository.
Quick Start Guide
API: Deprecated POST /v1/auth/token endpoint
The POST /v1/auth/token endpoint is now deprecated. We will only support API Key authentication moving forward.
API: Download Personal Voice Sample
We’ve added a new endpoint to download personal cloned voice sample file
API: Text Normalization
We’ve added a new option to the API to normalize the text. If enabled, it will transform numbers, dates, etc. into words. For example, “55” is normalized into “fifty five”. This can increase latency due to additional processing required for text normalization.
API: Loudness Normalization Update
Previously, the loudness normalization was enabled by default. Now it’s disabled by default as we believe, together with our internal model improvements, it will improve the overall quality of the audio.
SDK: Python
We’ve released a new Python SDK. Checkout the repository for more information.
API: Locale support for personal voices
When creating a personal voice, the locale can be specified. Please refer to the full API reference.
API: Streaming format fallback
Streaming endpoint now defaults to audio/mpeg when the Accept header is not provided or is invalid.
API: Voices avatar and gender support
When cloning the voice, avatar and gender can be specified. Please refer to the full API reference.