Skip to main content

List Voices

Get a list of available voices.
GET

Query Parameters

language
string
Filter by language code (e.g., en, de)
category
string
Filter by category: premade, cloned, generated
include_public
boolean
default:"true"
Include public voices in results
limit
integer
default:"50"
Maximum number of voices to return (max: 100)
offset
integer
default:"0"
Offset for pagination

Response

{
  "data": [
    {
      "id": 123,
      "name": "Emma",
      "description": "Warm, friendly female voice",
      "category": "premade",
      "sex": "female",
      "age": "middle_aged",
      "supported_languages": ["en", "de"],
      "sample_text": "Hello, I'm Emma. How can I help you today?",
      "avatar_url": "https://cdn.kugelaudio.com/avatars/emma.png",
      "sample_url": "https://cdn.kugelaudio.com/samples/emma.mp3",
      "is_public": true,
      "verified": true
    }
  ],
  "meta": {
    "total": 50,
    "limit": 50,
    "offset": 0
  }
}

Example

curl -X GET "https://api.kugelaudio.com/v1/voices?language=en&limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"

Get Voice

Get details for a specific voice.
GET

Path Parameters

voice_id
integer
required
The voice ID

Response

{
  "data": {
    "id": 123,
    "name": "Emma",
    "description": "Warm, friendly female voice with a slight British accent",
    "category": "premade",
    "sex": "female",
    "age": "middle_aged",
    "supported_languages": ["en", "de", "fr"],
    "sample_text": "Hello, I'm Emma. How can I help you today?",
    "avatar_url": "https://cdn.kugelaudio.com/avatars/emma.png",
    "sample_url": "https://cdn.kugelaudio.com/samples/emma.mp3",
    "is_public": true,
    "verified": true,
    "created_at": "2024-01-15T10:30:00Z",
    "settings": {
      "default_cfg_scale": 2.0,
      "recommended_cfg_range": [1.5, 3.0]
    }
  }
}

Example

curl -X GET "https://api.kugelaudio.com/v1/voices/123" \
  -H "Authorization: Bearer YOUR_API_KEY"

Voice Object

Fields

FieldTypeDescription
idintegerUnique voice ID
namestringVoice name
descriptionstringVoice description
categorystringpremade, cloned, or generated
sexstringmale, female, or neutral
agestringyoung, middle_aged, or old
supported_languagesarrayISO 639-1 language codes
sample_textstringSample text for previewing
avatar_urlstringURL to avatar image
sample_urlstringURL to sample audio
is_publicbooleanWhether voice is publicly available
verifiedbooleanWhether voice is verified

Categories

CategoryDescription
premadeBuilt-in voices provided by KugelAudio
clonedVoices created from audio samples
generatedAI-generated synthetic voices

Supported Languages

Common language codes:
CodeLanguage
enEnglish
deGerman
frFrench
esSpanish
itItalian
ptPortuguese
nlDutch
plPolish
jaJapanese
zhChinese
koKorean

Error Responses

Voice Not Found

{
  "error": {
    "code": "not_found",
    "message": "Voice not found",
    "details": {
      "voice_id": 999
    }
  }
}

Access Denied

{
  "error": {
    "code": "forbidden",
    "message": "You do not have access to this voice",
    "details": {
      "voice_id": 123,
      "reason": "private_voice"
    }
  }
}