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

  • 发布时间
  • 语言ja

極智時代(AzzTimes)ゲートウェイを使用して Anthropic Claude モデルを呼び出すための手順。インターフェース、認証、curl 例、リクエスト/レスポンス構造、SSE ストリーミング、エラーコードについて解説します。

一、概要

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

現在利用可能なモデルは「モデル広場」に準拠します(例:claude-sonnet-5claude-opus-5claude-sonnet-4-6claude-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メッセージのユニーク 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 を受け取るとストリーム終了です。課金はサーバー側でリクエスト単位の合計 usage に基づいて行われます。

八、主なエラーコード

HTTP ステータス意味対処法
400リクエスト不正(モデル名不足、非対応モデル等)レスポンスの message を確認し修正してください
401API キー未設定または無効Authorization / x-api-key ヘッダーを確認
403キー停止中、残高不足、または権限不足チャージ、キー状態確認、または権限設定を確認
404モデルが存在しないGET /v1/models で利用可能なモデルを確認
429リクエスト過多(レート制限)指数バックオフによる再試行を行ってください
500内部サーバーエラー時間を置いて再試行、解決しない場合はサポートへ連絡

エラーレスポンスは {"code": ステータスコード, "message": "エラー説明", "data": null} 形式となります。

九、利用料金と残高

  • 各呼び出しは、トークン使用量 × モデル単価 × 路線倍率でリアルタイムに計算されます。詳細は GET /v1/models を参照してください。
  • ログイン後、「ユーザーセンター → API 利用状況」で履歴(モデル、トークン、費用、ステータス)を確認できます。
  • 残高が不足すると 403 エラーが返されます。チャージを行うと直ちに利用可能になります。