Documentation

Providers API

List voice (TTS), STT, and LLM providers and voices available on Blutec Echo. Use these endpoints to populate agent configuration (voice, model, transcriber) in the dashboard or via the Agent API.

List voices

Returns paginated voices. For ElevenLabs you can use search, gender, language, and accent. Other providers support provider, page, and page_size only.

GET /api/providers/voices
curl -X GET "https://bkbharatai.blutec.ai/api/providers/voices?page=1&page_size=20" \
  -H "Authorization: Bearer YOUR_JWT" \
  -H "Content-Type: application/json"
With provider and filters (ElevenLabs)
curl -X GET "https://bkbharatai.blutec.ai/api/providers/voices?provider=eleven_labs&search=excited&page=1&page_size=20" \
  -H "Authorization: Bearer YOUR_JWT" \
  -H "Content-Type: application/json"

# Optional: gender, language, accent (ElevenLabs only)
# ...&gender=female&language=en&accent=american

Response: voices (array), total, page, page_size, filters_applied. Each voice has id, name, display_name, service, sample_url, tags.

Get voice details

GET /api/providers/voice/:id
curl -X GET "https://bkbharatai.blutec.ai/api/providers/voice/1" \
  -H "Authorization: Bearer YOUR_JWT" \
  -H "Content-Type: application/json"

List STT providers

Returns available speech-to-text providers (e.g. Whisper, Deepgram, Azure). Use the name in the agent's transcriber.provider.

GET /api/providers/stt
curl -X GET "https://bkbharatai.blutec.ai/api/providers/stt" \
  -H "Authorization: Bearer YOUR_JWT" \
  -H "Content-Type: application/json"

Response: stt (array of id, name, is_premium, is_active), total.

List TTS providers

Returns available text-to-speech providers (e.g. Deepgram, Google, ElevenLabs). Combine with the voices endpoint to get voice IDs per provider.

GET /api/providers/tts
curl -X GET "https://bkbharatai.blutec.ai/api/providers/tts" \
  -H "Authorization: Bearer YOUR_JWT" \
  -H "Content-Type: application/json"

Response: tts (array), total.

List all providers

Returns LLM, STT, and TTS services plus voices in one response.

GET /api/providers/all
curl -X GET "https://bkbharatai.blutec.ai/api/providers/all" \
  -H "Authorization: Bearer YOUR_JWT" \
  -H "Content-Type: application/json"

Response: services (LLM, STT, TTS arrays), voices, total_services, total_voices.

Error responses

Invalid page (e.g. page=0) or unsupported filters for a provider return a structured error with error and message. Voice not found returns 404.

Using in agents

Configure an agent's voice, model, and transcriber using the IDs and names returned by these endpoints. See the Agent API for request bodies.