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を作成する

  1. BetterToken Workspaceにサインインします。
  2. ドキュメントに記載されたClaude-compatible key group用の新しいAPI Keyを作成します。
  3. Keyは一度だけコピーし、secret manager、またはGitの対象外にしたローカルのenvironment fileへ保存します。
  4. 現在の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は次のとおりです。

https://bettertoken.ai/

このBase URLに/v1を追加しないでください。Raw HTTPのMessagesリクエストでは、完全なresource pathが別に必要です。

POST https://www.bettertoken.ai/v1/messages

この違いが重要です。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です。

export ANTHROPIC_API_KEY="your_api_key" export ANTHROPIC_BASE_URL="https://bettertoken.ai" export CLAUDE_MODEL_ID="YOUR_MODEL_ID" curl --fail-with-body "$ANTHROPIC_BASE_URL/v1/messages" \ -H "x-api-key: $ANTHROPIC_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d "{ \"model\": \"$CLAUDE_MODEL_ID\", \"max_tokens\": 64, \"messages\": [{\"role\": \"user\", \"content\": \"Return only the word pong.\"}] }"

2つのplaceholderを置き換えるのは、自分のローカルshell内だけにしてください。BetterToken Docsまたは料金ページにある現在の正確なModel IDを使います。Model名と利用可否は変わる可能性があります。

4. レスポンスとusage recordを確認する

成功したリクエストは、HTTP 200とJSONのmessage objectを返します。次を確認してください。

  • typemessageであること。
  • 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-versioncontent-type、Model ID、max_tokensmessages arrayを確認します。
  • 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の値が残っている場合は、最初からやり直す前に削除します。

unset ANTHROPIC_API_KEY unset ANTHROPIC_BASE_URL unset CLAUDE_MODEL_ID

その後、現在のBetterToken setup情報から3つの値を設定し直し、retry loopではなく1件だけリクエストを送信します。

次のステップ

Minimal requestが成功したら、keyをapplicationのsecret storeへ移し、有限のtimeoutを設定して、一時的なfailureだけに上限付きretryを追加します。現在のBetterToken Docsを確認し、最初の実際のintegrationをテストするときはWorkspaceも開いておいてください。

LLM ワークフローを最適化しませんか?

単一 API でモデルを接続し、キーと AI コストを管理できます。