Migrate Between LLM Providers
You've already decided to switch providers and you're holding a failing build. This is the parameter-by-parameter diff, derived from a hand-sourced map of what each provider's API actually accepts — not the prose version every other migration guide stops at.
Which LLM provider migrations need real code changes?
2 directed provider migrations have a real API-surface asymmetry worth a page — Anthropic, OpenAI among them. 5 more pairs are a three-line base-URL, key, and model-string swap with nothing to map, so they get a row here instead of a URL.
Migrations with a real diff
| From | To | Effort | Breaking params | Status |
|---|---|---|---|---|
| OpenAI | Anthropic | Code change | 12 | Preview (draft) → |
| Anthropic | OpenAI | Config change | 8 | Preview (draft) → |
Drop-in migrations — no page needed
Every provider below is fully OpenAI-compatible on both ends of the pair. The honest migration guide is three lines: change base_url, change the API key, change the model string. There's no parameter mapping, because there's no parameter mapping — publishing a page around that would be padding.
| From | To | What changes |
|---|---|---|
| OpenAI | Mistral | base_url → https://api.mistral.ai/v1, new API key, new model string. 2 minor parameter differences — see the target's provider page. |
| OpenAI | Groq | base_url → https://api.groq.com/openai/v1, new API key, new model string. 3 minor parameter differences — see the target's provider page. |
| OpenAI | xAI | base_url → https://api.x.ai/v1, new API key, new model string. |
| OpenAI | Cerebras | base_url → https://api.cerebras.ai/v1, new API key, new model string. 3 minor parameter differences — see the target's provider page. |
| DeepSeek | Groq | base_url → https://api.groq.com/openai/v1, new API key, new model string. |
Full parameter-mapping corpus: /migrate/data.json — cite this dataset directly.
