Pick your starting point
Match what you’re using today to the guide that walks through the swap.OpenRouter
Swap the base URL and drop provider-specific routing headers.
Helicone
Move off Helicone’s proxy while keeping OpenAI-compatible calls.
Portkey
Replace Portkey headers and virtual keys with a single Concentrate key.
Merge Gateway
Point Merge Gateway clients at Concentrate with minimal changes.
Vercel AI Gateway
Migrate the AI SDK or OpenAI client from Vercel AI Gateway.
TensorZero
Swap TensorZero’s gateway for Concentrate’s OpenAI-compatible API.
LiteLLM
Replace the LiteLLM proxy with Concentrate, no client rewrite needed.
https://api.concentrate.ai/v1, swap your API key for one that starts with sk-cn-v1-, and remove any provider-specific headers or routing parameters. See the Quickstart for a from-scratch setup.
What every migration has in common
Regardless of where you’re coming from, four things change and the rest stays the same.
Streaming, tool calling, structured output, and multi-modal input all work through the same OpenAI-compatible shape, with no code changes beyond the client construction.
What you get after migrating
- Team-scale spend management. Budgets at the organization, team, developer, and key level.
- Built-in observability. Usage, spend, latency, providers, models, and cache hits across your whole org, with no third-party integration.
- Strategy-driven auto routing.
model: "auto"with explicit optimization for cost, latency, or performance. See Auto Routing. - Feature-aware resiliency. Uptime-gated failover, feature degradation, and cache-affinity routing across 20+ providers.
- Native Responses and Messages APIs. In addition to Chat Completions, use a first-class Responses API and an Anthropic-compatible Messages API.
Enabling Zero Data Retention
If your migration is driven by compliance or privacy requirements, turn on Zero Data Retention (ZDR) on the keys you use after migrating. With ZDR enabled, routing is restricted to providers with certified zero data retention policies, so your prompts and completions are never stored upstream. ZDR is a key-level setting, not a request parameter. Configure it once and keep using the key normally.- Go to the API Keys page in the dashboard.
- Create or edit a key.
- Under Data Retention, enable Zero Data Retention (Providers).
- Optionally disable Enable Request Logging if you also don’t want Concentrate to store request/response content.

