Providers, by name
What provider: { name: … } resolves to. Generated from packages/core/src/providers.ts
and checked against each provider’s own documentation on 2026-09-02; the table
below is what the runtime believes, and tests/providers.test.ts fails if a name
exists in the code and not here.
Two formats. anthropic endpoints are spoken to directly. openai
endpoints (Chat Completions) are reached through the runtime’s own translator,
a loopback server inside the run sandbox that lives for one step. Verified
means a tool loop was driven through the endpoint from this runtime; a name
without it is documented, not proven — run foldrun probe <model> before a
flow depends on it.
| name | provider | format | base URL | key header | verified | note |
|---|---|---|---|---|---|---|
anthropic |
Anthropic | anthropic | https://api.anthropic.com |
x-api-key | yes | |
openrouter |
OpenRouter | anthropic | https://openrouter.ai/api |
bearer | yes | Hundreds of models behind one key. Its own docs disagree on how well non-Anthropic models hold a tool loop on this endpoint — probe the model you mean to use. |
deepseek |
DeepSeek | anthropic | https://api.deepseek.com/anthropic |
x-api-key | Ignores top_k, cache_control and thinking budgets; Claude model names are remapped to DeepSeek’s. | |
kimi |
Moonshot Kimi | anthropic | https://api.moonshot.ai/anthropic |
bearer | ||
moonshot |
Moonshot Kimi | anthropic | https://api.moonshot.ai/anthropic |
bearer | ||
zai |
z.ai (GLM) | anthropic | https://api.z.ai/api/anthropic |
bearer | ||
minimax |
MiniMax | anthropic | https://api.minimax.io/anthropic |
bearer | ||
qwen |
Alibaba Qwen (Model Studio) | anthropic | (per account — set base_url) |
x-api-key | base_url is per account: https:// |
|
fireworks |
Fireworks AI | anthropic | https://api.fireworks.ai/inference |
bearer | No server-side tools; no adaptive thinking. | |
deepinfra |
DeepInfra | anthropic | https://api.deepinfra.com/anthropic |
bearer | ||
sambanova |
SambaNova | anthropic | https://api.sambanova.ai |
x-api-key | No server-side tools, base64 images only. | |
vercel |
Vercel AI Gateway | anthropic | https://ai-gateway.vercel.sh |
bearer | Model ids are namespaced, e.g. openai/gpt-5. | |
litellm |
LiteLLM (yours) | anthropic | (per account — set base_url) |
x-api-key | base_url is your proxy, e.g. http://litellm.internal:4000. It presents an Anthropic endpoint and speaks anything behind it. | |
cloudflare-gateway |
Cloudflare AI Gateway | anthropic | (per account — set base_url) |
x-api-key | base_url is https://gateway.ai.cloudflare.com/v1/ |
|
ollama |
Ollama (local) | anthropic | http://localhost:11434 |
x-api-key | v0.14+. Ignores tool_choice. | |
lmstudio |
LM Studio (local) | anthropic | http://localhost:1234 |
x-api-key | ||
vllm |
vLLM (yours) | anthropic | (per account — set base_url) |
bearer | base_url is your server; Python frontend only. | |
openai |
OpenAI | openai | https://api.openai.com/v1 |
bearer | ||
gemini |
Google Gemini | openai | https://generativelanguage.googleapis.com/v1beta/openai |
bearer | Google’s OpenAI-compatible route. Unknown parameters are ignored silently; reasoning cannot be switched off on the newest models. | |
xai |
xAI Grok | openai | https://api.x.ai/v1 |
bearer | ||
groq |
Groq | openai | https://api.groq.com/openai/v1 |
bearer | ||
mistral |
Mistral | openai | https://api.mistral.ai/v1 |
bearer | ||
together |
Together AI | openai | https://api.together.ai/v1 |
bearer | ||
cerebras |
Cerebras | openai | https://api.cerebras.ai/v1 |
bearer | ||
perplexity |
Perplexity | openai | https://api.perplexity.ai |
bearer | The Sonar chat route sunsets 2026-09-27; the successor Agent API is not Chat-Completions-shaped. | |
huggingface |
Hugging Face | openai | https://router.huggingface.co/v1 |
bearer | The Inference Providers router; model ids are Hub ids, e.g. meta-llama/Llama-3.3-70B-Instruct. | |
cloudflare |
Cloudflare Workers AI | openai | (per account — set base_url) |
bearer | base_url is https://api.cloudflare.com/client/v4/accounts/ |
|
nebius |
Nebius Token Factory | openai | https://api.tokenfactory.nebius.com/v1 |
bearer | ||
novita |
Novita | openai | https://api.novita.ai/openai |
bearer | ||
hyperbolic |
Hyperbolic | openai | https://api.hyperbolic.xyz/v1 |
bearer |
Not on the list, and why. Vertex AI puts the model in the URL, so a base
URL alone cannot reach it; Bedrock’s legacy InvokeModel streams AWS events, not
SSE — both are enterprise arrangements with their own gateways. xAI’s own
Anthropic-shaped route is marked deprecated by xAI, so xAI is reached as
openai. GitHub Models retired on 2026-07-30. Perplexity’s chat route sunsets
on 2026-09-27.
Verified 2026-09-02
The translator itself was driven end to end from foldrun probe against
OpenRouter’s Chat-Completions route (format: openai,
base_url: https://openrouter.ai/api/v1) — the one OpenAI-shaped endpoint we
hold a key for. A tool loop closed, streamed, on:
| model | tool call | result read back | cost |
|---|---|---|---|
openai/gpt-4o-mini |
yes | yes | $0.0058 |
meta-llama/llama-3.3-70b-instruct |
yes | yes | $0.0073 |
google/gemini-2.5-flash was refused with a 402 by OpenRouter — the key’s
weekly limit could not reserve the 32,000 max_tokens the model loop asks
for — and that refusal arrived as a well-formed Anthropic error with the
provider’s own words, which is the pass-through working. Gemini’s own
endpoint (name: gemini) awaits a Google key.