Skip to main content
POST
cURL
ElevenLabs’ expressive text to speech in 90+ languages, as an MP3 as long as the text. Audio tags in square brackets direct the delivery and add sound cues: [whispers], [laughs], [sarcastic], [door slams].

Mentions

This model takes no @handle mentions: saved characters, references, and audio references are not available on it. See Characters and references.

Rules

A request that breaks one of these is refused with 400 invalid_config before any gems are charged.
  • The prompt is the text to speak, at most 5000 characters, audio tags included.
  • voice is one of darian, talia, elara, baxter, eldrin, elowen, kaelen, lawrence, alicia, maisie, warren, jade, caleb, sawyer, florence, wyatt.
  • stability runs from 0 (expressive) to 1 (steady).
Every field below that you leave out keeps its default. Option values are the tokens listed per field; a numeric token may be sent as a number. Fields the schema does not list pass through to the model unchanged. The exact charge for other settings is in the response’s billing.gems_charged, and the balance at GET /v1/account.

Authorizations

Authorization
string
header
required

Create a key in API → API Keys: select Create API key, name it in the popup, then select Create key. Copy the one-time key and send it as Authorization: Bearer mage_sk_…. Keys are for server-side code only.

Headers

Idempotency-Key
string

A key of your choosing, 1 to 255 characters, scoped to your API key. A retried submit with the same key returns the original request with 200 instead of charging again. The key identifies the first submission made with it; later bodies are not compared. A refusal recorded under the key (its envelope carries request_id) replays the same way, so a new attempt needs a new key.

Required string length: 1 - 255

Body

application/json

A partial config for Eleven Speech.

prompt
string
required

The text prompt.

Minimum string length: 1
seed
integer | null

Integer seed for reproducible output; omit or send null for a random seed.

model_id
enum<string>
default:eleven-v4

The model variant to generate with.

Available options:
eleven-v4
voice
enum<string>
default:darian

The voice that speaks the prompt.

Available options:
darian,
talia,
elara,
baxter,
eldrin,
elowen,
kaelen,
lawrence,
alicia,
maisie,
warren,
jade,
caleb,
sawyer,
florence,
wyatt
stability
number
default:0.5

Response

The request was accepted; poll status_url for the result. A retried submit whose Idempotency-Key was used before answers 200 with the same shape, the original request, and charges nothing.

request_id
string<uuid>
required

The request id, also the id in status_url and cancel_url.

status
enum<string>
required

queued and in_progress are live; completed, failed, and cancelled are final.

Available options:
queued,
in_progress,
completed,
failed,
cancelled
architecture
string
required

The architecture the request generates with.

model_id
string | null
required

The model variant, when the architecture has variants.

created_at
string<date-time>
required

When the request was accepted.

updated_at
string<date-time>
required

When the request last changed.

billing
object
required
result
object | null
required

The output once status is completed, else null.

error
object | null
required

Why the request failed once status is failed, else null.

status_url
string<uri>
required

Poll this URL for the request.

cancel_url
string<uri>
required

POST to this URL to stop the request.

Last modified on October 24, 2026