> ## Documentation Index
> Fetch the complete documentation index at: https://docs.burki.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration

> Configure your Burki Voice AI assistants and providers

This page covers the key configuration options for Burki Voice AI assistants and integrations.

***

## Provider Configuration

Burki supports two configuration modes for AI providers:

### Burki Cloud (Managed)

When using Burki Cloud, no API keys are required. Simply:

1. Select **Burki Cloud** mode in your assistant settings
2. Choose your preferred providers and models
3. Costs are automatically billed to your wallet

### BYO (Bring Your Own)

When using your own API keys, configure them in **Settings** → **Provider Keys**:

| Provider         | Key Required             |
| ---------------- | ------------------------ |
| **OpenAI**       | API Key                  |
| **Anthropic**    | API Key                  |
| **Azure OpenAI** | API Key + Endpoint       |
| **Gemini**       | API Key                  |
| **xAI**          | API Key                  |
| **Groq**         | API Key                  |
| **ElevenLabs**   | API Key                  |
| **Cartesia**     | API Key                  |
| **Deepgram**     | API Key                  |
| **Azure Speech** | API Key + Region         |
| **Speechmatics** | API Key                  |
| **Soniox**       | API Key                  |
| **Uplift**       | API Key                  |
| **Murf**         | API Key                  |
| **Twilio**       | Account SID + Auth Token |
| **Vonage**       | API Key + API Secret     |
| **Telnyx**       | API Key + Connection ID  |

***

## Assistant Configuration

Each assistant can be configured with:

### Basic Settings

* **Name** — Display name for the assistant
* **Description** — Internal notes about the assistant's purpose
* **Greeting Message** — First message spoken when a call connects

### AI Configuration

* **LLM Provider** — OpenAI, Azure OpenAI, Anthropic, Gemini, Groq, xAI, custom HTTP, or custom WebSocket
* **LLM Model** — Specific model (e.g., gpt-4o, claude-3-sonnet)
* **System Prompt** — Instructions defining the assistant's behavior
* **Temperature** — Creativity level (0.0-1.0)

### Voice Configuration

* **TTS Provider** — ElevenLabs, Deepgram, Cartesia, Azure, Inworld, Resemble, OpenAI, Kokoro, Uplift, Murf, or Soniox
* **Voice** — Specific voice ID or name
* **Speed** — Speaking rate adjustment
* **Stability** — Voice consistency (provider-dependent)

### Speech Recognition

* **STT Provider** — Deepgram (recommended), ElevenLabs, Azure, Uplift, Speechmatics, Telnyx, or Soniox
* **Model** — Nova-3, Flux, Scribe v2, Azure, Telnyx-hosted, Soniox, or other provider models
* **Language** — Primary language for recognition
* **Keywords** — Important terms for better recognition

***

## Call Management Settings

### Recording

* **Enable Recording** — Toggle call recording on/off
* **Recording Format** — MP3 or WAV

### Interruption Handling

* **Allow Interruptions** — Let callers interrupt the assistant
* **Interruption Threshold** — Sensitivity (0.0-1.0)

### Timeouts

* **Max Call Duration** — Maximum call length in minutes
* **Silence Timeout** — End call after N seconds of silence

***

## API Configuration

For API access, you'll need:

| Setting          | Value                                        |
| ---------------- | -------------------------------------------- |
| **API Base URL** | `https://api.burki.dev`                      |
| **API Key**      | Generated in Dashboard → Settings → API Keys |

### Example API Request

```bash theme={null}
curl -X GET "https://api.burki.dev/api/v1/assistants/" \
     -H "Authorization: Bearer YOUR_API_KEY"
```

***

## Webhook Configuration

Configure webhooks in **Settings** → **Webhooks** to receive real-time notifications:

| Event                  | Description         |
| ---------------------- | ------------------- |
| `call.started`         | Call connected      |
| `call.ended`           | Call completed      |
| `call.recording.ready` | Recording available |
| `message.sent`         | SMS sent            |
| `message.received`     | SMS received        |

***

## Best Practices

<AccordionGroup>
  <Accordion title="Keep system prompts concise">
    Shorter system prompts reduce latency. Focus on essential instructions and personality traits.
  </Accordion>

  <Accordion title="Use appropriate models">
    For simple tasks, faster models (GPT-4o-mini) may be better than more powerful ones.
  </Accordion>

  <Accordion title="Configure fallbacks">
    Set up backup providers for critical assistants to ensure reliability.
  </Accordion>

  <Accordion title="Test before going live">
    Use the test call feature to verify your configuration before assigning real phone numbers.
  </Accordion>
</AccordionGroup>

***

## Next Steps

<CardGroup cols={2}>
  <Card title="AI Configuration" icon="brain" href="/ai-configuration">
    Deep dive into LLM, TTS, and STT settings
  </Card>

  <Card title="STT Providers" icon="waveform-lines" href="/stt-providers">
    Tune speech-to-text provider, VAD, endpointing, and silence controls
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/introduction">
    Full API documentation
  </Card>
</CardGroup>
