/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
}
)