Voices
GET /v2/voices
Lists the voices of the active speech model in the paginated ElevenLabs shape:
curl "$SONIX_URL/v2/voices" -H "xi-api-key: $SONIX_API_KEY"
{
"voices": [
{
"voice_id": "af_alloy",
"name": "Alloy",
"category": "premade",
"labels": { "gender": "female", "language": "en" }
}
],
"has_more": false,
"total_count": 1,
"next_page_token": null
}
The legacy GET /v1/voices returns the same list as { "voices": [...] }.
The catalog reflects what the deployment you target actually serves; list voices first to discover what your endpoint offers.
Voice resolution
Wherever a voice is named (the voice field on
/v1/audio/speech or the {voice_id} path segment
on the ElevenLabs surface), sonix resolves it in
order:
- An exact match against the model's voice catalog (
af_alloy), then a case-insensitive match, then a catalog display-name match (Alloy). - The literal
defaultselects the model's default voice. - An OpenAI-style name (
alloy) maps to the catalog ID with the same suffix (af_alloy) when one exists.
So OpenAI's stock voice names work out of the box on models whose catalogs follow that convention. Exact catalog IDs always win.
Default voices
Every voice below reads the same line, so what you hear between two rows is the voice and nothing else. Press ↑ and ↓ to step through a catalog, playing each voice as it lands.
kokoro-82m
Style-vector voices covering American and British English.
af_heart“Every voice reads the same line, so the only thing that changes is how it sounds.”
| id | name | language | gender | quality | style | len | |
|---|---|---|---|---|---|---|---|
af_heartdefault | Heart | en-US | female | A | neutral | 4.9s | |
af_alloy | Alloy | en-US | female | C | neutral | 4.9s | |
af_aoede | Aoede | en-US | female | C+ | neutral | 5.2s | |
af_bella | Bella | en-US | female | A- | expressive | 5.0s | |
af_jessica | Jessica | en-US | female | D | neutral | 4.2s | |
af_kore | Kore | en-US | female | C+ | neutral | 5.0s | |
af_nicole | Nicole | en-US | female | B- | whisper | 7.4s | |
af_nova | Nova | en-US | female | C | neutral | 4.6s | |
af_river | River | en-US | female | D | neutral | 4.2s | |
af_sarah | Sarah | en-US | female | C+ | neutral | 4.9s | |
af_sky | Sky | en-US | female | C- | neutral | 4.8s | |
am_adam | Adam | en-US | male | F+ | neutral | 4.8s | |
am_echo | Echo | en-US | male | D | neutral | 4.9s | |
am_eric | Eric | en-US | male | D | neutral | 4.2s | |
am_fenrir | Fenrir | en-US | male | C+ | neutral | 5.1s | |
am_liam | Liam | en-US | male | D | neutral | 4.4s | |
am_michael | Michael | en-US | male | C+ | neutral | 5.5s | |
am_onyx | Onyx | en-US | male | D | neutral | 4.5s | |
am_puck | Puck | en-US | male | C+ | neutral | 4.9s | |
bf_emma | Emma | en-GB | female | B- | neutral | 5.5s | |
bf_isabella | Isabella | en-GB | female | C | neutral | 4.9s | |
bm_george | George | en-GB | male | C | neutral | 4.7s | |
bm_lewis | Lewis | en-GB | male | D+ | neutral | 4.7s | |
bm_daniel | Daniel | en-GB | male | D | neutral | 4.8s |
↑↓ steps through voices and plays each · esc stops
OpenAI's alloy, echo, onyx and nova resolve by suffix. fable,
shimmer, ash, ballad, coral, sage and verse have no counterpart
here; they return a validation error rather than silently remapping to a
different voice.
kitten-tts-nano-0.8, kitten-tts-micro-0.8 and kitten-tts-mini-0.8
All three sizes share the same eight voice ids and display names, but they are different models and do not sound the same — mini reads the same line more slowly than nano, with micro between them. Compare the tables before picking a size.
expr-voice-2-f“Every voice reads the same line, so the only thing that changes is how it sounds.”
| id | name | language | gender | style | len | |
|---|---|---|---|---|---|---|
expr-voice-2-fdefault | Bella | en | female | expressive | 5.8s | |
expr-voice-2-m | Jasper | en | male | expressive | 3.0s | |
expr-voice-3-f | Luna | en | female | expressive | 3.3s | |
expr-voice-3-m | Bruno | en | male | expressive | 3.5s | |
expr-voice-4-f | Rosie | en | female | expressive | 3.8s | |
expr-voice-4-m | Hugo | en | male | expressive | 3.3s | |
expr-voice-5-f | Kiki | en | female | expressive | 3.0s | |
expr-voice-5-m | Leo | en | male | expressive | 4.4s |
↑↓ steps through voices and plays each · esc stops
expr-voice-2-f“Every voice reads the same line, so the only thing that changes is how it sounds.”
| id | name | language | gender | style | len | |
|---|---|---|---|---|---|---|
| – | expr-voice-2-fdefault | Bella | en | female | expressive | — |
| – | expr-voice-2-m | Jasper | en | male | expressive | — |
| – | expr-voice-3-f | Luna | en | female | expressive | — |
| – | expr-voice-3-m | Bruno | en | male | expressive | — |
| – | expr-voice-4-f | Rosie | en | female | expressive | — |
| – | expr-voice-4-m | Hugo | en | male | expressive | — |
| – | expr-voice-5-f | Kiki | en | female | expressive | — |
| – | expr-voice-5-m | Leo | en | male | expressive | — |
↑↓ steps through voices and plays each · esc stops · 8 without a sample
expr-voice-2-f“Every voice reads the same line, so the only thing that changes is how it sounds.”
| id | name | language | gender | style | len | |
|---|---|---|---|---|---|---|
expr-voice-2-fdefault | Bella | en | female | expressive | 7.4s | |
expr-voice-2-m | Jasper | en | male | expressive | 4.2s | |
expr-voice-3-f | Luna | en | female | expressive | 5.2s | |
expr-voice-3-m | Bruno | en | male | expressive | 4.7s | |
expr-voice-4-f | Rosie | en | female | expressive | 5.1s | |
expr-voice-4-m | Hugo | en | male | expressive | 4.5s | |
expr-voice-5-f | Kiki | en | female | expressive | 4.6s | |
expr-voice-5-m | Leo | en | male | expressive | 6.1s |
↑↓ steps through voices and plays each · esc stops
qwen3-tts-0.6b
Nine preset speakers baked into the model. Voice cloning is not available. Address each speaker in its native language for best results — which is why the Chinese, Japanese and Korean speakers below are auditioned in their own language rather than in English.
aidenen “Every voice reads the same line, so the only thing that changes is how it sounds.”zh “每个声音都朗读同一句话,所以唯一改变的是它听起来的感觉。”ja “すべての声が同じ文章を読みます。変わるのは響きだけです。”ko “모든 목소리가 같은 문장을 읽습니다. 달라지는 것은 소리뿐입니다.”
| id | name | language | gender | accent | style | len | |
|---|---|---|---|---|---|---|---|
aidendefault | Aiden | en-US | male | — | sunny American | 5.5s | |
ryan | Ryan | en | male | — | dynamic, rhythmic | 8.0s | |
vivian | Vivian | zh | female | — | bright, young | 8.1s | |
serena | Serena | zh | female | — | warm, gentle | 7.7s | |
uncle_fu | Uncle Fu | zh | male | — | seasoned, mellow | 11.7s | |
dylan | Dylan | zh | male | Beijing dialect | youthful | 10.1s | |
eric | Eric | zh | male | Sichuan (Chengdu) dialect | lively | 8.8s | |
ono_anna | Ono Anna | ja | female | — | playful | 6.1s | |
sohee | Sohee | ko | female | — | warm | 8.5s |
↑↓ steps through voices and plays each · esc stops
chatterbox
The catalog's single Default voice uses the checkpoint's pinned conds.pt
conditioning. The upstream checkpoint does not document whose voice it is, so
it is not presented as a named person; the OpenAI alias alloy resolves to the
same conditioning. This model is English only. It returns a complete 24 kHz
mono WAV rather than live streaming, and every output carries the upstream
Perth watermark.
default“Every voice reads the same line, so the only thing that changes is how it sounds.”
| id | name | language | style | len | |
|---|---|---|---|---|---|
defaultdefault | Default | en | pinned conditioning | 4.0s |
↑↓ steps through voices and plays each · esc stops
pocket-tts
Ten predefined voices baked into the model. This model is English only. Voice cloning is not available: the deployed bundle is upstream's no-cloning release, so these ten voice states are the entire surface. The default, Alba, is built from Alba MacKenna's recordings (CC BY 4.0); the other nine come from CC0 sources (Kyutai voice donations, LibriVox) and CC-BY-4.0 VCTK recordings.
alba“Every voice reads the same line, so the only thing that changes is how it sounds.”
| id | name | language | gender | style | len | |
|---|---|---|---|---|---|---|
albadefault | Alba | en | female | casual, conversational | 4.5s | |
azelma | Azelma | en | — | VCTK speaker | 5.7s | |
bill_boerst | Bill Boerst | en | male | LibriVox reader | 4.8s | |
caro_davy | Caro Davy | en | — | LibriVox reader | 5.8s | |
eponine | Eponine | en | — | VCTK speaker | 5.3s | |
fantine | Fantine | en | — | VCTK speaker | 4.8s | |
javert | Javert | en | — | Kyutai voice donation (Butter) | 6.5s | |
marius | Marius | en | — | Kyutai voice donation (Selfie) | 3.8s | |
peter_yearsley | Peter Yearsley | en | male | LibriVox reader | 4.4s | |
stuart_bell | Stuart Bell | en | male | LibriVox reader | 5.9s |
↑↓ steps through voices and plays each · esc stops
neutts-nano-q4
Voices are cloned from reference recordings. This model is English only. Upstream ships multilingual NeuTTS as separate per-language checkpoints; the one served here is the English base, so send it English text.
Upstream publishes nine reference speakers; the six English ones are offered here. The other three are cloned from German, French and Spanish recordings, and they are omitted rather than sold as accented English: NeuTTS phonemizes a voice's reference transcript with the same English-only phonemizer it uses for your text, so a non-English reference degrades the clone no matter what you ask it to say.
jo“Every voice reads the same line, so the only thing that changes is how it sounds.”
| id | name | language | gender | style | len | |
|---|---|---|---|---|---|---|
dave | Dave | en | male | neutral | 3.9s | |
emily | Emily | en | female | neutral | 4.4s | |
jodefault | Jo | en | female | neutral | 4.3s | |
paul | Paul | en | male | neutral | 4.2s | |
sophie | Sophie | en | female | neutral | 5.7s | |
steven | Steven | en | male | neutral | 4.1s |
↑↓ steps through voices and plays each · esc stops
neutts-air-q4
The same reference-cloning mechanism as nano, on a larger model. This model
is English only. Two reference voices are offered: jo, Nano's default, and
dave, another Nano catalog voice.
jo“Every voice reads the same line, so the only thing that changes is how it sounds.”
| id | name | language | gender | style | len | |
|---|---|---|---|---|---|---|
| – | jodefault | Jo | en | female | neutral | — |
| – | dave | Dave | en | male | neutral | — |
↑↓ steps through voices and plays each · esc stops · 2 without a sample
Resold vendor models
The three vendor models are resold through the gateway rather than hosted on the fleet, so their voice surfaces are the vendors' own and no auditioning samples are committed for them.
elevenlabs/eleven_multilingual_v2
The voice field is the vendor's own voice id, passed through unchanged; the
vendor's catalog is authoritative. The six premade stock voices (Bella, Sarah,
Roger, Laura, Charlie, George) are what the playground bench lists — a sample
of the vendor's full catalog rather than the whole surface.
fish/s2.1-pro-free
The voice field is a Fish reference id, passed through unvalidated. There
is no voice listing route for this model.
gradium/default
The voice_id passes through to the vendor. There is no ElevenLabs-shaped
voice listing route for this model.
