Skip to main content
GET
/
v1
/
voices
# List all voices
curl "https://api.vibepeak.ai/v1/voices" \
  -H "Authorization: Bearer vpk_live_xxxxx"

# List public female voices in English
curl "https://api.vibepeak.ai/v1/voices?type=public&gender=female&language=en" \
  -H "Authorization: Bearer vpk_live_xxxxx"

# List cloned voices with pagination
curl "https://api.vibepeak.ai/v1/voices?type=cloned&limit=10&offset=0" \
  -H "Authorization: Bearer vpk_live_xxxxx"
{
  "voices": [
    {
      "voice_id": "TpuSXADBOG1Nx1grSvue",
      "name": "MimiMoses",
      "type": "public",
      "language": "en",
      "accent": "american",
      "age": "middle_aged",
      "gender": "female",
      "preview_url": "https://storage.googleapis.com/eleven-public-prod/database/user/voices/preview.mp3"
    },
    {
      "voice_id": "EXAVITQu4vr4xnSDxMaL",
      "name": "Sarah",
      "type": "public",
      "language": "en",
      "accent": "american",
      "age": "young",
      "gender": "female",
      "preview_url": "https://storage.googleapis.com/eleven-public-prod/database/user/voices/sarah-preview.mp3"
    }
  ],
  "pagination": {
    "total": 150,
    "limit": 20,
    "offset": 0,
    "has_more": true
  }
}
Retrieves a paginated list of voices. You can request public voices from our voice library, your custom cloned voices, or both.

Query Parameters

type
string
default:"all"
The type of voices to retrieve.Allowed values: public, cloned, all
  • public: Public library voices available to all users
  • cloned: Your custom cloned voices
  • all: Both public and cloned voices (default)
gender
string
Filter voices by gender.Allowed values: male, female
age
string
Filter voices by age group.Allowed values: young, middle_aged, old
language
string
Filter voices by language (ISO 639-1 code).Allowed values: en, es, pt, de, fr, it
limit
integer
default:"20"
Maximum number of voices to return per page.Range: 1-100
offset
integer
default:"0"
Number of voices to skip (for pagination).Minimum: 0

Response

voices
array
required
List of voice objects.
pagination
object
required
Pagination information.
# List all voices
curl "https://api.vibepeak.ai/v1/voices" \
  -H "Authorization: Bearer vpk_live_xxxxx"

# List public female voices in English
curl "https://api.vibepeak.ai/v1/voices?type=public&gender=female&language=en" \
  -H "Authorization: Bearer vpk_live_xxxxx"

# List cloned voices with pagination
curl "https://api.vibepeak.ai/v1/voices?type=cloned&limit=10&offset=0" \
  -H "Authorization: Bearer vpk_live_xxxxx"
{
  "voices": [
    {
      "voice_id": "TpuSXADBOG1Nx1grSvue",
      "name": "MimiMoses",
      "type": "public",
      "language": "en",
      "accent": "american",
      "age": "middle_aged",
      "gender": "female",
      "preview_url": "https://storage.googleapis.com/eleven-public-prod/database/user/voices/preview.mp3"
    },
    {
      "voice_id": "EXAVITQu4vr4xnSDxMaL",
      "name": "Sarah",
      "type": "public",
      "language": "en",
      "accent": "american",
      "age": "young",
      "gender": "female",
      "preview_url": "https://storage.googleapis.com/eleven-public-prod/database/user/voices/sarah-preview.mp3"
    }
  ],
  "pagination": {
    "total": 150,
    "limit": 20,
    "offset": 0,
    "has_more": true
  }
}

Usage with Video Creation

Once you’ve retrieved the voice list, use the voice voice_id when creating videos:
// 1. List available voices
const voicesResponse = await fetch(
  'https://api.vibepeak.ai/v1/voices?type=public&gender=female&language=en',
  { headers: { 'Authorization': 'Bearer vpk_live_xxxxx' } }
);
const { voices } = await voicesResponse.json();

// 2. Select a voice and create a video
const selectedVoice = voices[0];

const videoResponse = await fetch('https://api.vibepeak.ai/v1/real-estate/narrated-slideshow', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer vpk_live_xxxxx',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    images: ['https://example.com/image1.jpg', /* ... */],
    script: 'Welcome to this beautiful property...',
    voice: { voice_id: selectedVoice.voice_id },  // Use the voice_id here
    style: 'do-not-modify'
  })
});

Error Codes

CodeStatusDescription
INVALID_PARAMETER400Invalid value for type, gender, age, language, limit, or offset
VALIDATION_ERROR400Query parameter validation failed
INVALID_API_KEY401Invalid or missing API key
See Error Handling for more details.