Documentation Index
Fetch the complete documentation index at: https://docs.getbifrost.ai/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Bifrost supports a wide range of AI providers, all accessible through a consistent OpenAI-compatible interface. This standardization allows you to switch between providers without modifying your application code, as all responses follow the same structure regardless of the underlying provider. Bifrost can also act as a provider-compatible gateway (for example, Anthropic, Google Gemini, Cohere, Bedrock, and others), exposing provider-specific endpoints so you can use existing provider SDKs or integrations with no code changes, see What is an integration? for details.Provider Support Matrix
The following table summarizes which operations are supported by each provider via Bifrost’s unified interface.| Provider | Models | Text | Text (stream) | Chat | Chat (stream) | Responses | Responses (stream) | Images | Images (stream) | Image Edit | Image Edit (stream) | Image Variation | Embeddings | TTS | TTS (stream) | STT | STT (stream) | Files | Batch | Count tokens | Rerank | OCR | Video | Video Remix | Containers | Passthrough | Passthrough (stream) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Anthropic (anthropic/<model>) | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
Azure (azure/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ |
Bedrock (bedrock/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Cerebras (cerebras/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Cohere (cohere/<model>) | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Elevenlabs (elevenlabs/<model>) | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Fireworks (fireworks/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Gemini (gemini/<model>) | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ |
Groq (groq/<model>) | ✅ | 🟡 | 🟡 | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Hugging Face (huggingface/<model>) | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Mistral (mistral/<model>) | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
Nebius (nebius/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Ollama (ollama/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
OpenAI (openai/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
OpenRouter (openrouter/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Parasail (parasail/<model>) | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Perplexity (perplexity/<model>) | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Replicate (replicate/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
Runway (runway/<model>) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
SGL (sgl/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Vertex AI (vertex/<model>) | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ |
vLLM (vllm/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
xAI (xai/<model>) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
- 🟡 Not supported by the downstream provider, but internally implemented by Bifrost as a fallback.
- ❌ Not supported by the downstream provider, hence not supported by Bifrost.
- ✅ Fully supported by the downstream provider, or internally implemented by Bifrost.
Some operations are not supported by the downstream provider, and their
internal implementation in Bifrost is optional. 🟡 Like Text completions are
not supported by Groq, but Bifrost can emulate them internally using the Chat
Completions API. This feature is disabled by default, but it can be enabled by
setting
compat.convert_text_to_chat to true in the client configuration.
We do not promote using such fallbacks, since text completions and chat
completions are fundamentally different. However, this option is available to
help users migrating from LiteLLM (which does support these fallbacks).- “Models” refers to the list models operation (
/v1/models). - “Text” refers to the classic text completion interface (
/v1/completions). - “Responses” refers to the OpenAI-style Responses API (
/v1/responses). Depending on the provider, Bifrost either uses a native responses endpoint or maps to an equivalent chat API. - “Images” refers to the Image Generation API (
/v1/images/generations). - “Image Edit” refers to the Image Edit API (
/v1/images/edits). - “Image Variation” refers to the Image Variation API (
/v1/images/variations). - TTS corresponds to
/v1/audio/speechand STT to/v1/audio/transcriptions. - “Files” refers to the Files API operations (
/v1/files) for uploading, listing, retrieving, and deleting files. - “Batch” refers to the Batch API operations (
/v1/batches) for creating, listing, retrieving, canceling, and getting results of batch jobs. - “Rerank” refers to the Rerank APIs (
/v1/rerank,/v1/async/rerank,/v1/async/rerank/{job_id}). See each provider page for model-specific requirements. - “OCR” refers to the OCR APIs (
/v1/ocr,/v1/async/ocr,/v1/async/ocr/{job_id}) for optical character recognition on documents and images. - “Video” refers to Video API operations for generating, retrieving, downloading, deleting, and listing videos.
- “Video Remix” refers to the video remix operation, which generates a new video by transforming an existing one.
- “Containers” refers to the Containers API operations for creating, listing, retrieving, and deleting containers and container files.
- “Passthrough” refers to the Passthrough API, which forwards requests directly to the provider without Bifrost’s transformation layer.
Response Format
All providers return responses in the OpenAI-compatible format. Bifrost handles the translation between different provider-specific formats automatically.- Gateway
- Go SDK
Custom Providers
In addition to the built-in providers, Bifrost supports custom provider configurations. Custom providers allow you to create multiple instances of the same base provider with different configurations, request type restrictions, and access patterns. This is useful for environment-specific configurations, role-based access control, and feature testing. Learn more: Custom ProvidersBenefits
The consistent interface across providers enables:- Provider switching without code modifications
- Fallback configurations for improved reliability
- Load balancing across multiple providers
- OpenAI-compatible patterns for all providers
Provider Metadata
Provider information is included in theextra_fields section of each response, providing transparency into which provider handled the request and any provider-specific metadata.
Raw Request/Response Access
Bifrost can optionally return the raw request that was sent to the provider and the raw response received back. This is useful for debugging, auditing, and understanding how Bifrost transforms requests between different provider formats. What’s included:raw_request- The exact request body (JSON/data structure) that was sent to the provider’s API endpointraw_response- The exact response body received from the provider (before Bifrost’s normalization)- Provider transformation details - Shows exactly how Bifrost converted your input to provider-specific format
max_completion_tokens to Anthropic, Bifrost converts it to max_tokens in the raw request. Enabling raw request/response reveals this transformation.
- Debugging - Verify how your request was transformed for the specific provider
- Auditing - Track exactly what was sent to external APIs
- Cost analysis - See actual token counts before Bifrost’s normalization
- Integration testing - Validate provider-specific transformations
- Go SDK Provider Configuration - Configure
SendBackRawResponseand other provider settings - Gateway Provider Configuration - Configure
send_back_raw_responsevia API, UI, or config file
Enabling raw request/response may increase response payload size and has
minimal performance impact. Use it selectively in debugging/testing
environments or when you need audit trails.

