Transcription Credentials
Skribby provides managed transcription by default, but you can also bring your own API keys (BYOK) for supported transcription providers. This gives you direct control over your transcription costs and usage.
Overview
When you add your own transcription credentials:
- Transcription costs are billed directly by the provider to your account
- Skribby charges the base rate only (no transcription markup)
- You maintain full control over your provider relationship, usage limits, and billing
Supported Providers
| Provider | Required Fields | Notes |
|---|---|---|
| Deepgram | API Key | |
| OpenAI | API Key, Region | Region where supported; diarize uses global routing |
| xAI | API Key | |
| AssemblyAI | API Key | |
| Speechmatics | API Key | |
| Rev AI | API Key | |
| Gladia | API Key | |
| ElevenLabs | API Key, Region | Region: us or eu |
| Soniox | API Key, Region | Region: us, eu, or japan |
| Mistral | API Key | |
| Google Cloud | Project ID, client email, private key | Realtime only: google/chirp-3-realtime |
| AWS | Access key ID, secret access key, session token (optional) | Realtime only: aws/transcribe-streaming in eu-central-1 |
Adding Credentials
- Navigate to Settings → Transcription Credentials in the Skribby Dashboard
- Click Add Credential
- Select the transcription provider
- Enter the required fields for that provider
- Save the credential
Once saved, you'll receive a Credential ID (UUID) that you use in API requests.
Using Credentials in API Requests
Pass the transcription_credentials parameter when creating a bot:
{
"transcription_model": "deepgram/nova-2-realtime",
"transcription_credentials": "your-credential-uuid-here",
"meeting_url": "https://meet.google.com/abc-defg-hij",
"service": "gmeet",
"bot_name": "Alex from Acme"
}
The credential must match the transcription model's provider. For example:
deepgram/nova-2,deepgram/nova-3-multilingual,deepgram/nova-2-realtime,deepgram/nova-3-multilingual-realtime→ Deepgram credentialopenai/gpt-4o-mini-transcribe,openai/gpt-4o-transcribe,openai/gpt-4o-transcribe-diarize→ OpenAI credentialxai/speech-to-text→ xAI credentialassemblyai/universal-2,assemblyai/universal-3-5-pro,assemblyai/universal-streaming,assemblyai/universal-3-pro-streaming→ AssemblyAI credentialmistral/voxtral-mini-2,mistral/voxtral-mini-transcribe-realtime-2602→ Mistral credentialelevenlabs/scribe-v1,elevenlabs/scribe-v2,elevenlabs/scribe-v2-realtime→ ElevenLabs credentialgoogle/chirp-3-realtime→ Google Cloud service-account credentialaws/transcribe-streaming→ AWS credential
Google and AWS BYOK credentials are realtime-only. google/chirp-3 and aws/transcribe reject BYOK because their batch paths use Skribby's private transient storage.
Pricing Impact
Standard (Non-Realtime) Models
When using BYOK with standard transcription models:
- You pay: Transcription costs directly to your provider
- Skribby charges: Base bot rate only ($0.35/hr)
Realtime Models
When using BYOK with realtime transcription models:
- You pay: Transcription costs directly to your provider
- Skribby charges: Base bot rate ($0.35/hr) + Realtime surcharge ($0.05/hr) = $0.40/hr
The realtime surcharge covers the additional infrastructure required for low-latency streaming.
Failure Modes
If your API key is invalid, expired, or has insufficient credits:
- The bot will attempt transcription with your credentials
- When the provider rejects the request, the bot status changes to
invalid_api_key - No fallback to managed transcription occurs; the transcription fails
- You'll receive a webhook event with the failure details
⚠️ No Automatic Fallback: Skribby does not automatically fall back to managed transcription if your credentials fail. Ensure your API keys are valid and have sufficient credits before deploying bots.
Best Practices
- Monitor your provider usage: Set up alerts in your provider dashboard to avoid unexpected charges or hitting rate limits
- Test credentials: Create a test bot before production deployment to verify credentials work
- Use separate keys: Consider using dedicated API keys for Skribby rather than shared keys used elsewhere
- Plan for rotation: Have a process for rotating keys without downtime