Claude API 接続ガイド:Anthropicネイティブインターフェースとキー設定

極智APIゲートウェイによるAnthropic Claudeモデルの呼び出し:インターフェース、認証方法、curlサンプル、リクエスト/レスポンスフィールド、SSEストリーミング出力および主なエラーコード。

一、概要

極智APIは、開発者の皆様に Anthropic Messages API(/v1/messages) 互換の中継アクセスを提供します。リクエストを本サイトのゲートウェイに送信し、認証キーを「ユーザーセンター - APIキー」で作成した sk- キーに置き換えるだけで、既存のコードを変更することなく、Claudeシリーズのモデルを直接利用できます。

現在利用可能なモデルは、モデルプラットフォームに準拠します(claude-sonnet-5、claude-opus-5、claude-sonnet-4-6、claude-opus-4-8など)。最新のリストと単価は GET /v1/models でいつでも照会可能です。

二、インターフェースアドレス

メソッドパス説明
POST/v1/messages中継転送エントリポイント。リクエストボディはAnthropic /v1/messagesのペイロード
GET/v1/modelsモデルと単価のリスト(認証不要)

ゲートウェイアドレス:https://www.relay-api.com。リクエストパスは上記表の通りに記入してください。

三、認証方法

「ユーザーセンター → APIキー」にて sk-xxxxxxxx 形式のキーを作成します。呼び出し時には、以下のいずれかの方法で送信してください:

  • Authorizationヘッダー:Authorization: Bearer sk-あなたのキー(推奨、大部分のSDKと互換性あり)
  • x-api-keyヘッダー:x-api-key: sk-あなたのキー

キーが無効、停止中、または残高不足の場合は401 / 403が返されます。キーのステータスと口座残高をご確認ください。

四、クイックスタート(curl)

4.1 非ストリーミング会話

curl -X POST https://www.relay-api.com/v1/messages \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-あなたのキー" \
  -d '{
    "model": "claude-sonnet-5",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "あなた自身について一言で紹介してください"}
    ]
  }'

4.2 systemプロンプトとマルチターン対話

curl -X POST https://www.relay-api.com/v1/messages \
  -H "Content-Type: application/json" \
  -H "x-api-key: sk-あなたのキー" \
  -d '{
    "model": "claude-opus-5",
    "max_tokens": 2048,
    "system": "あなたは厳格な技術ドキュメントエンジニアです。",
    "messages": [
      {"role": "user", "content": "Claude Messages APIの認証ヘッダーは何ですか?"},
      {"role": "assistant", "content": "x-api-key または Authorization: Bearer でキーを送信します。"},
      {"role": "user", "content": "ストリーミングリクエストの例をもう一つ挙げてください。"}
    ],
    "metadata": {"request_id": "demo-001"}
  }'

metadata.request_id は使用量ログに記録され、「ユーザーセンター → 利用明細」での照合に便利です。

五、リクエストパラメータ

フィールド型必須説明
modelstringはいモデルスラグ(例: claude-sonnet-5)
max_tokensintはい最大出力トークン数。1〜64000を推奨
messagesarrayはい対話メッセージ。要素は{role, content}。roleはuser / assistant
systemstringいいえシステムプロンプト
temperaturenumberいいえサンプリング温度。デフォルト1.0、範囲0〜1
top_pnumberいいえ核サンプリング。デフォルト0.999
streamboolいいえストリーミングの有無。デフォルトfalse
stop_sequencesarrayいいえ停止シーケンス
metadata.request_idstringいいえ照合用のカスタムリクエストID

六、レスポンス構造

非ストリーミングリクエストは標準のAnthropic Messages構造を返します:

{
  "id": "msg_01ABCDEFG",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-5",
  "content": [
    {"type": "text", "text": "こんにちは!私はClaudeです。"}
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 12,
    "output_tokens": 18,
    "cache_read_input_tokens": 0,
    "cache_creation_input_tokens": 0
  }
}
フィールド説明
idメッセージ一意識別子
content[].typeコンテンツブロックタイプ(text / thinkingなど)
content[].textテキストコンテンツ
stop_reason停止理由:end_turn / max_tokens / stop_sequence
usage.input_tokens入力トークン数(課金対象)
usage.output_tokens出力トークン数(課金対象)
usage.cache_read_input_tokensキャッシュヒットした入力トークン数(キャッシュ読込料金で計算)
usage.cache_creation_input_tokensキャッシュ書き込みトークン数(キャッシュ書込料金で計算)

七、ストリーミング出力

リクエストボディに "stream": true を追加すると、サーバーは SSE(Server-Sent Events) 形式で逐次返送します。イベントタイプはAnthropicに準拠しています:

event: message_start
data: {"type": "message_start", "message": {"id": "msg_...", "model": "claude-sonnet-5"}}

event: content_block_delta
data: {"type": "content_block_delta", "delta": {"type": "text_delta", "text": "こんにちは"}}

event: message_delta
data: {"type": "message_delta", "delta": {"stop_reason": "end_turn"}, "usage": {"output_tokens": 18}}

event: message_stop
data: {"type": "message_stop"}

クライアントは data: 行をJSONとして解析し、event: 行と空行を無視する必要があります。message_stop を受信したらストリーム終了です。課金はサーバー側でリクエスト全体の使用量に基づいて計算され、ストリーミングとは独立しています。

八、一般的なエラーコード

HTTPステータスコード意味対処方法
400リクエストパラメータ不正(model/max_tokens不足、モデル未有効化など)レスポンスのmessageを確認し修正
401APIキー未設定または無効Authorization / x-api-keyヘッダーを確認
403キー停止中、残高不足、または当該モデルへのアクセス権なしチャージ、キーのステータス確認、または権限調整
404要求したモデルが存在しないGET /v1/models で利用可能なモデルを確認
429リクエスト過多または制限超過バックオフ再試行(指数バックオフ)
500サービス内部エラーしばらく待ってから再試行。改善しない場合はサポートへ連絡

エラーレスポンスは一律 {"code": ステータスコード, "message": "エラー説明", "data": null} という構造です。

九、使用量と残高

  • 各呼び出しは、トークン使用量 × モデル単価 × ルート倍率に基づきリアルタイムで減算されます。単価とルートは GET /v1/models を参照してください。
  • ログイン後、「ユーザーセンター → API利用状況」から呼び出し履歴(モデル、トークン、料金、ステータス)を確認できます。
  • 残高不足時は403が返され、チャージを行うと即時回復します。

Base URLの注記:当サイトは /v1beta/models/... および /v1beta/v1beta/models/... (ならびに /v1/... および /v1/v1/...)も受け付けるため、クライアントが /v1 や /v1beta を自前で補完しても呼び出しに影響はありません。Base URLはドメインルートまたは /v1beta を含むアドレスのいずれも利用可能です。モデルIDはコンソールの「トークン」ページ右上にある「モデルID」からコピーしてください。