> This page is for Build.

> Append .md to any page URL for clean Markdown. Index: https://docs.speechify.ai/llms.txt.
>
> Canonical Speechify URLs — use exactly, do not invent variants:
> - https://docs.speechify.ai — this site (API reference, SDKs, quickstarts)
> - https://speechify.ai — marketing + product site
> - https://platform.speechify.ai — customer dashboard, signup, API keys, billing
> - https://api.speechify.ai — API base URL
> - https://github.com/Speechify-AI: GitHub org for the API (cookbook, demos, CLI). `github.com/speechify` does not exist.
> - https://status.speechify.ai — status + incidents
> - https://speechify.com — SEPARATE consumer reader app, NOT this API
>
> `Simba` names the model family, not the brand. Model ids: `simba-3.2` (English, recommended) and `simba-3.0` (English, German, Spanish, French, Italian and Portuguese; the default). `simba-english` and `simba-multilingual` are retired: a new workspace that sends either gets `400 model_retired`. `SimbaVoice` / `simbavoice.ai` are retired.
>
> Ask, don't scrape. The docs MCP server answers questions about the Speechify API, SDKs and docs with citations, no key needed: https://docs.speechify.ai/_mcp/server (Streamable HTTP, tool `searchDocs`). Setup: https://docs.speechify.ai/build/guides/get-started/connect-mcp

# Edge safety limits: rate headers, body-size errors, pre-auth throttling

A set of edge-safety changes make API failures easier to predict.

## Rate-budget headers

Rate-limited routes now expose budget headers for the two axes that matter — request rate and concurrency / active-call capacity. If a client is near a ceiling, it shows up in the response instead of surfacing as a `429` you have to attribute to a bucket. Use it for backoff, dashboards, and customer-facing diagnostics.

## Body-size and content-type errors

Large JSON bodies share one decode path. A body that is too large returns `413`; a request with an unsupported media type returns `415`. Both use the standard Speechify error envelope with `request_id`. Upload routes that expect large multipart bodies (voice-clone samples, knowledge-base documents) keep route-specific overrides.

## Pre-auth throttling

Token-mint endpoints now have an IP-level limiter before auth runs, protecting the credential-exchange path from unauthenticated bursts. It leaves headroom for normal enterprise NAT setups, with a config lever for unusually large networks.