Overview
Text to speech, streaming, speech to text, cloning, and speech to speech. OpenAI and ElevenLabs request shapes, one key.
Last reviewed 2026-08-25
Two request shapes
Every voice route accepts both Authorization: Bearer ms_… and xi-api-key: ms_…, so the openai and elevenlabs SDKs both work with a base URL change. Request and response bodies match the OpenAI and ElevenLabs schemas.
| Capability | OpenAI shape | ElevenLabs shape |
|---|---|---|
| Text to speech | POST /openai/v1/audio/speech | POST /elevenlabs/v1/text-to-speech/{voice_id}, /stream, /with-timestamps, /stream/with-timestamps |
| Streaming | stream_format: "sse" | WS /elevenlabs/v1/text-to-speech/{voice_id}/stream-input |
| Speech to text | POST /openai/v1/audio/transcriptions, POST /openai/v1/audio/translations | POST /elevenlabs/v1/speech-to-text |
| Voices | voice name in the request | GET /elevenlabs/v1/voices, /{voice_id}, /settings/default, /{voice_id}/settings |
| Voice Cloning | POST /elevenlabs/v1/voices/add, /{voice_id}/edit, /settings/edit, DELETE, samples | |
| Voice Changer | POST /elevenlabs/v1/speech-to-speech/{voice_id}, /stream | |
| History | GET /elevenlabs/v1/history, /{item_id}, /{item_id}/audio, DELETE | |
| Account | GET /elevenlabs/v1/user, GET /elevenlabs/v1/user/subscription |
Models
| Model id | Name | License | GPU class | Cloning |
|---|---|---|---|---|
kokoro-82m | Kokoro 82M | Apache-2.0 | RTX 4090 | Preset voices |
chatterbox | Chatterbox | MIT | RTX 4090 | Yes |
chatterbox-vc | Chatterbox Voice Conversion | MIT | RTX 4090 | Preset voices |
Preset voices use kokoro-82m. Cloned voices use chatterbox. Voice Changer uses chatterbox-vc. ElevenLabs eleven_* model ids and OpenAI tts-1 names resolve to the right model for the voice you pick.
Voices
27 preset voices. Every ElevenLabs premade id and OpenAI voice name below resolves to one of them, so existing code keeps working. Unknown ids return 404, never a default voice.
| Voice id | Name | Voice | ElevenLabs premade id | OpenAI name |
|---|---|---|---|---|
af_heart | Heart | female, american | Rachel 21m00Tcm4TlvDq8ikWAM | coral |
af_bella | Bella | female, american | Domi AZnzlk1XvdvUeBnXmlld | |
af_nicole | Nicole | female, american | Aria 9BWtsMINqrJLrRacOk9x | |
af_sarah | Sarah | female, american | Sarah EXAVITQu4vr4xnSDxMaL | |
af_sky | Sky | female, american | Elli MF3mGyEYCl7XYWbV9V6O | shimmer |
af_nova | Nova | female, american | nova | |
af_alloy | Alloy | female, american | alloy | |
af_aoede | Aoede | female, american | Matilda XrExE9yKIg1WjnnlVkGX | |
af_jessica | Jessica | female, american | Jessica cgSgspJ2msm6clMCkdW9 | |
af_kore | Kore | female, american | Laura FGY2WhTYpPnrIDTdsKH5 | |
af_river | River | female, american | River SAz9YHcvj6GT2YYXdXww | |
am_adam | Adam | male, american | Josh TxGEqnHWrfWFTfGW9XjX, Adam pNInz6obpgDQGcFmaJgB | |
am_michael | Michael | male, american | Antoni ErXwobaYiN019PkbXgAt, Chris iP95p4xoKVk53GoZ742B | verse |
am_echo | Echo | male, american | Will bIHbv24MWmeRgasZH58o | echo |
am_eric | Eric | male, american | Sam yoZ06aMxZJJ28mfd3POQ, Eric cjVigY5qzO86Huf0OWal | |
am_liam | Liam | male, american | Liam TX3LPaxmHKxFdv7VOQHJ | |
am_onyx | Onyx | male, american | Roger CwhRBWXzGAHq8TQ4Fs17, Brian nPczCjzI2devNBz1zQrb | ash, onyx |
am_fenrir | Fenrir | male, american | Arnold VR6AewLTigWA4xSOukaG | |
am_puck | Puck | male, american | Charlie IKne3meq5aSn9XLyUdCD | |
bf_emma | Emma | female, british | Charlotte XB0fDUnXU5powFXDhCwa | sage |
bf_isabella | Isabella | female, british | ||
bf_alice | Alice | female, british | Alice Xb7hH8MSUJpSbSDYk0k2 | |
bf_lily | Lily | female, british | Lily pFZP5JQG7iQjIQuC4Bku | |
bm_george | George | male, british | George JBFqnCBsd6RMkjVDRZzb, Bill pqHfZKP75CvOlQylNhV4 | |
bm_lewis | Lewis | male, british | Callum N2lVS1w4EtoT3dr4eOWO | |
bm_daniel | Daniel | male, british | Daniel onwK4e9ZLuTAKqWW03F9 | |
bm_fable | Fable | male, british | ballad, fable |
Output formats
Every ElevenLabs output_format value is accepted: mp3_{22050|24000|44100}_{32..192}, pcm_{8000..48000}, opus_48000_{32..192}, ulaw_8000, alaw_8000, wav_*. OpenAI response_format values map onto it:
response_format | Served as |
|---|---|
mp3 | mp3_44100_128 |
opus | opus_48000_64 |
aac | mp3_44100_128 |
flac | wav_24000 |
wav | wav_24000 |
pcm | pcm_24000 |
Audio streams from the first chunk on every route.
Pricing
| Model | Model id | Price | Unit |
|---|---|---|---|
| Kokoro 82M | kokoro-82m | $3.00 per 1M characters | Input characters |
| Chatterbox | chatterbox | $6.00 per 1M characters | Input characters |
| Chatterbox Voice Conversion | chatterbox-vc | $0.060 per minute | Input audio, billed per second |