Prerequisites
A Concentrate AI account with an active API key
Sign up or log in at concentrate.ai and create an API key. Your key should start with
sk-cn.An existing OpenRouter integration
This guide assumes you are already calling OpenRouter from the OpenAI SDK,
fetch, requests, or another HTTP client. If you are starting fresh, follow the Quickstart instead.Quick Start for Claude Code users
If you use Claude Code, you can install a skill that walks through this migration interactively. It searches your project for OpenRouter usage, removes OpenRouter-specific headers and parameters, maps model slugs, and generates a verification script. Drop the skill into your~/.claude/skills/ directory:
/migrate-openrouter. Claude will load the skill and run the steps.
Step 1: Update Your Environment Variables
Replace your OpenRouter configuration with Concentrate’s:Step 2: Update Your Client
Step 3: Update Model Identifiers
Concentrate accepts model strings in two forms:- Bare slug, e.g.
gpt-4o,claude-haiku-4-5,auto. Routing picks a provider. provider/model-id, e.g.bedrock/claude-haiku-4-5,openai/gpt-4o. Pins the request to a specific provider.
openai, anthropic, mistral, cohere), so existing OpenRouter slugs usually keep working. They diverge whenever a model is hosted by something other than its author:
| Author | Provider serving the request | Concentrate slug |
|---|---|---|
Anthropic (claude-haiku-4-5) | Anthropic | anthropic/claude-haiku-4-5 |
| Anthropic (same model, different host) | AWS Bedrock | bedrock/claude-haiku-4-5 |
| Anthropic (same model, different host) | Azure | azure/claude-haiku-4-5 |
Google (gemini-3.5-flash) | Google AI Studio | ai-studio/gemini-3.5-flash |
Meta (llama-3-8b-instruct) | AWS Bedrock | bedrock/llama-3-8b-instruct |
provider/ prefix when you specifically want to pin to one host (for ZDR compliance, contractual reasons, or latency in a specific region).
The only required slug change vs. OpenRouter is auto-routing:
| OpenRouter | Concentrate AI |
|---|---|
openrouter/auto | auto (see Auto Routing) |
GET /v1/models or browse the Model Fortress.
Step 4 (Optional): Adopt the Responses API
For new code, we recommend the native Responses API. It supports streaming, tool calling, structured output, multi-modal input, and web search through a single normalized shape across every provider.Why migrate to Concentrate
How it works
How it works
OpenRouter exposes an OpenAI-compatible endpoint at
https://openrouter.ai/api/v1. Concentrate exposes the same OpenAI Chat Completions shape at https://api.concentrate.ai/v1/chat/completions, plus a native Responses API at https://api.concentrate.ai/v1/responses.To migrate, point your existing client at the Concentrate base URL, swap your API key, and (optionally) update model identifiers to Concentrate’s author/model-id format.Billing and usage are managed through your Concentrate AI credits. All usage, including reasoning and cached tokens, appears in your Concentrate dashboard.Team-scale spend management
Team-scale spend management
Concentrate organizes billing around an organization → team → developer → key hierarchy. Set budgets at any level and roll spend up into a single dashboard without provisioning a separate key for every contributor.
Organization-wide observability
Organization-wide observability
Concentrate ships first-party dashboards that aggregate usage, spend, latency, providers, models, and cache hit rates across your whole org, broken down by team, developer, and key with no external integration to wire up.
Strategy-driven auto routing
Strategy-driven auto routing
Concentrate’s
model: "auto" lets you pick the optimization target explicitly (minimize cost, minimize latency, or maximize performance) instead of relying on a single opaque optimizer. See Auto Routing.Feature-aware resiliency
Feature-aware resiliency
Concentrate’s routing layer goes beyond ordered fallbacks: an uptime gate skips providers below a per-feature success threshold, feature degradation keeps requests alive when no provider supports the full requested feature set, and cache-affinity routing prefers providers where your actor already has cached tokens.
Native Responses and Messages APIs
Native Responses and Messages APIs
In addition to OpenAI Chat Completions compatibility, Concentrate exposes a first-class Responses API and an Anthropic-compatible Messages API, so you can pick whichever request format best fits your client.For the full catalog and current rates, see our Model Fortress.
Troubleshooting
Model not found
Model not found
OpenRouter and Concentrate use different model slugs. Call
GET /v1/models to see the exact identifier, or check the Model Fortress.Invalid API key error
Invalid API key error
Concentrate keys start with
sk-cn. If you are still sending an sk-or-... key you will see a 401. Verify the value in your dashboard and confirm there are no extra spaces or quotes in the environment variable.Connection errors
Connection errors
Confirm the base URL is
https://api.concentrate.ai/v1 (note: no /api segment). Test the connection manually:Next Steps
API Reference
Explore the full API capabilities
Available Models
Browse all supported models
Auto Routing
Optimize model selection automatically
Get Support
Contact our support team