API: list available TTS models with `GET /v1/audio/models`
GET /v1/audio/models returns the text-to-speech models you can pass as the model parameter, so you can populate a model picker at runtime instead of hardcoding the list.
API: New `simba-3.2` streaming model (recommended)
simba-3.2 is now available on POST /v1/audio/speech and POST /v1/audio/stream via the model field. It is the go-forward Simba 3 model — streaming-native, with lower TTFB and richer expressivity than simba-3.0. We recommend simba-3.2 for new English integrations.
simba-3.2 serves from a curated voice allow-list. Pass one of its registered voice IDs as voice_id: beatrice_32, dominic_32, edmund_32, geffen_32, harper_32, hugh_32, imogen_32, wyatt_32.
API: voice-gender value `notSpecified` is now `not_specified`
The voice-gender enum value notSpecified is renamed not_specified so the gender vocabulary is consistent snake_case across the API. This affects the gender field on GET /v1/voices, GET /v1/voices/{voice_id}, and POST /v1/voices (request enum and response), and the male/female values are unchanged.
- Before (pin
2026-06-27or earlier): the unspecified gender isnotSpecified. - After (
2026-06-28+): the unspecified gender isnot_specified.
API: `GET /v1/voices` returns an object envelope
GET /v1/voices now returns an object envelope instead of a bare JSON array, so the list can carry pagination and future sibling fields without another breaking change.
Before (pin 2026-06-26 or earlier): a bare array of voice objects.
After (2026-06-27+):
API version pinning with `Speechify-Version`
The API now supports date-based version pinning with the Speechify-Version request header.
- Current version:
2026-06-25 - Header format:
YYYY-MM-DD - Resolution order: request header, workspace default, oldest supported version
- Migration path: official SDKs pin their build-date version automatically; raw HTTP callers should send
Speechify-Versionexplicitly.
Docs: response-streaming behaviour on `POST /v1/audio/stream` clarified
The documentation for POST /v1/audio/stream now describes the endpoint’s response shape accurately:
-
The response body is the raw audio bytes delivered over HTTP chunked transfer encoding. There is no JSON envelope and no Base64 encoding — that shape is what
POST /v1/audio/speechreturns. -
The
Acceptheader selects the container/codec. Each format’s responseContent-Typeand codec are now listed explicitly: -
audio/pcmreturns the IANA-registeredaudio/L16type withrateandchannelsparameters per RFC 4856. Byte order is little-endian (industry convention, not the big-endian default the RFC specifies). The 200 response in the API reference now listsaudio/L16alongsideaudio/mpeg/audio/ogg/audio/aac.
API: New `simba-3.0` streaming model
simba-3.0 is now available on POST /v1/audio/speech and POST /v1/audio/stream via the model field. It’s the new streaming-native voice model with lower TTFB and richer expressivity, including direct support for per-voice speaking-rate and ADV (Arousal, Dominance, Valence) emotion controls inherited from the voice catalog.
New API Domain: api.speechify.ai
The Speechify API is now available at https://api.speechify.ai.
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.
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.
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.
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.