Voices
GET /v1/voices
Every voice you can pass as voiceId to Generate Voiceover.
Your workspace's own cloned voices come first, marked custom: true, followed by the stock
library. Only clones that finished training are listed - one still processing can't speak yet.
Example
curl https://api.vidocu.ai/v1/voices \
-H "Authorization: Bearer vdo_live_your_key_here"
Response 200 OK
{
"voices": [
{ "voiceId": "aX2n...", "name": "Dana (cloned)", "custom": true },
{
"voiceId": "21m00Tcm4TlvDq8ikWAM",
"name": "Rachel",
"description": "Calm and articulate",
"accent": "american",
"gender": "female",
"age": "young",
"useCase": "narration",
"previewUrl": "https://storage.googleapis.com/...",
"custom": false
}
],
"total": 42,
"customCount": 1
}
Response fields
| Field | Type | Description |
|---|---|---|
voices[].voiceId | string | Pass this as voiceId |
voices[].name | string | Display name |
voices[].custom | boolean | true for voices cloned by your workspace |
voices[].previewUrl | string | Short audio sample, stock voices only |
customCount | number | How many of the results are your own clones |
info
Cloning a voice is done in the Vidocu app - it requires recorded consent to the voice provider's terms, which isn't something an API call can capture. Once a clone is ready it appears here and works like any other voice.
Delete a cloned voice
DELETE /v1/voices/:id
curl -X DELETE https://api.vidocu.ai/v1/voices/aX2n... \
-H "Authorization: Bearer vdo_live_your_key_here"
Only voices your workspace cloned can be deleted - the stock library is shared. The clone is removed at the voice provider as well, so this can't be undone.
Requires the voices:write scope.
Errors
| Status | Code | Cause |
|---|---|---|
| 401 | authentication_error | Invalid or missing API key |
| 403 | insufficient_scope | Token lacks voices:read (or voices:write to delete) |
| 404 | not_found | No such cloned voice in this workspace |