tokrouterdocs

FAQ

Frequent questions about access, billing, protocols and model selection.

.mdOpen in Claude

Access

What exactly goes in base_url?

  • OpenAI SDK / OpenAI-compatible clients: https://api.tokrouter.dev/v1
  • Anthropic SDK: https://api.tokrouter.dev (the SDK appends /v1/messages)
  • google-genai: https://api.tokrouter.dev

The two most common mistakes: dropping /v1 for OpenAI clients, and adding /v1 for Anthropic clients.

Do I need a TokRouter SDK?

No. The gateway implements the vendors' native protocols, so you keep the official SDK and change the base URL.

How do I debug a 401?

  1. Is the Bearer prefix present (OpenAI protocol)?
  2. Is the token deleted, expired or disabled?
  3. Did you use your account password as the API key?

Billing

Are failed requests billed?

No. Only requests that actually return tokens count toward usage.

Why is output so much more expensive than input?

Generating tokens costs upstream vendors far more than reading them. The gateway discloses each component as the vendor prices it.

What happens when the balance runs out?

A hard stop: every request returns an insufficient-quota error until you top up. A token-level quota cap affects only that token.

Protocols

Can I call Claude with the OpenAI SDK?

Yes. Set model to a Claude id; the gateway maps it to the Anthropic protocol.

Does Claude Code work?

Yes. Set ANTHROPIC_BASE_URL and ANTHROPIC_AUTH_TOKEN — see Claude Code.

Is streaming supported?

Yes, over SSE for all four inbound protocols. The one exception is /v1/systemone.

Models

Why does the docs' model list differ from /v1/models?

The docs page is a build-time snapshot; /v1/models is runtime truth. Use /v1/models for availability.

Do dots and hyphens in model ids matter?

Yes. claude-sonnet-5.5 and claude-sonnet-5-5 are two different gateway ids (the first is the gateway's naming, the second the vendor's canonical naming). When unsure, copy the id from Models.