Bring Your Own (BYO) API Keys lets you use your own provider accounts for TTS, STT, and LLM services. Control costs directly with your provider, leverage enterprise agreements, and maintain full billing transparency.
Overview
BYO API Keys gives you flexibility in how you pay for AI services:Cost Control
Pay your providers directly at your negotiated rates.
Enterprise Agreements
Use existing volume discounts or enterprise contracts.
Per-Assistant Flexibility
Mix managed and BYO keys across different assistants.
How It Works
When a call uses a provider service, Burki checks for API keys in this order:- Assistant-level BYO keys (highest priority)
- Organization-level credentials
- System default keys (Burki managed)
Supported Providers
Configure BYO keys for the following providers:| Provider | Service | Required Fields |
|---|---|---|
| ElevenLabs | TTS | api_key |
| Deepgram | STT, TTS | api_key |
| Cartesia | TTS | api_key |
| OpenAI | TTS, LLM | api_key |
| Azure Speech | TTS, STT | api_key, region |
| Inworld | TTS | bearer_token, workspace_id |
| Resemble AI | TTS | api_key |
Configuration
TTS Provider Keys
Add BYO keys in your assistant’s TTS settings:- ElevenLabs
- Deepgram
- Cartesia
- OpenAI
STT Provider Keys
Add BYO keys in your assistant’s STT settings:Azure Speech (Special Configuration)
Azure Speech requires both an API key and a region:Azure region must match where your Speech resource is deployed. Common regions:
eastus, westus2, westeurope, southeastasia.Inworld (Bearer Token)
Inworld uses a bearer token and workspace ID:Dashboard Configuration
Security
Your API keys are protected with enterprise-grade security:Encryption at Rest
Encryption at Rest
All API keys are encrypted using AES-256 encryption before storage. Keys are decrypted only when needed for API calls and never stored in plaintext.
Never Exposed in API
Never Exposed in API
BYO API keys are never returned in API responses. When you retrieve assistant settings, key fields show masked values like
***...*** or are omitted entirely.Audit Logging
Audit Logging
Key usage is logged for security auditing:
- When keys are added or updated
- Which services use which keys
- Failed authentication attempts
Secure Transmission
Secure Transmission
All API calls using your keys are made over HTTPS/TLS 1.3. Keys are transmitted securely to provider endpoints.
Cost Implications
- BYO Keys
- Managed Keys
- Hybrid
You pay the provider directly:
- Direct billing from ElevenLabs, Deepgram, etc.
- Your negotiated rates apply
- No markup from Burki on provider costs
- Burki charges only platform fees
- High volume usage
- Existing enterprise agreements
- Organizations requiring direct vendor relationships
Testing Your Keys
After configuring BYO keys, verify they work:Quick Test
- Make a test call to your assistant
- Check the call logs for provider usage
- Verify the call completed successfully
- Check your provider dashboard for the corresponding API call
Common Issues
Invalid API Key
Invalid API Key
Symptom: Calls fail immediately or fall back to managed keysSolution:
- Verify the key is correct (no extra spaces)
- Check key hasn’t expired
- Confirm key has required permissions
- Ensure key is for the correct environment (production vs. sandbox)
Wrong Region (Azure)
Wrong Region (Azure)
Symptom: Azure calls fail with region errorsSolution:
- Match region exactly to your Azure Speech resource
- Use lowercase (e.g.,
eastusnotEast US) - Check Azure portal for the correct region name
Rate Limiting
Rate Limiting
Symptom: Some calls succeed, others failSolution:
- Check your provider’s rate limits
- Upgrade your provider plan if needed
- Consider spreading load across multiple keys
Insufficient Permissions
Insufficient Permissions
Symptom: Specific operations failSolution:
- Verify API key has access to required services
- For ElevenLabs: Ensure voice cloning permissions if using cloned voices
- For Deepgram: Check STT and TTS are both enabled if using both
Provider Setup Guides
ElevenLabs
ElevenLabs
- Log in to ElevenLabs
- Go to Profile > API Keys
- Create a new API key or copy existing
- Ensure your plan supports the voices you want to use
Deepgram
Deepgram
- Log in to Deepgram Console
- Go to API Keys
- Create a new key with STT and/or TTS permissions
- Copy the key (shown only once)
listen for STT, speak for TTSCartesia
Cartesia
- Log in to Cartesia
- Navigate to API settings
- Generate a new API key
- Copy and store securely
Azure Speech
Azure Speech
- Log in to Azure Portal
- Create or navigate to your Speech resource
- Go to Keys and Endpoint
- Copy Key 1 or Key 2
- Note the region (e.g.,
eastus)
OpenAI
OpenAI
- Log in to OpenAI Platform
- Go to API Keys
- Create a new secret key
- Copy immediately (not shown again)
Best Practices
- Rotate keys periodically: Update API keys every 90 days for security
- Use separate keys: Create dedicated keys for Burki rather than sharing with other applications
- Monitor usage: Check provider dashboards regularly for unexpected usage
- Set up alerts: Configure billing alerts with your providers
- Test after changes: Always verify calls work after updating keys
- Keep backups: Store keys securely in a password manager
When testing BYO keys, start with a low-volume assistant before rolling out to production traffic. This catches configuration issues without impacting critical workloads.
API Reference
Setting BYO Keys via API
Removing BYO Keys
To revert to managed keys, setbyo_api_keys to null or an empty object:
BYO keys are not included in assistant export/import to prevent accidental key exposure. Re-enter keys after importing an assistant.