> 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

# API: the 2,000-character limit on `/v1/audio/speech` counts spoken text, not SSML tags

`POST /v1/audio/speech` now accepts up to 2,000 characters of spoken text, the characters a request is billed for. SSML tags no longer count toward the limit.

- **The number is unchanged; only what it counts is.** Tags such as `<speak>`, `<break>` and `<prosody>` are not counted, an entity such as `&amp;` counts as one character, and a `<sub>` counts its `alias`.
- **The input as sent can be up to 20,000 characters**, markup included.
- **A refusal says which limit it hit.** It is still `400 validation_failed`, and the message names either the spoken-text limit or the 20,000-character ceiling.
- **Nothing that was accepted before is refused.** Plain text is counted exactly as before.

`/v1/audio/stream` and `/v1/audio/stream/with-timestamps` are unchanged: 20,000 characters, SSML tags included.

No API version change is needed. See [API Limits](/build/guides/concepts/api-limits#character-limits).