Skip to main content

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:

ProviderFields
ElevenLabsapiKey
AzureapiKey, region
AWS PollyaccessKeyId, 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.