Multiple models.
One endpoint.
The base/mnt.ai router speaks both the OpenAI and Anthropic wire formats. Point any SDK, coding agent, or CLI at it with an env var — no code changes required.
First request in 30 seconds
Get a key, set one env var, make your first chat completion.
Read →OpenAI + Anthropic compatible
/v1/chat/completions, /v1/messages,
/v1/models, and token counting — fully documented.
Every harness, one base URL
Claude Code, Codex, OpenCode, Pi, omp — swap their upstream with env vars or a bash alias.
Read →Point your tools here
Every base/mnt.ai endpoint accepts the same key. Whatever speaks OpenAI or Anthropic protocol works unchanged — just change the base URL.
export OPENAI_BASE_URL=https://api.basemnt.ai/v1
export OPENAI_API_KEY=sk-your-key export ANTHROPIC_BASE_URL=https://api.basemnt.ai
export ANTHROPIC_API_KEY=sk-your-key Make your first base/mnt.ai request in under a minute. The router speaks both the OpenAI and Anthropic wire formats, so any existing SDK, CLI, or coding agent works with a one-line change.
1. Get an API key
- Sign in at basemnt.ai.
- Open Settings → API keys and create a key.
Keys look like sk-.... Treat them like passwords — requests are metered per plan, and a leaked
key burns your quota.
2. Point a client at the router
The base URL is https://api.basemnt.ai. Both protocol families live on the same host:
| Protocol | Base URL | Endpoints |
|---|---|---|
| OpenAI-compatible | https://api.basemnt.ai/v1 | POST /v1/chat/completions, GET /v1/models |
| Anthropic-compatible | https://api.basemnt.ai | POST /v1/messages, POST /v1/messages/count_tokens |
curl https://api.basemnt.ai/v1/chat/completions \
-H "Authorization: Bearer $SK_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek/deepseek-v4-flash-0731",
"messages": [{ "role": "user", "content": "Hello, basement." }]
}'Authorization: Bearer <key> and x-api-key: <key>
interchangeably. OpenAI SDKs send the former; Anthropic SDKs (and Claude Code) send the latter.
3. Pick a model
List everything your key can reach:
curl https://api.basemnt.ai/v1/models \
-H "Authorization: Bearer $SK_KEY"See Models for the current catalog. Model IDs are the routing key —
pass them verbatim in the model field.
4. Stream it
Add "stream": true to stream Server-Sent Events as tokens arrive:
curl https://api.basemnt.ai/v1/chat/completions \
-H "Authorization: Bearer $SK_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek/deepseek-v4-flash-0731",
"messages": [{ "role": "user", "content": "Hello" }],
"stream": true
}'Next steps
- API Reference — every endpoint, parameter, and error code.
- Connect coding agents — Claude Code, Codex, OpenCode, Pi, omp, and more, via one env var.