Skip to content

Voices API

List Voices

GET /v1/voices

Returns 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/:voiceId

Response 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/clone

Multipart 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/:voiceId

Response 204

No content.

Built by Persona Labs.