Developer guide
APIキーで認証する
APIキーを入れるヘッダーとSDKに設定するbase URL
このページでは、CLEVIゲートウェイにAPIキーで認証する方法を説明します。
OpenAI互換パスとAnthropic互換パスはどちらも1つのキーで認証しますが、
キーを入れるヘッダーの許可範囲と、SDKに設定するbase URLは規格ごとに異なります。
認証ヘッダー
どちらの互換規格も1つのAPIキーで認証します。キーはコンソールのAPIキー画面で発行し、同じ画面で無効化と使用範囲を管理します。
| ヘッダー | OpenAI互換 | Anthropic互換 |
|---|---|---|
| X-API-Key: <キー> | 使用可能 | 使用可能 |
| Authorization: Bearer <キー> | 使用可能 | 使用可能 |
| Authorization: <キー> (Bearerなし) | 拒否 | 使用可能 |
ヘッダー名では大文字と小文字を区別しません。Anthropic SDKが送信するx-api-keyもそのまま動作します。
base URL
使用していたSDKは、base URLだけを以下のアドレスに変更すればそのまま使えます。2つのアドレスは、/v1を含むかどうかが異なります。
| 規格 | base URL | パスのルール |
|---|---|---|
| OpenAI互換 | https://platform.clevi.net/api/v2/aiservice/openai/v1 | /v1までをbase URLに含めます。 |
| Anthropic互換 | https://platform.clevi.net/api/v2/aiservice/anthropic | Anthropic SDKがパスに/v1を自動的に追加するため、/v1の前で終わります。 |
認証の確認
キーとbase URLを設定してモデル一覧を取得すれば、認証できているかすぐに確認できます。以下の3つは、同じ取得処理をcurl、OpenAI SDK、Anthropic SDKで行います。
curl https://platform.clevi.net/api/v2/aiservice/openai/v1/models \
-H "X-API-Key: sk-..."
curl https://platform.clevi.net/api/v2/aiservice/anthropic/v1/models \
-H "Authorization: Bearer sk-..." \
-H "anthropic-version: 2023-06-01"from openai import OpenAI
client = OpenAI(
api_key="sk-...",
base_url="https://platform.clevi.net/api/v2/aiservice/openai/v1",
)
for model in client.models.list():
print(model.id)from anthropic import Anthropic
client = Anthropic(
api_key="sk-...",
base_url="https://platform.clevi.net/api/v2/aiservice/anthropic",
)
for model in client.models.list(limit=20).data:
print(model.id)sk-...の部分には、APIキー画面で発行したキーを入れます。
- レスポンスが200の場合、認証は成功しています。dataには、このキーで呼び出せるモデル一覧が含まれます。
- レスポンスが401の場合は、以下の認証失敗の節に記載された順序で確認します。
併用するヘッダー
すべて任意です。問題を追跡するには、X-Request-Id を入れておくことをお勧めします。
| ヘッダー | 用途 | 省略した場合 |
|---|---|---|
| X-Request-Id | リクエスト追跡用の識別子。Anthropic 互換レスポンスでは request-id ヘッダーとして返されます。 | サーバーが発行します。 |
| X-Region-Code | 呼び出しリージョン | global です。 |
| X-Product-Sku(クエリの product_sku でも指定可能) | 課金に使用する Product SKU を直接指定します。ヘッダーがクエリより優先され、主に音声・ボイスのパスで使用します。 | ボイスのパスでは必要です。audio/speech と audio/transcriptions では、本文の model で Product を選択します。 |
| anthropic-version / anthropic-beta | Anthropic 互換パスではそのまま転送されます。 | バージョンは 2023-06-01 です。 |
認証失敗
キーがない、または期限切れ・失効したキーを送信すると 401 になります。OpenAI 互換パスでキーなしで呼び出すと、以下の本文が返され、Anthropic 互換パスの error.type は authentication_error になります。
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}- API キー画面でキーの状態を確認します。期限切れ・失効したキーの場合は、新しく発行します。
- ヘッダー名が X-API-Key または Authorization であることを確認します。
- OpenAI 互換パスで Authorization を使用する場合は、Bearer 接頭辞を確認します。
