tokrouterdocs

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.

.mdOpen in Claude

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.

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"}]
  }'

First time here

Start with the quickstart: create a key, run the curl, then swap your SDK's base_url. There is no TokRouter-specific dependency to install.

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.

ProtocolEndpointTypical client
OpenAI Chat Completions/v1/chat/completionsOpenAI SDK, most third-party clients
OpenAI Responses/v1/responsesOpenAI's newer Responses API
Anthropic Messages/v1/messages@anthropic-ai/sdk, Claude Code
Gemini/v1beta/models/{model}:generateContentgoogle-genai
DashScope/v1/services/aigc/text-generation/generationAlibaba DashScope SDK (drop the official /api prefix)

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.