Voices
Browsing the catalog
# Every voice, across every provider
curl https://convostack.ai/api/voices \
-H "Authorization: Bearer cak_live_..."
# Filtered
curl "https://convostack.ai/api/voices?provider=elevenlabs&language=en&search=warm" \
-H "Authorization: Bearer cak_live_..."
# One voice in detail
curl https://convostack.ai/api/voices/{id} \
-H "Authorization: Bearer cak_live_..."
Some voices are on the platform's own hosted TTS and work immediately, no setup required. Others belong to providers that need your own credentials (see BYOK below) before they're usable.
Previewing a voice
curl https://convostack.ai/api/voices/{id}/preview \
-H "Authorization: Bearer cak_live_..." \
--output preview.wav
Returns a short synthesized audio sample so you can pick a voice by ear before wiring it into an agent.
Bring your own key (BYOK)
Providers like ElevenLabs, Azure, and AWS Polly require your own account — ConvoStack doesn't share a platform-wide key for them. Connect your credentials once per provider, per organization:
curl https://convostack.ai/api/voices/providers \
-H "Authorization: Bearer cak_live_..."
Shows every provider and whether your org already has credentials connected.
curl -X POST https://convostack.ai/api/voices/providers/elevenlabs/connect \
-H "Authorization: Bearer cak_live_..." \
-H "Content-Type: application/json" \
-d '{"credentials": {"apiKey": "..."}}'
The shape of credentials depends on the provider:
| Provider | Fields |
|---|---|
| ElevenLabs | apiKey |
| Azure | apiKey, region |
| AWS Polly | accessKeyId, secretAccessKey, region |
Credentials are encrypted at rest and never returned by any read endpoint —
GET /api/voices/providers/connections tells you which providers are
connected, never the credentials themselves.
# Pull in that provider's current voice list now that you're connected
curl -X POST https://convostack.ai/api/voices/providers/elevenlabs/sync \
-H "Authorization: Bearer cak_live_..."
# Disconnect — also deactivates that provider's voices for your org
curl -X DELETE https://convostack.ai/api/voices/providers/elevenlabs/connect \
-H "Authorization: Bearer cak_live_..."
Using a voice on an agent
Set it via ttsConfig when creating or patching an agent's draft — see
Agents.