JA ▾
Claude Code 用 OpenAI 互換 APIhttps://api.claudecodeapikey.com/v1
API キーを取得

ホームガイド

Codex API キー:開発者向け解説

Codex API キーは、AI コーディングリクエストをバックエンドの大規模言語モデルにルーティングするために必要な認証情報を提供します。Claude Code プロキシを介して無検閲のコーディング LLM を使用することで、開発者は複雑な生成タスクをしばしば中断するコンテンツフィルタを回避できます。このガイドでは、これらのキーを開発ワークフローに統合するために必要な技術的な設定について説明します。

更新日:

API キーの形式の理解

codex api keyを提供するサービスに登録すると、一意の英数字の文字列が渡されます。このキーはバックエンドへのすべてのリクエストに対する認証クレデンシャルとして機能します。形式は通常、プロバイダーの実装に応じてsk-...などの標準的なパターンに従いますが、独立したプロキシを使用しているため、正確なプレフィックスは異なる場合があります。重要なのは形式そのものではなく、Bearer <your_key>としてHTTP Authorizationヘッダーにキーが正しく渡されることです。

API キーは特定のアカウントと使用量ティアに紐付きます。いくつかのサービスが異なる環境(dev と prod など)用に複数のキーを生成するのとは異なり、当社の設定はシンプルです:1 アカウント、1 キー。キーを紛失した場合や侵害された疑いがある場合は、ダッシュボードからすぐに再生成できます。これにより古いキーは即時無効化され、不正アクセスが継続しないことが保証されます。キーを更新する際は、環境変数または設定ファイルを必ず更新してください。

セキュリティのベストプラクティス

  • キーをソースコードではなく環境変数に保存してください。
  • codex api keyを公開リポジトリにコミットしないでください。
  • 露出の疑いがある場合は再生成機能を使用してください。

一般的なエラー:401 Unauthorized

401 Unauthorizedエラーは、新しいAPIキーを統合する際に最も一般的な問題です。これはサーバーが認証クレデンシャルを拒否したことを示します。claude code proxyまたはOpenAI互換のエンドポイントの文脈では、これはキーが不足している、誤っている、または期限切れであることをほぼ確実に意味します。

トラブルシューティングのため、まず提供されたとおりにキーをコピーしていることを確認してください。キーはケースセンシティブであり、誤ってコピーするとスペースが含まれる場合があります。地域またはサービスティアに適切なベース URL を使用していることを確認してください。キーを再生成した直後は、クライアントが新しい値を使用していることを確認してください。401 エラーは使用残高やレート制限とは関係なく、純粋な認証の失敗です。

解決のためのチェックリスト

  1. API キーの文字列がダッシュボードと完全に一致することを確認します。
  2. Authorization ヘッダーのフォーマットを確認してください:Authorization: Bearer YOUR_KEY。
  3. ベース URL がアカウントタイプに正しいことを確認します。
  4. コピー&ペースト時に余分な空白が追加されていないことを確認します。

レート制限超過:429 エラー

許可されたリクエスト量を超えると、API は 429 Too Many Requests エラーを返します。当社のサービスでは、制限はキーあたり 1 分あたり 300 リクエストに設定されています。この制限は公平な使用とすべてのユーザーの低レイテンシを確保するために適用されます。高負荷のコーディングセッションを実行している場合、特にコードが複数の内部リクエストをトリガーする場合、この制限にすぐに達する可能性があります。

429エラーが発生した場合、レスポンスには通常、再試行する前に待機する秒数を示すRetry-Afterヘッダーが含まれます。クライアントコードで指数関数的バックオフを実装するのが、これらのエラーを適切に処理する標準的な方法です。直ちに再試行するのではなく、短い期間待機し、その後の再試行では待機時間を2倍にします。これにより、レート制限がリセットされる間にアプリケーションがサーバーにリクエストで溢れさせるのを防ぎます。

レート制限はアカウントではなくキーごとに適用されることに注意してください。同じキーを複数のデバイスまたはプロセスで使用している場合、それらは 1 分あたり 300 リクエストの予算を共有します。より高い集計スループットが必要な場合は、異なる環境用に別のキーを使用することを検討してください。

ベース URL の正しい設定

ベース URL は、API 統合の基盤です。OpenAI 互換のサービスの場合、ベース URL はリクエストが送信される場所を決定します。当社のベース URL は https://api.claudecodeapikey.com/v1 です。この URL は、リクエストを行う前にクライアントライブラリまたは SDK で構成する必要があります。間違ったベース URL を使用すると、接続エラーまたは予期しないレスポンスを受け取ります。

多くの開発者は公式の OpenAI SDK(Python、Node.js、またはその他の言語用)を使用しています。当社のプロキシに切り替えるには、ベース URL の構成を更新するだけです。例えば、Python では base_url='https://api.claudecodeapikey.com/v1' を設定します。プロトコル(https)とパス(/v1)が正しいことを確認してください。/v1 パスを省略すると、404 エラーが発生することがよくあります。

クライアントが正しいエンドポイントにリクエストを送信していることを常に確認してください。これは、ネットワークログを確認するか、curl などのツールを使用して接続をテストすることで確認できます。ベース URL への接続が成功すれば、構成が正しいことが確認できます。

ストリーミング応答の処理

ストリーミング応答により、応答全体が完了するのを待つのではなく、API 応答の一部を生成され次第受信できます。これは、コードスニペットをリアルタイムで表示するコーディングエージェントにとって重要です。当 API は Server-Sent Events (SSE) を介したストリーミングをサポートしています。クライアントでストリーミングを有効にすると、部分的な応答を含むチャンクのストリームを受信します。

ストリーミングを有効にするには、リクエストで stream パラメータを true に設定します。クライアントライブラリは SSE プロトコルを自動的に処理します。各チャンクが届くたびに処理し、UI を更新するか進行状況をログに記録できます。これは、特に長いコード生成の場合、より良いユーザー体験を提供します。

ストリーミングは基盤となるモデルやその機能を変更しません。それは純粋な転送メカニズムです。モデルは依然としてすべてのプロンプトを処理し、完全な応答を生成します。違いは、出力がクライアントにどのように配信されるかです。

from openai import OpenAI

client = OpenAI(base_url="https://api.claudecodeapikey.com/v1", api_key="YOUR_KEY")

resp = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)

ツール呼び出しの設定に関する問題

ツール呼び出し(または関数呼び出し)により、LLM はコードスニペットの実行やデータベースの照会など、特定のアクションを要求できます。当 API はツール呼び出しをサポートしており、リクエストに関数を定義してモデルから構造化された JSON 応答を受け取ることができます。これは外部システムと対話する必要がある高度なコーディングエージェントにとって不可欠です。

ツール呼び出しを構成するには、tools パラメータに関数の定義のリストを指定する必要があります。各ツールには名前、説明、パラメータスキーマが必要です。モデルはプロンプトに基づいてツールを呼び出すタイミングを判断します。モデルがツールを呼び出すと判断した場合、レスポンスには関数名と引数を含む tool_calls 配列が含まれます。

一般的な問題は、JSON スキーマの定義が正しくないことから生じます。パラメータの型と必須フィールドが正確に指定されていることを確認してください。スキーマが無効な場合、モデルはツールを正しく呼び出せない可能性があります。モデルが期待される動作を理解していることを確認するために、単純なプロンプトでツール定義をテストしてください。

コンテキストウィンドウの制限

コンテキストウィンドウは、1 つのリクエストでモデルが処理できるテキストの最大量を定義し、プロンプト(入力)と completion(出力)の両方を含みます。当社のモデルのコンテキストウィンドウはトークン 100,000 です。これは大量のテキストですが、無限ではありません。プロンプトと予想される出力の合計がこの制限を超えると、API はエラーを返します。

コンテキストを効率的に管理するには、プロンプトのトークン使用量を監視してください。長いファイルや広範な会話履歴は、利用可能なトークンをすぐに消費する可能性があります。制限に近づいた場合は、古いメッセージを切り捨てるか、以前の対話を要約することを検討してください。一部のクライアントはウィンドウをスライドさせることでこれを自動的に処理しますが、予期しないエラーを避けるために制限を認識しておくことが最善です。

コンテキストウィンドウには、システムメッセージ、ユーザーメッセージ、アシスタントメッセージなど、モデルに送信されるすべてのトークンが含まれることを覚えておいてください。長時間のコーディングセッションでスムーズな操作を確保するために、トークン予算を適切に計画してください。

キーの再生成

API キーの再生成は、セキュリティを確保するための簡単なプロセスです。キーが漏洩した疑いがある場合、または定期的に認証情報を更新したい場合は、ダッシュボードから新しいキーを生成できます。古いキーは直ちに無効化されるため、古いキーを使用している進行中のリクエストは失敗します。

キーを再生成する際は、すべてのクライアントと設定に新しい値を更新してください。これには、環境変数、設定ファイル、およびコード内のハードコードされた値が含まれます。すべての場所を更新しない場合、アプリケーションの一部で認証エラーが発生する可能性があります。

当サービスではキーの再生成回数は無制限です。キーを頻繁にローテーションしてもペナルティはありません。これは共有環境やチームメンバーにキーを配布する場合など、セキュリティを維持するための良いプラクティスです。

curl https://api.claudecodeapikey.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
  }'

質問と回答

このAPIは関数呼び出しに対応していますか?

はい、当APIはツール/関数呼び出しに対応しています。リクエストで関数を定義すると、モデルはツールを呼び出すと判断した際に構造化されたJSONレスポンスを返します。これは標準的なOpenAI互換エンドポイントを通じてネイティブにサポートされています。

コンテキストウィンドウの制限を超えた場合はどうなりますか?

APIのコンテキストウィンドウは、プロンプトと補完の両方でトークン100,000個に固定されています。リクエストがこの制限を超えると、APIはコンテキスト長が長すぎると示すエラーを返します。制限内に収めるためにプロンプトを切り捨てるか、以前の対話を要約する必要があります。

このキーで公式のOpenAI SDKを使用できますか?

はい、当APIはOpenAI互換です。ベースURLを <code>https://api.claudecodeapikey.com/v1</code> に変更し、API キーを提供するだけで、Python、Node.js、その他の言語用の公式OpenAI SDKを使用できます。

レート制限エラーはどのように処理しますか?

1分間に300件のリクエストを超えると、429エラーが発生します。クライアント側で指数バックオフを実装して、待機し再試行してください。レスポンスには、通常、次のリクエストを行う前に待機する時間を示す <code>Retry-After</code> ヘッダーが含まれます。

キーはフォーム 1 つで手に入ります

アカウントを作成し、キーをコピーし、ベースURLを変更します。セットアップはこれだけです。

API キーを取得