Platform release notes
Major changes to the SpeechifyAI platform, including cross-product features, infrastructure milestones, and work that does not fit cleanly under either product's own changelog. Written by humans, not generators.
More stories
-
SpeechifyAI Changelog Widget now served from cdn.speechify.ai; new flow_budget_exhausted call end reason
New widget embeds load from cdn.speechify.ai - a floating URL that tracks the current release, plus immutable version pins for change-controlled sites - and the Conversation resource's end_reason field now documents flow_budget_exhausted, a runtime backstop for looping calls.
-
SpeechifyAI Changelog Widget bundle compression and session spend-limit 402
The voice-agent widget is now served compressed - 676 kB down to 190 kB when it was measured - supports version-pinned URLs with subresource integrity, and session creation returns 402 when a spend limit or budget is hit rather than a 500.
-
SpeechifyAI Changelog TTS 404s now name the fix instead of a generic not-found
POST /v1/audio/speech, /stream, and /stream/with-timestamps now return voice_not_found or a model-not-found message on a missing voice or model, instead of an opaque passthrough 404.
-
SpeechifyAI Changelog Free tier TTS requests get a burst allowance
Free-tier /v1/audio/* requests get a 10-request burst bucket instead of capping at the 1 req/s sustained rate, so a first quickstart script no longer 429s on its second call.
-
SpeechifyAI Changelog Every public API header now has one canonical, un-prefixed name
Speechify-Request-Id and RateLimit-* are now the canonical header names across the public API; the old X-prefixed spellings keep working until 2027-07-24.
-
SpeechifyAI Changelog Voice agents can now switch language mid-call
One agent serves multiple languages in a single session, with no transfer and no dropped context - configure it with additional_languages.
-
SpeechifyAI Changelog Streaming TTS now carries word-level speech marks
A new endpoint streams speech marks alongside audio, so captions and text highlighting no longer need the non-streamed API.
-
SpeechifyAI Changelog Agent test runs get clear 402 errors on balance and plan tier checks
All four agent test-run endpoints now document 402 for a depleted balance or an exhausted spend limit, the single-run path finally takes the admission gate its siblings already had, and an explicit over-tier model override is refused instead of being honoured unchecked.
-
SpeechifyAI Changelog Simba 3.0 now speaks six European languages; Simba 1.6 marked legacy
Simba 3.0 is no longer English-only — it now officially covers English plus German, Spanish (ES/MX), French, Italian, and Brazilian Portuguese. The same release flags the Simba 1.6 models as legacy and confirms Simba 3.0 accepts cloned voices.
-
SpeechifyAI Changelog Set a per-agent maximum call duration
Voice agents now carry a max_call_duration_seconds field — a hard per-agent wall-clock cap on a single call. When a call reaches it, the agent ends automatically; null keeps the previous behavior of bounding calls only by your plan's ceiling.
-
SpeechifyAI Changelog Filter GET /v1/voices by type, locale, gender, and model
GET /v1/voices now accepts type, locale, gender, and model query filters, applied before pagination so pages stay full — so you can fetch, say, only English cloned voices that support Simba 3.2 in a single call.
-
SpeechifyAI Changelog Per-plan API rate and concurrency limits are now published
The API limits reference now lists per-plan rate limits (requests per second, plus an Agents burst) and concurrency limits for both the TTS and Agents surfaces, and 429 responses carry a docs_url plus distinct rate_limited and concurrency_limited error codes.
-
SpeechifyAI Changelog Simba 3.0 now supports cloned and personal voices
simba-3.0 accepts cloned and personal voice_id values self-serve on POST /v1/audio/speech and /v1/audio/stream, the same way simba-english does; simba-3.2 cloning still requires manual approval.
-
SpeechifyAI Changelog Cloned voices can now run on Simba 3.2 with Speechify approval
Personal cloned voices can now be synthesized on the curated Simba 3.2 model. Given the model's quality bar, each clone is gated on manual Speechify approval of the voice key, while simba-english and simba-multilingual keep serving clones self-serve.
-
SpeechifyAI Changelog List available TTS models at runtime with GET /v1/audio/models
A new GET /v1/audio/models endpoint returns the models you can pass as the model parameter, each with a default and recommended flag plus the languages it supports — so a model picker can be built at runtime instead of hardcoding the list.
-
SpeechifyAI Changelog Simba 3.2 is live on the TTS API as the recommended English model
Simba 3.2 is now available on POST /v1/audio/speech and /v1/audio/stream — a streaming-native Simba 3 model with lower TTFB, richer expressivity, and a curated voice allow-list, recommended for new English integrations.
-
SpeechifyAI Changelog API keys can now enforce monthly USD spend limits
Speechify API keys can now carry a monthly USD spend limit, returning 402 spend_cap_exceeded once a key reaches its budget for the calendar month.
-
SpeechifyAI Changelog TTS now accepts sample-rate and bitrate-specific output formats
Speechify TTS speech and streaming endpoints now accept output_format values like pcm_16000, ulaw_8000, and bitrate-tuned mp3 variants without changing existing callers.
-
SpeechifyAI Changelog The API now exposes more safety limits at the edge
Speechify added rate-budget response headers, global JSON body-size handling, clearer 413 and 415 errors, and pre-auth IP throttling for token-mint paths.
-
SpeechifyAI Changelog Workspace webhooks now have endpoint management and versioned payloads
Speechify workspace webhooks now support managed endpoints, delivery history, a resource.action event catalog, combined signatures, and per-endpoint API versions.
-
SpeechifyAI Changelog API keys now carry clearer scopes and usage attribution
Speechify API keys now have cleaner scope tiers, service-account inheritance, and usage attribution that makes spend easier to trace back to a workload.
-
SpeechifyAI Changelog Service accounts are now machine identities for the Speechify API
Service accounts give Speechify API workloads their own identity, scope ceiling, key rotation flow, usage attribution, and short-lived child keys for agent sessions.
-
SpeechifyAI Changelog Build and Agents API fields moved toward one naming shape
Build and Agents received a small API naming cleanup on June 28, including not_specified voice gender and several Agents field-name migrations.
-
SpeechifyAI Changelog GET /v1/voices now returns a pagination-ready envelope
The Build API moved GET /v1/voices from a bare array to a voices object with pagination fields, making the response shape safer for SDKs and future growth.
-
SpeechifyAI Changelog Idempotency-Key is now wired across side-effect API calls
Speechify now supports Idempotency-Key on the API calls most likely to be retried, including calls, batches, purchases, spend paths, and service-account key minting.
-
SpeechifyAI Changelog Speechify-Version gives API clients a stable date pin
Speechify APIs now support the Speechify-Version header, so HTTP clients can pin a dated contract while SDKs send their build-date version automatically.
-
SpeechifyAI Changelog TTS stream responses are documented as raw audio streams
The Build docs now spell out that POST /v1/audio/stream returns chunked raw audio, not JSON, with clearer response content types and codec notes.
-
SpeechifyAI Changelog Agents now expose live operations APIs for analytics and intervention
Speechify Agents added live transcript streaming, take-over actions, per-action RBAC, analytics queries, and saved dashboard APIs for monitoring live voice operations.
-
SpeechifyAI Changelog Voice Agents API is now public beta
Speechify Voice Agents is now publicly documented, with guides and API reference pages for agents, conversations, tools, knowledge bases, calls, and monitoring.