Skip to content

Provider catalogue

The Providers page tells you how to add an upstream: the form, the auth toggle, the discovery button. This catalogue tells you what to put in those fields for each specific provider, with a link to where to grab the API key.

The Add Provider picker groups presets three ways. Whichever you pick, the form pre-fills the endpoint, the model-name prefixes, and any preset-specific fields (region, project, deployment). You only need to paste your credential.

Category Who's in it Maturity
Popular Direct API-key providers most teams reach for first: OpenAI, Anthropic, Gemini, plus the OpenAI-compatible aggregators (OpenRouter, Groq, Together, Mistral, Fireworks, etc.) All GA
Cloud Cloud-managed alternatives that route through a hyperscaler: Azure OpenAI, AWS Bedrock, Google Vertex AI Azure GA · Bedrock + Vertex alpha
Local / self-hosted On-prem and dev-loop endpoints: Ollama and the Custom catch-all All GA

If your provider isn't on the list, Custom / Self-Hosted is the catch-all: the same form, just no preset to seed it.


OpenAI

The reference upstream. The control plane speaks OpenAI's chat-completions schema natively, so OpenAI traffic is effectively passthrough; request and response bodies move verbatim (only the auth header is rewritten).

Field Value
Preset label OpenAI
Endpoint (auto-filled) https://api.openai.com/v1
Required fields Name, API key
API key portal platform.openai.com/api-keys
API key prefix sk-…
Model name prefixes gpt-, o1-, o3-, o4-, chatgpt-
Discovery ✅ Yes. Sync Models pulls the live list.
Translation None (native).
Pairs naturally with OpenAI Python SDK

Anthropic

Native Claude support. Anthropic-shaped requests pass through verbatim (auth swap only). OpenAI SDK callers reach Anthropic via forward translation; Anthropic SDK callers reach OpenAI / Gemini via reverse translation (REQ-007, 0.7.5+).

Field Value
Preset label Anthropic
Endpoint (auto-filled) https://api.anthropic.com
Required fields Name, API key
API key portal console.anthropic.com/settings/keys
API key prefix sk-ant-…
Model name prefixes claude-
Discovery Manual. Register the models you want; Anthropic doesn't expose a list endpoint.
Translation OpenAI ↔ Anthropic both directions.
Pairs naturally with Anthropic Python SDK

📌 Worth knowing. Claude requires max_tokens on every request. When OpenAI-SDK callers don't set one, the control plane defaults to 4096. Usually fine; worth knowing if your application expected unlimited.

Google Gemini

Google AI Studio's direct Gemini endpoint: API key based, no GCP project / IAM setup needed. (For IAM-based access via Google Cloud, see Google Vertex AI below.)

Field Value
Preset label Google Gemini
Endpoint (auto-filled) https://generativelanguage.googleapis.com/v1beta
Required fields Name, API key
API key portal aistudio.google.com/app/apikey
API key prefix AIza…
Model name prefixes gemini-
Discovery ✅ Yes.
Translation OpenAI ↔ Gemini both directions.
Pairs naturally with google-genai SDK

DeepSeek

OpenAI-compatible endpoint for DeepSeek's R1 / V3 family.

Field Value
Preset label DeepSeek
Endpoint (auto-filled) https://api.deepseek.com/v1
Required fields Name, API key
API key portal platform.deepseek.com/api_keys
API key prefix sk-…
Model name prefixes deepseek-
Discovery ✅ Yes.
Pairs naturally with OpenAI Python SDK

OpenRouter

A multi-provider aggregator: one key, 100+ models, OpenRouter routes by model name. Useful for breadth without managing multiple credentials, at the cost of an extra hop.

Field Value
Preset label OpenRouter
Endpoint (auto-filled) https://openrouter.ai/api/v1
Required fields Name, API key
API key portal openrouter.ai/keys
API key prefix sk-or-…
Model name prefixes (none. OpenRouter routes by model name internally)
Discovery ✅ Yes.
Pairs naturally with OpenAI Python SDK

📌 Worth knowing. Model prefixes are intentionally empty for this preset. OpenRouter's model names are already namespaced (e.g. anthropic/claude-haiku-4-5) so the control plane doesn't add another layer.

Groq

Fast inference on Llama, Mixtral, Gemma, Whisper.

Field Value
Preset label Groq
Endpoint (auto-filled) https://api.groq.com/openai/v1
Required fields Name, API key
API key portal console.groq.com/keys
API key prefix gsk_…
Model name prefixes llama-, mixtral-, gemma-, whisper-
Discovery ✅ Yes.
Pairs naturally with OpenAI Python SDK

Together AI

Open-model hosting (Llama, Mistral, Qwen, etc.).

Field Value
Preset label Together AI
Endpoint (auto-filled) https://api.together.xyz/v1
Required fields Name, API key
API key portal api.together.xyz/settings/api-keys
Model name prefixes (none)
Discovery ✅ Yes.
Pairs naturally with OpenAI Python SDK

Mistral AI

Mistral's hosted endpoint for the Mistral / Codestral / Mixtral family.

Field Value
Preset label Mistral AI
Endpoint (auto-filled) https://api.mistral.ai/v1
Required fields Name, API key
API key portal console.mistral.ai/api-keys
Model name prefixes mistral-, codestral-, open-mistral-, open-mixtral-
Discovery ✅ Yes.
Pairs naturally with OpenAI Python SDK

xAI (Grok)

Field Value
Preset label xAI (Grok)
Endpoint (auto-filled) https://api.x.ai/v1
Required fields Name, API key
API key portal console.x.ai
Model name prefixes grok-
Discovery ✅ Yes.
Pairs naturally with OpenAI Python SDK

Qwen (Alibaba)

Alibaba DashScope's OpenAI-compatible endpoint for Qwen models.

Field Value
Preset label Qwen (Alibaba)
Endpoint (auto-filled) https://dashscope.aliyuncs.com/compatible-mode/v1
Required fields Name, API key
API key portal dashscope.console.aliyun.com/apiKey
Model name prefixes qwen-
Discovery Manual.
Pairs naturally with OpenAI Python SDK

Fireworks AI

Field Value
Preset label Fireworks AI
Endpoint (auto-filled) https://api.fireworks.ai/inference/v1
Required fields Name, API key
API key portal fireworks.ai/api-keys
Model name prefixes accounts/fireworks/
Discovery ✅ Yes.
Pairs naturally with OpenAI Python SDK

Perplexity

Perplexity's Sonar models.

Field Value
Preset label Perplexity
Endpoint (auto-filled) https://api.perplexity.ai
Required fields Name, API key
API key portal perplexity.ai/settings/api
API key prefix pplx-…
Model name prefixes sonar-
Discovery Manual.
Pairs naturally with OpenAI Python SDK

Anyscale

Field Value
Preset label Anyscale
Endpoint (auto-filled) https://api.endpoints.anyscale.com/v1
Required fields Name, API key
API key portal app.endpoints.anyscale.com/credentials
Model name prefixes (none)
Discovery ✅ Yes.
Pairs naturally with OpenAI Python SDK

Cloud: managed via a hyperscaler

These three need cloud-managed credentials (Azure key + endpoint, AWS IAM, GCP service account JSON) instead of a simple API key. The form switches to the right field set when you pick the preset.

Azure OpenAI

Azure binds each model to a deployment name you create in the Azure portal. One control plane provider entry = one deployment. For multiple models on Azure, add multiple providers.

Field Value
Preset label Azure OpenAI
Endpoint Per-deployment: copy from the Azure portal (e.g. https://YOUR-RESOURCE.openai.azure.com)
Required fields Name, Endpoint, API key, API version
API key portal Azure Portal → your OpenAI Resource → Keys and Endpoint
Default API version 2024-10-21 (override on the form if needed)
Discovery Manual. Azure deployments aren't listed via discovery. Register the deployment names.
Pairs naturally with OpenAI Python SDK

📌 Worth knowing. Your client sends the deployment name as the model parameter (e.g. my-gpt4o-deploy), not the underlying model name (gpt-4o). Register deployment names in Models accordingly.

AWS Bedrock

Bedrock hosts multiple model families. Claude on Bedrock is production-quality (Anthropic's wire format natively); Llama, Mistral, Cohere, Titan are alpha (limited streaming support).

Field Value
Preset label AWS Bedrock
Endpoint Auto-built from region: https://bedrock-runtime.<region>.amazonaws.com
Required fields Name, AWS region, AWS access key ID, AWS secret access key (or leave empty to inherit env vars on Docker / EC2 / ECS)
Default region us-east-1
Required IAM permissions bedrock:InvokeModel, bedrock:InvokeModelWithResponseStream
Discovery Manual. Bedrock doesn't expose a list endpoint.
Maturity Alpha overall (Claude path GA-quality)
Pairs naturally with Anthropic Python SDK for Claude; OpenAI Python SDK via translation

📌 Worth knowing. Enable each Claude model in the Bedrock Model access page before you try to register it. Otherwise calls fail with an access-denied error from Bedrock.

Bedrock model IDs follow AWS conventions (anthropic.claude-haiku-4-5-20251005, meta.llama3-70b-…). Use the AWS-style IDs when registering models.

Google Vertex AI

Vertex serves Gemini models with GCP-managed credentials. Use this when your organisation requires service-account-based auth instead of API keys.

Field Value
Preset label Google Vertex AI
Endpoint Auto-built from project + location: https://<location>-aiplatform.googleapis.com/v1/projects/<project>/locations/<location>/publishers/google/models
Required fields Name, GCP project, GCP location, API key field (see auth options below)
Default location us-central1
Auth options (paste into "API key" field, or leave empty) • Service account JSON: paste the full JSON contents
• OAuth2 token: gcloud auth print-access-token (1-hour expiry)
• Empty: the control plane uses GOOGLE_APPLICATION_CREDENTIALS env var
Discovery Manual. Register Gemini models you'll use.
Maturity Alpha
Pairs naturally with google-genai SDK with vertexai=True

⚠️ Watch out. Anthropic on Vertex (Claude on Vertex) isn't supported by this preset. If you need Claude with Google-managed credentials, contact support; the Vertex AI Anthropic route requires a separate provider type.


Local / self-hosted

Ollama

Ollama runs locally and exposes an OpenAI-compatible endpoint on /v1. Useful for dev loops or offline testing.

Field Value
Preset label Ollama
Endpoint (auto-filled) http://localhost:11434/v1
Required fields Name, Endpoint (if Ollama is on a different host)
API key Not required by default. Leave empty unless you've configured Ollama's auth.
Discovery ✅ Yes.
Pairs naturally with OpenAI Python SDK

⚠️ Watch out. The control plane needs to be able to reach the Ollama URL. When the control plane runs in Docker, localhost resolves to the container, not the host. Use http://host.docker.internal:11434/v1 instead, or expose Ollama on the network and use its host IP.

Custom / Self-Hosted

The catch-all for any OpenAI-compatible (or specialty) endpoint not on the preset list: vLLM, LocalAI, LiteLLM-as-a-service, on-prem llama-cpp, internal model servers.

Field Value
Preset label Custom / Self-Hosted
Endpoint Whatever your server exposes
Required fields Name, Endpoint, API key (optional), Protocol (openai / anthropic / gemini / azure / bedrock / vertex)
Discovery Configurable per-provider; toggle on if your server exposes a list endpoint.
Pairs naturally with Any SDK that matches your chosen protocol

💡 Pro tip. Most "second-tier" providers that don't have a preset (Cohere, Replicate, AI21, Hugging Face's TGI, etc.) speak OpenAI-compatible HTTP. Pick this preset, paste the base URL ending in /v1, paste the key.


How translation works (the short version)

You don't configure translation. The control plane detects the client SDK format from the URL path and translates only when client format differs from provider format. Specifically:

If your client speaks… …and the provider is… …then
OpenAI OpenAI / Azure / OpenAI-compatible / Ollama Direct connection, passthrough.
OpenAI Anthropic / Bedrock-Claude Forward translation: OpenAI → Anthropic.
OpenAI Gemini / Vertex Forward translation: OpenAI → Gemini.
Anthropic Anthropic / Bedrock-Claude / Vertex-Anthropic Native passthrough.
Anthropic OpenAI / Azure / Gemini / Vertex Reverse translation (REQ-007, 0.7.5+).
Gemini Gemini / Vertex-Gemini Native passthrough.
Gemini OpenAI / Azure / Anthropic Translation via the OpenAI pivot.

You can see which path actually fired for any request in the x-vidai-* response headers and in Request Logs → request detail → upstream call section.


Where to go next

  • Providers: the page-level walkthrough for adding, editing, rotating provider keys, and running discovery.
  • Models: once a provider is added, this is where you confirm models are discovered (or register them manually) and set per-model overrides.
  • Cost Engine → Rate Cards: confirm pricing is set up for the models your new provider serves.
  • Client integrations: how applications point at the control plane. Each provider's catalogue entry above includes the SDK guide that pairs naturally with it.
  • Routing and headers: what the x-vidai-* response headers tell you about which provider actually served a request.