OpenAI互換APIとは?仕組みと使い方を解説
OpenAI互換APIとは、OpenAIのChat Completions APIと同じリクエスト形式・レスポンス形式を受け付けるAPIのことです。OpenAI向けに書いたコードの「接続先(エンドポイント)」と「APIキー」を変えるだけで、他のプロバイダーやモデルをほぼそのまま利用できます。この記事では、その仕組みとメリット、FastMetalでの具体的な使い方を解説します。
この記事でわかること
- OpenAI互換APIの意味と仕組み
- 「互換」であることの実務的なメリット
- FastMetalでOpenAI互換APIを使う手順(コード例つき)
- 利用時に気をつけたいポイント
OpenAI互換APIとは
OpenAI互換APIとは、OpenAIが公開しているChat Completions APIと同じインターフェースを採用したAPIです。具体的には、POST /v1/chat/completions というエンドポイントに、messages 配列と model を含むJSONを送り、同じ形のレスポンスを受け取ります。認証も Authorization: Bearer <APIキー> で共通です。
このため、OpenAIのSDKやサンプルコードを使っている場合、接続先のURLとAPIキーを差し替えるだけで、他のサービスやモデルに移行できます。
なぜ「互換」が重要なのか
「互換」であることには、開発の現場で効く具体的なメリットがあります。
- 既存コードの資産を活かせる — OpenAI向けに書いた実装を書き直さずに使えます。
- ベンダーロックインを避けられる — 1社のAPIに固定されず、必要に応じて乗り換えられます。
- モデルを柔軟に切り替えられる —
modelの値を変えるだけで、用途に合ったモデルを選べます。
ポイント:互換APIゲートウェイ(FastMetalは内部でLiteLLMを利用しています)を挟むと、フロンティアモデルからオープンモデルまでを、一つの窓口でまとめて扱えます。
仕組み:エンドポイントとAPIキー
OpenAI互換APIは、おおまかに次の要素で成り立っています。
| 要素 | 内容 |
|---|---|
| エンドポイント | https://api.fastmetal.ai/v1/chat/completions |
| 認証 | Authorization: Bearer <APIキー> |
| リクエスト | model と messages を含むJSON |
| レスポンス | OpenAIと同じ choices[].message 形式 |
クライアント側はOpenAIに接続しているかのように扱え、実際にはゲートウェイが適切なモデルへリクエストを振り分けます。
FastMetalでOpenAI互換APIを使う
FastMetalはOpenAI互換のエンドポイントを提供しています。APIキーを取得したら、次のように呼び出せます。
curl https://api.fastmetal.ai/v1/chat/completions \
-H "Authorization: Bearer $FASTMETAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic-claude-haiku-4-5",
"messages": [{"role": "user", "content": "こんにちは"}]
}'
OpenAIのPython SDKをそのまま使う場合は、base_url を差し替えるだけです。
from openai import OpenAI
client = OpenAI(
api_key="<FASTMETAL_API_KEY>",
base_url="https://api.fastmetal.ai/v1",
)
resp = client.chat.completions.create(
model="anthropic-claude-haiku-4-5",
messages=[{"role": "user", "content": "こんにちは"}],
)
print(resp.choices[0].message.content)
FastMetalでは、1つのAPIキーでフロンティアモデルからオープンモデルまでを利用でき、料金は円建てのプリペイドです。チャージした残高の範囲でのみ課金されるため、想定外の請求が発生しません。利用できるモデルはモデルカタログ、価格は料金ページで確認できます。
使うときの注意点
- モデルごとに挙動が異なる — 互換APIでも、出力の品質や対応機能はモデルごとに違います。用途に合わせて選びましょう。
- 対応機能に差がある場合がある — ツール呼び出しやストリーミングなど、一部機能はモデル依存です。
- 課金はトークン単位 — 入力・出力のトークン数に応じて残高から差し引かれます。日本語はトークンを多く消費しやすい点に注意してください。
よくある質問
OpenAI互換APIとは一言で何ですか?
OpenAIのChat Completions APIと同じ形式で呼び出せるAPIのことです。リクエストとレスポンスの形が共通なので、接続先とAPIキーを変えるだけで、別のモデルやサービスを利用できます。
OpenAI向けのコードはそのまま使えますか?
多くの場合、base_url とAPIキーの差し替えだけで動作します。ただしモデル固有の機能を使っている場合は、対応状況の確認が必要です。
料金はOpenAIとどう違いますか?
FastMetalは円建てのプリペイド方式で、チャージした残高の範囲で課金されます。モデルごとの単価は料金ページをご確認ください。
まとめ
OpenAI互換APIを使えば、既存のコードを活かしながら、複数のLLMを一つのAPIキーで柔軟に扱えます。FastMetalなら、円建てのプリペイドで想定外の請求を避けつつ、フロンティアからオープンモデルまでをまとめて試せます。まずはAPIキーを取得して、最初のリクエストを送ってみてください。