Skip to main content
KugelAudio has a built-in Vapi custom TTS endpoint, so no proxy server is needed. Point your Vapi assistant at our API and you’re done.

Setup

1. Get your KugelAudio API key and a voice ID

2. Configure your Vapi assistant

No code, no extra server, no proxy.
To select the model explicitly, add &model_id=kugel-3 to the URL.

How it works

Vapi sends one POST per phrase to /vapi/synthesize:
KugelAudio streams back raw PCM16 at the requested sample rate, which is what Vapi expects. message.sampleRate must be one of 8000, 16000, 22050, 24000, or 44100; unsupported rates are rejected with 400.

Audio format

Troubleshooting

Check the key in server.secret (or the api_key query parameter). For an eu- key, point the URL at https://api.eu.kugelaudio.com/vapi/synthesize and use the key without the eu- prefix: only the KugelAudio SDKs strip it for you.
Vapi’s message.sampleRate must be 8000, 16000, 22050, 24000 or 44100. Change the assistant’s audio settings in Vapi.
The voice comes from the voice_id query parameter in the server URL, not from Vapi’s Voice ID field. Check the ID in Voices.

Next steps

Voices

Find and pick a voice ID

Voice prompting

Prompt patterns that make an LLM sound good when spoken

Errors

Status codes and error bodies
Last modified on September 22, 2026