Capabilities

Voices

Every agent speaks with an ElevenLabs voice; Amazon Polly stands in automatically when TTS is unavailable so calls never go silent.

List the curated set

curl https://klaw-voice.netlify.app/api/elevenlabs/voices -H "Authorization: Bearer $KLAW_KEY"

Returns ~15 curated premade voices ({id, name, gender, accent, description, ...}) picked for phone conversations. If you've connected your own ElevenLabs key, your cloned voices are included too.

Preview before you pick

curl -X POST https://klaw-voice.netlify.app/api/elevenlabs/preview \
  -H "Authorization: Bearer $KLAW_KEY" -H "Content-Type: application/json" \
  -d '{"voice_id": "EXAVITQu4vr4xnSDxMaL"}' --output preview.mp3

Streams a short receptionist line as audio/mpeg (rate-capped 40/min).

Set the voice

At creation (voice_id on POST /api/agents/quickstart) or any time after:

curl -X PATCH https://klaw-voice.netlify.app/api/agents/$AGENT_ID \
  -H "Authorization: Bearer $KLAW_KEY" -H "Content-Type: application/json" \
  -d '{"elevenlabs_voice_id": "EXAVITQu4vr4xnSDxMaL"}'

Cloning and BYO keys

Voice cloning is available at POST /api/voice-clone, and you can bring your own ElevenLabs API key in dashboard settings — voices then bill to your account and your clones appear in the list. Language behavior (including multilingual mirroring) is set per agent via its language field.