Voice presets
The 56 built-in speakers Chorus exposes, and how to steer their delivery.
Overview
Chorus exposes 56 preset speakers. Pass an id as voice. Presets are the most
consistent option, because the voice is fixed rather than generated per request.
voice accepts preset ids only. Any other value returns 400, with the model's
available ids in the error message. Omitting voice does not fail: a request to
chorus or chorus-clone with no voice and no reference audio synthesizes
dominic, the cloning model's default speaker. Set voice explicitly if you do
not want that fallback.
List the voices before hardcoding an id. The endpoint needs no API key.
curl "https://api.sprag.ai/v1/audio/voices?model=chorus"Preset request
curl https://api.sprag.ai/v1/audio/speech \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $SPRAG_API_KEY" \
-d '{
"model": "chorus",
"input": "The quarterly numbers are in and they look good.",
"voice": "aiden",
"response_format": "mp3"
}' \
--output out.mp3Voices behind the chorus alias
chorus is a shared alias, and listing its voices unions the pools of the two
models behind it. Nine are the built-in speakers of the preset model; the other
47 ship with the cloning model. All 56 report category: "preset" and all work
the same way as a voice value.
To see which set an id belongs to, query that model directly.
curl "https://api.sprag.ai/v1/audio/voices?model=chorus-voices"Preset-model speakers
Every preset reads any supported language. The language column names the accent the speaker carries, not a limit on what they read.
| Voice id | Name | Character | Native language |
|---|---|---|---|
aiden | Aiden | Sunny American male, clear midrange | English |
ryan | Ryan | Dynamic male, strong rhythmic drive | English |
vivian | Vivian | Bright, slightly edgy young female | Chinese |
serena | Serena | Warm, gentle young female | Chinese |
uncle_fu | Uncle Fu | Seasoned male, low and mellow | Chinese |
dylan | Dylan | Youthful Beijing male, clear timbre | Chinese (Beijing) |
eric | Eric | Lively Chengdu male, husky brightness | Chinese (Sichuan) |
ono_anna | Ono Anna | Playful Japanese female, light and nimble | Japanese |
sohee | Sohee | Warm Korean female, rich emotion | Korean |
Cloning-model speakers
Another 47 presets take the same voice field.
ali | amol | amrita | andal |
arjuna | asan | balamani | bharathi |
bulleh | dominic | fatima | haresh |
iris | janaki | jayadeva | klaus |
klaus_hessian | komal | krishna | kuntala |
lachlan | lena | mahjoor | marin |
miles | molla | narmad | padma |
phulmani | priya | rahul | rajinder |
rituparna | sahana | sanjay | sayali |
sido | sienna | sneha | sourav |
sunita | udit | vani | vemana |
vince | wade | zooni |
The voices endpoint returns these with description: null. For accent,
language, and a playable sample, use the voice library in the
app. To compare two voices that read alike, synthesize a line of your own copy
with each.
Steer delivery
Add instructions to a preset request to adjust how the speaker reads. The
speaker itself does not change.
{
"model": "chorus",
"input": "Your table is ready.",
"voice": "serena",
"instructions": "Unhurried, slightly amused"
}Voice design is a different operation on a different
model, where instructions with no voice defines the speaker rather than
modifying one.