Voices API
List Voices
GET /v1/voicesReturns built-in voices and custom cloned voices owned by the authenticated developer.
Response 200
json
{
"voices": [
{
"id": "default",
"name": "Default",
"description": "Standard voice",
"isCustom": false,
"createdAt": "2024-01-01T00:00:00Z"
},
{
"id": "voice_abc123",
"name": "My Custom Voice",
"description": "Cloned from interview",
"isCustom": true,
"createdAt": "2026-03-21T00:00:00Z"
}
]
}Get Voice
GET /v1/voices/:voiceIdResponse 200
json
{
"id": "voice_abc123",
"name": "My Custom Voice",
"description": "Cloned from interview",
"isCustom": true,
"createdAt": "2026-03-21T00:00:00Z"
}Clone Voice
Upload an audio sample to create a cloned voice. Max 25MB.
POST /v1/voices/cloneMultipart Form
bash
curl -X POST https://persona-labsvoice-api-production.up.railway.app/v1/voices/clone \
-H "Authorization: Bearer $PH0NY_API_KEY" \
-F "file=@voice-sample.wav" \
-F "name=My Voice" \
-F "description=Cloned from podcast"Response 201
json
{
"id": "voice_abc123",
"name": "My Voice",
"description": "Cloned from podcast",
"isCustom": true,
"createdAt": "2026-03-21T00:00:00Z"
}Delete Voice
DELETE /v1/voices/:voiceIdResponse 204
No content.