Claude APIへの最初のリクエスト:Key・Base URL・確認方法
BetterToken API Keyを作成し、Anthropic-compatible Messages endpointへ最初のリクエストを送り、Workspaceでレスポンス、token usage、costを確認します。
このガイドでは、すでに持っているAPI Keyを使い、Claude-compatibleなリクエストを1件送って検証するところまで進めます。アクセス方法や請求経路をまだ選んでいる場合は、先にClaude APIの概要を確認してください。以下では、技術的な最初のリクエストだけを扱います。
Claude-compatible APIへの接続には、providerのアカウント、そのproviderが発行したAPI Key、プロトコルに必要なendpointという3つの要素が必要です。このガイドで作成するのはBetterToken API Keyです。リクエストにはAnthropic Messages形式を使いますが、Anthropic公式のAPI Keyではありません。
1. BetterToken API Keyを作成する
- BetterToken Workspaceにサインインします。
- ドキュメントに記載されたClaude-compatible key group用の新しいAPI Keyを作成します。
- Keyは一度だけコピーし、secret manager、またはGitの対象外にしたローカルのenvironment fileへ保存します。
- 現在のAPIドキュメントと料金ページを開き、現在のModel IDと利用可否を確認します。
Keyをsource code、prompt、screenshot、support message、公開repositoryへ貼り付けないでください。BetterTokenでは各ユーザーが自分のアカウントとkeyを使います。Anthropic Consoleのkeyを発行したり、共有Claude.aiアカウントへのアクセスを販売したりするサービスではありません。
2. Anthropic-compatible endpointを使う
Anthropic SDKまたはClaude Codeで使うBetterToken Base URLは次のとおりです。
このBase URLに/v1を追加しないでください。Raw HTTPのMessagesリクエストでは、完全なresource pathが別に必要です。
この違いが重要です。SDKはresource pathを自動で追加しますが、raw curl commandには完全なURLが必要です。OpenAI-compatible toolsでは別のBase URLを使うため、それぞれのsetup guideに従ってください。
3. 最初のリクエストを送信する
BetterToken keyをローカルのenvironment variableに設定します。Variable名はAnthropic SDKの慣例に従いますが、値はあくまで自分のBetterToken API Keyです。
2つのplaceholderを置き換えるのは、自分のローカルshell内だけにしてください。BetterToken Docsまたは料金ページにある現在の正確なModel IDを使います。Model名と利用可否は変わる可能性があります。
4. レスポンスとusage recordを確認する
成功したリクエストは、HTTP 200とJSONのmessage objectを返します。次を確認してください。
typeがmessageであること。contentにmodelのレスポンスが含まれること。usageにinput tokenとoutput tokenの数が含まれること。
Anthropic公式Messagesリファレンスは、プロトコルの形式を定義しています。このリファレンスを利用しても、BetterTokenが発行したkeyがAnthropic keyになるわけではありません。互換性のあるrequestとresponseの形式を確認するための資料です。
次にBetterToken Workspaceを開き、時刻でリクエストを照合します。Model、status、該当する場合はinput/output/cache tokens、それに対応するcostを確認してください。Workspaceはusage metadataとbilling recordを確認する場所です。完全なpromptやresponseが保存されるとは想定しないでください。
5. 最初のリクエストでよくあるエラーを直す
- 404またはrouteの誤り: raw HTTPでは
/v1/messagesを使います。/messagesだけでは不完全です。 - 400:
anthropic-version、content-type、Model ID、max_tokens、messagesarrayを確認します。 - 401または403: BetterToken key、key group、Base URL、余分な空白を確認します。Keyをsupportへ送らないでください。
- 429: response bodyを読み、指定されたdelayを守ります。Retryする前にconcurrent requestsと現在のlimitsも確認してください。
- Workspaceにrecordがない: environmentに残った別providerではなく、BetterToken Base URLへリクエストしたことを確認します。
Shellに別providerの値が残っている場合は、最初からやり直す前に削除します。
その後、現在のBetterToken setup情報から3つの値を設定し直し、retry loopではなく1件だけリクエストを送信します。
次のステップ
Minimal requestが成功したら、keyをapplicationのsecret storeへ移し、有限のtimeoutを設定して、一時的なfailureだけに上限付きretryを追加します。現在のBetterToken Docsを確認し、最初の実際のintegrationをテストするときはWorkspaceも開いておいてください。