/audio/transcriptions
Overviewโ
| Feature | Supported | Notes | 
|---|---|---|
| Cost Tracking | โ | |
| Logging | โ | works across all integrations | 
| End-user Tracking | โ | |
| Fallbacks | โ | between supported models | 
| Loadbalancing | โ | between supported models | 
| Support llm providers | openai,azure,vertex_ai,gemini,deepgram,groq,fireworks_ai | 
Quick Startโ
LiteLLM Python SDKโ
Python SDK Example
from litellm import transcription
import os 
# set api keys 
os.environ["OPENAI_API_KEY"] = ""
audio_file = open("/path/to/audio.mp3", "rb")
response = transcription(model="whisper", file=audio_file)
print(f"response: {response}")
LiteLLM Proxyโ
Add model to configโ
- OpenAI
- OpenAI + Azure
OpenAI Configuration
model_list:
- model_name: whisper
  litellm_params:
    model: whisper-1
    api_key: os.environ/OPENAI_API_KEY
  model_info:
    mode: audio_transcription
    
general_settings:
  master_key: sk-1234
OpenAI + Azure Configuration
model_list:
- model_name: whisper
  litellm_params:
    model: whisper-1
    api_key: os.environ/OPENAI_API_KEY
  model_info:
    mode: audio_transcription
- model_name: whisper
  litellm_params:
    model: azure/azure-whisper
    api_version: 2024-02-15-preview
    api_base: os.environ/AZURE_EUROPE_API_BASE
    api_key: os.environ/AZURE_EUROPE_API_KEY
  model_info:
    mode: audio_transcription
general_settings:
  master_key: sk-1234
Start proxyโ
Start Proxy Server
litellm --config /path/to/config.yaml 
# RUNNING on http://0.0.0.0:8000
Testโ
- Curl
- OpenAI Python SDK
Test with cURL
curl --location 'http://0.0.0.0:8000/v1/audio/transcriptions' \
--header 'Authorization: Bearer sk-1234' \
--form 'file=@"/Users/krrishdholakia/Downloads/gettysburg.wav"' \
--form 'model="whisper"'
Test with OpenAI Python SDK
from openai import OpenAI
client = openai.OpenAI(
    api_key="sk-1234",
    base_url="http://0.0.0.0:8000"
)
audio_file = open("speech.mp3", "rb")
transcript = client.audio.transcriptions.create(
  model="whisper",
  file=audio_file
)
Supported Providersโ
- OpenAI
- Azure
- Fireworks AI
- Groq
- Deepgram
Fallbacksโ
You can configure fallbacks for audio transcription to automatically retry with different models if the primary model fails.
- Curl
- OpenAI Python SDK
Test with cURL and Fallbacks
curl --location 'http://0.0.0.0:4000/v1/audio/transcriptions' \
--header 'Authorization: Bearer sk-1234' \
--form 'file=@"gettysburg.wav"' \
--form 'model="groq/whisper-large-v3"' \
--form 'fallbacks[]="openai/whisper-1"'
Test with OpenAI Python SDK and Fallbacks
from openai import OpenAI
client = OpenAI(
    api_key="sk-1234",
    base_url="http://0.0.0.0:4000"
)
audio_file = open("gettysburg.wav", "rb")
transcript = client.audio.transcriptions.create(
    model="groq/whisper-large-v3",
    file=audio_file,
    extra_body={
        "fallbacks": ["openai/whisper-1"]
    }
)
Testing Fallbacksโ
You can test your fallback configuration using mock_testing_fallbacks=true to simulate failures:
- Curl
- OpenAI Python SDK
Test Fallbacks with Mock Testing
curl --location 'http://0.0.0.0:4000/v1/audio/transcriptions' \
--header 'Authorization: Bearer sk-1234' \
--form 'file=@"gettysburg.wav"' \
--form 'model="groq/whisper-large-v3"' \
--form 'fallbacks[]="openai/whisper-1"' \
--form 'mock_testing_fallbacks=true'
Test Fallbacks with Mock Testing
from openai import OpenAI
client = OpenAI(
    api_key="sk-1234",
    base_url="http://0.0.0.0:4000"
)
audio_file = open("gettysburg.wav", "rb")
transcript = client.audio.transcriptions.create(
    model="groq/whisper-large-v3",
    file=audio_file,
    extra_body={
        "fallbacks": ["openai/whisper-1"],
        "mock_testing_fallbacks": True
    }
)