> 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

# Service accounts, clearer key scopes, and usage attribution

API keys now carry clearer scopes and usage attribution, and workloads can own their credentials through service accounts.

## Service accounts

A service account is a machine identity for a workload rather than a person, so `billing-sync`, `nightly-audio-renderer`, or `support-bot-runtime` can own its own credentials and limits. It owns one or more API keys and carries the scope ceiling those keys inherit — tighten the account and every inherited key tightens; delete the account and the whole credential family is revoked.

Service-account keys support zero-downtime rotation: rotate the key, deploy the new secret, and let the old one expire after the grace window (set it to `0` to cut over immediately). The rotation call is idempotent.

For short-running jobs, a designated minter key can call `POST /v1/auth/service-account-keys` to mint a child credential with a required TTL and a weaker-or-equal scope set. A child key can never exceed the minter's scopes, expires within 24 hours, and cannot mint further keys — spend and usage still roll up to the same service account.

## Scopes and attribution

The Audio API now uses `audio:all` for speech generation. Voices use the standard `voices:read`, `voices:write`, and `voices:all` tiers. Service-account keys inherit the account's ceiling, so a TTS-only renderer can hold `audio:all` and nothing else.

Usage events now carry the API key or service-account identity that caused them. The console can label usage by credential, and the key directory keeps enough metadata for reports to stay readable after keys rotate — when a bill spikes, you can ask which key did it, not just which workspace.

See the [service accounts guide](https://docs.speechify.ai/build/guides/get-started/service-accounts) for the full setup flow.