- Proxy mode
- AI Gateway
Prerequisites
1
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-v1-.2
An existing Helicone integration
This guide assumes you are calling Helicone from the OpenAI SDK,
fetch, requests, or another HTTP client (in proxy or AI Gateway mode).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 Helicone usage, stripsHelicone-* headers, maps model slugs, and generates a verification script. Drop the skill into your ~/.claude/skills/ directory:
/migrate-helicone. Claude will load the skill and run the steps.
Step 1: Update Your Environment Variables
Replace your Helicone and (in proxy mode) provider keys with a single Concentrate key:Step 2: Update Your Client
The two big changes are the base URL and stripping everyHelicone-* header.
Step 3: Remove Helicone-* Headers
None of Helicone’s custom headers carry over to Concentrate, so they should come out. They’re dead weight in your client config and mislead future readers. Expand the tables below for the full mapping if any of these are in your code.
Request header mapping
Request header mapping
Response header mapping
Response header mapping
Helicone echoes a handful of
Helicone-* headers back on every response. If your code reads or logs them, here’s the mapping:If you have alerting wired to
Helicone-Cache: MISS or Helicone-Fallback-Index, those signals are not on the response path in Concentrate. Replace them with dashboard-based alerts.Step 4: 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.
author/model-id strings, most will still resolve, but be aware of how the slug is interpreted.
One thing to know about the slashed form: the prefix is the provider that serves the request, not the model’s author. Helicone’s AI Gateway uses the model’s author in the slug; Concentrate uses the provider. For most popular names the two are the same string (openai, anthropic, mistral, cohere). They diverge whenever a model is hosted by something other than its author:
Bare slugs work in all of these cases. Use them when you don’t care which provider serves the request. Use the
provider/ prefix when you specifically want to pin to one host (for ZDR compliance, contractual reasons, or latency in a specific region).
The only universally required slug change vs. Helicone’s AI Gateway is auto-routing:
For the authoritative list of supported
provider/model-id pairs, call GET /v1/models or browse the Model Fortress.
Step 5: Reconnect Observability
Concentrate’s dashboard covers the major surfaces you used in Helicone.Exporting your Helicone history
Helicone’s dashboards do not import into Concentrate, and the reverse is also true. Historical request logs stay where they were created. If your migration is driven by compliance or audit requirements, Helicone exposes a logs export via their API; pull your history out before deprovisioning your Helicone account.Step 6 (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
Helicone offers two integration shapes you might be using today. The migration path is different for each:
- Provider-proxy mode. Point the OpenAI SDK at
https://oai.helicone.ai/v1,anthropic.helicone.ai,groq.helicone.ai, etc., keep using your own provider API key, and sendHelicone-Auth: Bearer sk-helicone-...for logging. Migrating here gets you off provider keys entirely. - AI Gateway mode. Point at
https://ai-gateway.helicone.aiwith managed upstream credentials and consolidated billing. Migration here is a straight base-URL + key swap.
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. This is the structural difference from Helicone’s account model and matters most for organizations issuing keys to many internal teams or external developers.
Feature-aware resiliency
Feature-aware resiliency
In addition to ordered model and provider fallbacks (
routing.model.fallbacks, routing.provider.fallbacks), Concentrate’s routing layer ships:- An uptime gate that skips any provider whose per-feature success rate drops below 90%.
- Feature degradation. If no provider supports the full requested feature set (e.g.
json_schema), the request is downgraded (tojson_objector text) rather than failed. - Cache-affinity routing. When multiple providers can serve a request, the one where your actor has cached tokens is preferred.
Strategy-driven auto routing
Strategy-driven auto routing
model: "auto" accepts an explicit optimization target via routing.model.sort: cost, latency, or performance (default). See Auto Routing.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.
Same 0% markup, same consolidated billing
Same 0% markup, same consolidated billing
Concentrate charges providers’ list prices with no markup, billed in a single invoice. Helicone does the same with its AI Gateway credits, so if you were drawn to Helicone for the pricing model specifically, that’s not a differentiator either direction.
Troubleshooting
Model not found
Model not found
Bare slugs (
gpt-4o, claude-haiku-4-5) and provider/model-id slugs both work. If you’re using a provider/ prefix and getting a miss, double-check the prefix is a provider (e.g. bedrock, azure, ai-studio) and not just the author (e.g. meta, google). Call GET /v1/models for the authoritative list.Invalid API key error
Invalid API key error
Concentrate keys start with
sk-cn-v1-. If you are still sending an sk-helicone-... value (or an upstream provider key from proxy mode), you will see a 401. Verify the value in your dashboard and confirm there are no extra spaces or quotes.Requests succeed but nothing shows up in the Concentrate dashboard
Requests succeed but nothing shows up in the Concentrate dashboard
Confirm the base URL is
https://api.concentrate.ai/v1, not a *.helicone.ai domain. If the SDK is still pointed at oai.helicone.ai it is logging against your Helicone account, not Concentrate.Cache hit rate dropped after migrating
Cache hit rate dropped after migrating
Concentrate uses provider-native prompt caching, currently supported on Anthropic and AWS Bedrock. Caches are seeded per API key by default; pass
prompt_cache_key in the request body if you want to set the seed explicitly (the analog of Helicone-Cache-Seed).Connection errors
Connection errors
Confirm the base URL is
https://api.concentrate.ai/v1 (no /api segment, no per-provider subdomain). Test the connection manually:My retries / rate-limit headers stopped applying
My retries / rate-limit headers stopped applying
Helicone-Retry-Enabled and Helicone-RateLimit-Policy request headers are no-ops on Concentrate. Failover happens automatically across providers in your fallback chain; rate limits are configured per-key in the dashboard.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
Feedback
If you hit anything that didn’t translate cleanly (especially aroundHelicone-Property-*, sessions, prompt versioning, or proxy caching), email support@concentrate.ai. The capability gaps called out above are tracked, and migration friction reports directly shape what we ship next.