Skip to main content
KugelAudio provides a variety of premade voices and supports custom voice cloning. This guide covers how to work with voices in your application.

List Available Voices

# List all available voices
voices = client.voices.list()

for voice in voices:
    print(f"{voice.id}: {voice.name}")
    print(f"  Category: {voice.category}")
    print(f"  Languages: {', '.join(voice.supported_languages)}")

Filter Voices

# Filter by language
german_voices = client.voices.list(language="de")

# Get only public voices
public_voices = client.voices.list(include_public=True)

# Limit results
first_10 = client.voices.list(limit=10)

# Get only cloned voices
cloned = client.voices.list(category="cloned")

Get Voice Details

voice = client.voices.get(voice_id=123)
print(f"Voice: {voice.name}")
print(f"Description: {voice.description}")
print(f"Sample text: {voice.sample_text}")

Use a Specific Voice

Pass the voice_id (Python), voiceId (JavaScript), or voice_id JSON field (cURL) when generating speech:
audio = client.tts.generate(
    text="Hello with a specific voice!",
    model_id="kugel-1-turbo",
    voice_id=123,
)
Voices work with all generation methods - basic generation, streaming, and streaming sessions:
# With streaming
for chunk in client.tts.stream(
    text="Streaming with a specific voice.",
    model_id="kugel-1-turbo",
    voice_id=123,
):
    if hasattr(chunk, 'audio'):
        play_audio(chunk.audio)

# With streaming sessions (for LLM integration)
async with client.tts.streaming_session(
    voice_id=123,
    cfg_scale=2.0,
) as session:
    async for chunk in session.send("Hello!"):
        play_audio(chunk.audio)

Voice Properties

Each voice includes the following information:
PropertyTypeDescription
idintUnique voice ID
namestringHuman-readable name
descriptionstringVoice description
categorystringpremade, cloned, or generated
sexstringmale, female, or neutral
agestringyoung, middle_aged, or old
supported_languageslistISO 639-1 language codes
sample_textstringSample text for preview
sample_urlstringSample audio URL
is_publicboolWhether the voice is publicly available
verifiedboolWhether the voice has been verified

Next Steps

Voice Cloning

Create custom voices from audio samples

Generate Speech

Generate audio with your chosen voice

Streaming

Stream audio in real-time