Voices
List, fetch, and clone voices for text-to-speech generation.
GET /voices
Returns the voices available to your organization (the shared library plus any you've cloned). The list is paginated.
Response
{
"data": [
{
"id": "a0e99841-438c-4a64-b679-ae501e7d6091",
"name": "Barbershop Man",
"description": "A friendly, conversational voice",
"language": "en"
}
],
"has_more": false,
"next_page": null
}Example
curl https://api.nineninesix.ai/voices \
-H "Authorization: Bearer sk_996_your_api_key"import { Cartesia } from "@cartesia/cartesia-js";
const client = new Cartesia({ apiKey: "sk_996_your_api_key", baseURL: "https://api.nineninesix.ai" });
for await (const voice of client.voices.list({ limit: 100 })) {
console.log(voice.id, voice.name);
}GET /voices/{id}
Fetch metadata for a single voice.
DELETE /voices/{id}
Remove a cloned voice you own.
POST /voices/clone
Clone a voice from a reference audio sample (multipart upload). Use the returned voice id in your /tts/bytes and /tts/websocket requests.
const voice = await client.voices.clone({
name: "My Voice",
// see the Cartesia SDK for the full clone parameters (audio file, language, etc.)
});Choosing a Voice
Browse and preview voices in the Playground before integrating them. Pass the voice id in the voice field:
{ "voice": { "mode": "id", "id": "<voice-id>" } }