# Overview

> TokRouter is an OpenAI-compatible model gateway — one base URL and one key for models from many vendors, with separate input / output / cache pricing.

In one line: point your SDK's `base_url` at `https://api.tokrouter.dev/v1` and call models from any
vendor with the same `sk-` API key.

```bash
curl https://api.tokrouter.dev/v1/chat/completions \
  -H "Authorization: Bearer $TOKROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-opus-5-5",
    "messages": [{"role": "user", "content": "Explain a model gateway in one sentence"}]
  }'
```

<Callout type="info" title="First time here">
Start with the [quickstart](/en/quickstart/): create a key, run the curl, then swap your SDK's
base_url. There is no TokRouter-specific dependency to install.
</Callout>

## What is in these docs

- **Getting started**: quickstart, authentication, billing and quota
- **SDKs and frameworks**: OpenAI Python / Node, Anthropic, LangChain, Vercel AI SDK
- **Tool integrations**: Claude Code, Cursor, Cline, Cherry Studio, LibreChat
- **Guides**: streaming, tool calling, vision input, structured output, protocol bridging
- **API reference**: endpoints, request and response fields for each protocol
- **Models**: context window and per-component pricing for every model

## Supported protocols

The same base URL accepts four inbound protocols and routes by the `model` field in the request body —
so you can call an OpenAI model with the Anthropic SDK, or Claude with the OpenAI SDK.

| Protocol | Endpoint | Typical client |
| --- | --- | --- |
| OpenAI Chat Completions | `/v1/chat/completions` | OpenAI SDK, most third-party clients |
| OpenAI Responses | `/v1/responses` | OpenAI's newer Responses API |
| Anthropic Messages | `/v1/messages` | `@anthropic-ai/sdk`, Claude Code |
| Gemini | `/v1beta/models/{model}:generateContent` | `google-genai` |
| DashScope | `/v1/services/aigc/text-generation/generation` | Alibaba DashScope SDK (drop the official `/api` prefix) |

<Callout type="warn" title="System One is not a chat protocol">
`/v1/systemone` is a passthrough endpoint for the Jev decision model: the request body is
`{state, questions}` and the response is a typed decision with probabilities. It does not support
streaming and does not participate in protocol bridging.
</Callout>
