Manage Providers

Add, configure, and manage LLM providers in Prism.

What it is

Providers are the LLM services Prism routes requests to. Each has its own API format, authentication, and model catalog. Prism translates between its unified OpenAI-compatible API and each provider’s native format, allowing you to switch providers without changing client code.


Use cases

  • Multi-provider redundancy — Configure backup providers for automatic failover
  • Cost optimization — Route to cheaper providers for appropriate workloads
  • Self-hosted models — Connect Ollama, vLLM, or LM Studio running on your infrastructure
  • Provider evaluation — Test multiple providers with the same prompts to compare quality

Supported providers

ProviderAPI FormatSupported TypesModels
OpenAINative OpenAI APIChat, Completions, Embeddingsgpt-5.4, gpt-5.4-mini, gpt-4.1, gpt-4o, o3, o4-mini, and all other OpenAI models
AnthropicAnthropic Messages API†Chatclaude-opus-4-6, claude-sonnet-4-6, claude-haiku-4-5, and all other Claude models
Google GeminiGoogle GenAI API†Chatgemini-3.1-pro, gemini-3-flash, gemini-2.5-pro, gemini-2.5-flash, and all other Gemini models
MistralOpenAI-compatibleChat, Completionsmistral-large-latest, mistral-medium-latest, mistral-small-latest, and all other Mistral models
CohereCohere API†Chat, Completionscommand-a-03-2025, command-r7b-12-2024, command-r-plus-08-2024, and all other Cohere models
OllamaOpenAI-compatibleChat, CompletionsAny local model
vLLMOpenAI-compatibleChat, CompletionsAny model supported by vLLM
LM StudioOpenAI-compatibleChat, CompletionsAny model loaded in LM Studio

Note

† Anthropic, Google Gemini, and Cohere each have their own native API formats. Prism automatically translates requests and responses between its unified OpenAI-format API and each provider’s native format. Your client code stays identical regardless of which provider handles the request.

Tip

Prism supports all models from each provider, including new releases. The models listed above are examples of the latest available models as of March 2026.


Adding a provider

Providers dashboard

  1. Open Prism dashboard at https://app.futureagi.com/dashboard/gateway/providers
  2. Click Add Provider
  3. Select provider from list
  4. Enter API key and optional configuration
  5. Click Save
from prism import Prism

client = Prism(
    api_key="sk-prism-your-key",
    base_url="https://gateway.futureagi.com",
    control_plane_url="https://api.futureagi.com",
)

# Add a provider
provider = client.org_configs.create(
    provider="openai",
    api_key="sk-your-openai-key",
    config={"organization": "your-org"}
)

# List all providers
providers = client.org_configs.list()

# Update provider configuration
client.org_configs.update(
    provider["id"],
    config={"organization": "new-org"}
)
import { Prism } from "@futureagi/prism";

const client = new Prism({
  apiKey: "sk-prism-your-key",
  baseUrl: "https://gateway.futureagi.com",
  controlPlaneUrl: "https://api.futureagi.com",
});

const provider = await client.orgConfigs.create({
  provider: "openai",
  apiKey: "sk-your-openai-key",
  config: { organization: "your-org" }
});

const providers = await client.orgConfigs.list();

await client.orgConfigs.update(provider.id, {
  config: { organization: "new-org" }
});

Warning

Provider API keys are stored encrypted and never exposed in API responses.

Tip

Custom models can be configured via the Custom & Self-Hosted section or through org config.


Switching providers at request time

Use the same code with different model names to switch providers:

Python SDK:

# OpenAI
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Hello"}]
)

# Anthropic
response = client.chat.completions.create(
    model="anthropic/claude-haiku-4-5",
    messages=[{"role": "user", "content": "Hello"}]
)

# Google Gemini
response = client.chat.completions.create(
    model="gemini/gemini-2.0-flash",
    messages=[{"role": "user", "content": "Hello"}]
)

TypeScript SDK:

// OpenAI
const response = await client.chat.completions.create({
  model: "gpt-4o-mini",
  messages: [{ role: "user", content: "Hello" }]
});

// Anthropic
const response = await client.chat.completions.create({
  model: "anthropic/claude-haiku-4-5",
  messages: [{ role: "user", content: "Hello" }]
});

// Google Gemini
const response = await client.chat.completions.create({
  model: "gemini/gemini-2.0-flash",
  messages: [{ role: "user", content: "Hello" }]
});

Custom & Self-Hosted providers

Connect self-hosted models running on your infrastructure using Ollama, vLLM, or LM Studio.

Custom providers dashboard

  1. Open Prism dashboard at https://app.futureagi.com/dashboard/gateway/providers
  2. Click Add Provider
  3. Enter your model’s public endpoint URL
  4. Enter model name
  5. Click Save
from prism import Prism

client = Prism(
    api_key="sk-prism-your-key",
    base_url="https://gateway.futureagi.com",
    control_plane_url="https://api.futureagi.com",
)

# Add Ollama provider
provider = client.org_configs.create(
    provider="ollama",
    config={
        "base_url": "https://your-ollama-endpoint.example.com",
        "model": "llama3.2"
    }
)

# Add vLLM provider
provider = client.org_configs.create(
    provider="vllm",
    config={
        "base_url": "https://your-vllm-endpoint.example.com",
        "model": "meta-llama/Llama-3.1-8B-Instruct"
    }
)
import { Prism } from "@futureagi/prism";

const client = new Prism({
  apiKey: "sk-prism-your-key",
  baseUrl: "https://gateway.futureagi.com",
  controlPlaneUrl: "https://api.futureagi.com",
});

// Add Ollama provider
const provider = await client.orgConfigs.create({
  provider: "ollama",
  config: {
    baseUrl: "https://your-ollama-endpoint.example.com",
    model: "llama3.2"
  }
});

// Add vLLM provider
const provider = await client.orgConfigs.create({
  provider: "vllm",
  config: {
    baseUrl: "https://your-vllm-endpoint.example.com",
    model: "meta-llama/Llama-3.1-8B-Instruct"
  }
});

Note

Your self-hosted endpoint must be publicly accessible from Prism’s gateway. Use a tunnel service (ngrok, Cloudflare Tunnel), a cloud VM with a public IP, or deploy behind a reverse proxy with a public domain.


Provider health

Prism automatically monitors provider health and availability. Unhealthy providers are automatically excluded from routing until they recover. The system tracks:

  • Response times and latency
  • Error rates and failure patterns
  • Rate limit status
  • Availability and uptime

When a provider becomes unhealthy, Prism triggers failover to healthy alternatives and opens the circuit breaker to prevent cascading failures. Alerts notify you of provider issues so you can investigate and resolve problems.


What you can do next

Was this page helpful?

Questions & Discussion