Manage Voices

Everything after creation: find your voices, fetch their samples, and remove them

A cloned voice belongs to the workspace rather than the member who created it, and access follows the caller’s workspace role and API-key scopes exactly as for any other voice: voices scopes to list it, audio scopes to synthesize with it, and the content-management permission plus a write scope on the key to delete it. This page covers the lifecycle after creation - creating one is the Voice Cloning API page.

List voices

Cloned voices appear in the voices list alongside Speechify’s built-in catalog:

GET
/v1/voices
1curl -G https://api.speechify.ai/v1/voices \
2 -H "Authorization: Bearer <token>" \
3 -d locale=en \
4 -d model=simba-3.2
Response
1{
2 "next_cursor": "string",
3 "has_more": true,
4 "voices": [
5 {
6 "display_name": "string",
7 "gender": "male",
8 "locale": "string",
9 "id": "string",
10 "models": [
11 {
12 "languages": [
13 {
14 "locale": "string",
15 "preview_audio": "string"
16 }
17 ],
18 "name": "simba-english"
19 }
20 ],
21 "type": "shared",
22 "avatar_image": "string",
23 "preview_audio": "string",
24 "tags": [
25 "string"
26 ]
27 }
28 ]
29}

Each voice’s models array reflects what your workspace can actually synthesize with it, so branch on that rather than assuming model support.

Get a voice

Fetch a single voice by its id:

GET
/v1/voices/:voice_id
1curl https://api.speechify.ai/v1/voices/voice_id \
2 -H "Authorization: Bearer <token>"

Download the sample

The audio sample a clone was built from is retrievable as WAV:

GET
/v1/voices/:voice_id/sample
1curl https://api.speechify.ai/v1/voices/voice_id/sample \
2 -H "Authorization: Bearer <token>"

Delete a voice

Remove voices you no longer need:

DELETE
/v1/voices/:voice_id
1curl -X DELETE https://api.speechify.ai/v1/voices/voice_id \
2 -H "Authorization: Bearer <token>"

Deletion is immediate: synthesis requests that name the deleted voice’s id fail from that point on.

Next steps