1行で切り替える
OpenAI の SDK はデフォルトで OpenAI にリクエストを送りますが、ベース URL を指定できます。別のプロバイダーの URL を指定し、そのプロバイダーの API キーとモデル名を使えば、ほかのコードはそのままです。
from openai import OpenAIclient = OpenAI( base_url="https://api.zurelay.com/v1", # the only line that changes api_key="YOUR_ZURELAY_KEY",)reply = client.chat.completions.create( model="claude-sonnet-5-5", messages=[{"role": "user", "content": "Hello"}],)print(reply.choices[0].message.content)TypeScript でも baseURL で同じように切り替えられます。また、「OpenAI base URL」や「custom endpoint」を指定できる OpenCode、Continue、Cline、Open WebUI などのツールでも利用できます。各ツールの設定方法は連携ガイドをご覧ください。OPENAI_BASE_URL と OPENAI_API_KEY の環境変数を読み込むツールも多いため、コードを変更せずに切り替えることもできます。
主なプロバイダーのベース URL
ベース URL は通常 /v1 で終わり、SDK がそこに /chat/completions を追加します。別のパスを使うプロバイダーもあるため、以下の URL をそのままコピーしてください:
| プロバイダー | ベースURL |
|---|---|
| OpenAI | https://api.openai.com/v1 |
| Google Gemini | https://generativelanguage.googleapis.com/v1beta/openai/ |
| DeepSeek | https://api.deepseek.com |
| xAI (Grok) | https://api.x.ai/v1 |
| Zurelay | https://api.zurelay.com/v1 |
| OpenRouter | https://openrouter.ai/api/v1 |
| Groq | https://api.groq.com/openai/v1 |
| Ollama | http://localhost:11434/v1/ |
各プロバイダーの URL、モデル ID、エンドポイントごとの用途は、2026年10月26日 時点の各社ドキュメントをもとにまとめたOpenAI 互換のベース URL 一覧をご覧ください。
そのまま使える機能
- メッセージ、システムプロンプト、ストリーミング。
- ツール呼び出しと、JSON スキーマを使った構造化出力。
- モデルが対応している場合、メッセージに含まれる画像やその他のファイル。
- 使用量の情報。トークン数も同じように集計できます。
切り替え前に確認すること
- モデル名。プロバイダーごとにIDが異なります。
GET /v1/modelsで一覧を確認してください。 - 対応するAPI。Chat Completionsには対応していても、OpenAIのResponses、Realtime、embeddings、batch APIには対応していないプロバイダーが多くあります。ZurelayはChat Completions、画像、動画、音声に加え、Claude向けのAnthropicのMessages APIに対応しています。
- 追加パラメータ。推論レベル、キャッシュ制御、サンプリングの制限はモデルによって異なります。どのモデルがどのパラメータに対応するか、プロバイダーのドキュメントで確認してください。
- 本当にそのモデルですか?安価なプロバイダーでは、新しいモデル名で古いモデルや低価格のモデルを提供している場合があります。安価なAI APIが実際に提供しているものでは、5つの簡単な確認方法を紹介しています。
切り替えがうまくいかないとき
- 404 Not Found。ベースURLにエンドポイント(
.../v1/chat/completions)が含まれているか、プロバイダー固有のパスが抜けています。ベースURLだけを指定してください。 - 401 Unauthorized。APIキーが別のプロバイダーのものか、AlibabaのModel Studioでは別のリージョンのものです。
- モデルが見つかりません。同じモデルでも、モデルIDはプロバイダーによって異なります。Anthropicでは
claude-opus-5-5、OpenRouterではanthropic/claude-opus-5、Azureではデプロイ名を使います。 - パラメータで400エラー。Anthropicの互換レイヤーにおける
response_formatなど、OpenAIのAPIで使えるパラメータを拒否または無視するプロバイダーもあります。そのパラメータを外すか、対応するプロバイダーに切り替えてください。
Anthropic互換API
Claude CodeとAnthropicのSDKは、代わりにAnthropicのMessages APIを使い、ANTHROPIC_BASE_URLを読み込みます。DeepSeek、Moonshot、Z.ai、MiniMax、ZurelayなどもこのAPIに対応しています。これらのURLは/v1で終わりません。対応プロバイダーは一覧で確認できます。Claude Codeの料金では、各プランとAPIでの利用料金を比較しています。
切り替える理由
OpenAI互換のキー1つで複数のラボのモデルを利用できます。自分のプロンプトでClaude、GPT、Gemini、DeepSeekを比較するときも、より安いモデルに切り替えるときも、モデル名を変えるだけです。モデルと料金をご覧ください。