TTS
Voices
The eight built-in voices, and using the ones you cloned.
voice_id accepts two kinds of voice and you never have to say which: the packs built into the model, and anything in the catalogue your key is entitled to.
Built-in voices#
These eight are baked into the worker image. They resolve in memory, with no database read and no object fetch anywhere on the connect path, which makes them the fastest voices to open a session with and the right default for anything latency-sensitive.
| voice_id | Name | Traits |
|---|---|---|
maichi | Mai Chi | nữ, trẻ, kể chuyện |
giahuy | Gia Huy | nam, trẻ, kể chuyện |
baotrang | Bảo Trang | nữ, tin tức |
huuduc | Hữu Đức | nam, lớn tuổi |
kimoanh | Kim Oanh | nữ, trung niên |
quangminh | Quang Minh | nam, tin tức |
hamy | Hà My | nữ, hoạt hình |
tiendat | Tiến Đạt | nam, bình luận |
Omit voice_id entirely and the gateway picks its default.
Catalogue and cloned voices#
Everything else is a catalogue voice: the shipped catalogue, and voices you cloned in the Audio Studio. Pass the id the same way. The gateway reads the record, checks you are entitled to it, fetches the fitted latents and hands them to the worker.
{ "voice_id": "vc_8f21c4de", "format": "pcm_s16le", "sample_rate": 24000 }You may use a catalogue voice when any of these is true:
- it is a system voice, and those belong to nobody and are available to everyone;
- you own it;
- its owner shared it publicly.
A cold catalogue voice costs one database read and one storage fetch on its first connect, then it is cached. If you have one voice you use constantly, its first session of the hour is the slow one.
When a voice is refused#
A voice that is missing, unshared, being deleted, or still fitting is refused identically: the socket closes with 4003. The cases are deliberately indistinguishable, because telling them apart would make the endpoint an oracle for enumerating other people’s voice ids.
Treat 4003 as terminal. Retrying does not fix a voice you are not entitled to.
Cloning#
There is no cloning endpoint on this API. Fitting a voice is an upload-and-preview workflow: do it in the Audio Studio, then use the id it gives you here.
