> 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: 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. ```json { "models": [ { "id": "simba-english", "name": "Simba English", "default": true, "recommended": false, "description": "English-only synthesis; the model used when a request omits `model`.", "languages": ["en"] }, { "id": "simba-multilingual", "name": "Simba Multilingual", "default": false, "recommended": false, "description": "Synthesis across 30+ languages, including mixed-language input.", "languages": ["en", "fr-FR", "de-DE", "es-MX", "…"] }, { "id": "simba-3.0", "name": "Simba 3.0", "default": false, "recommended": false, "description": "Earlier streaming-native model, English only. Superseded by simba-3.2.", "languages": ["en"] }, { "id": "simba-3.2", "name": "Simba 3.2", "default": false, "recommended": true, "description": "Streaming-native model with the lowest time-to-first-byte and richest expressivity, English only today.", "languages": ["en"] } ] } ``` Each entry carries the model `id`, a human-readable `name` and `description`, a `default` flag (the model used when a request omits `model`), a `recommended` flag (the model we suggest for new integrations - distinct from the default, which stays stable for backwards compatibility), and the `languages` it can synthesize (BCP-47 locale strings). The catalog is returned in a single response and is not paginated. These values reflect current support and can change over time, so read them at runtime rather than caching them.