本文へスキップ

Anthropic SDK

Anthropic SDK を使って HopBase 経由で Claude モデルを呼び出します。

Anthropic Messages API の構造はそのまま保ち、Base URL、Claude のプランキー、モデル ID のみを置き換えます。

項目値
Base URLhttps://api.hop-base.com(/v1 なし)
キーの環境変数HOPBASE_CLAUDE_API_KEY
プロトコルAnthropic Messages:POST /v1/messages。POST /v1/messages/count_tokens にも対応
モデル IDClaude のプランキーで GET /v1/models を呼んだ際に返される ID を使用

インストールして最小構成のリクエストを送る

python -m pip install anthropic
import os
from anthropic import Anthropic

client = Anthropic(
    base_url="https://api.hop-base.com",
    api_key=os.environ["HOPBASE_CLAUDE_API_KEY"],
)

msg = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello"}],
)
print(msg.content[0].text)
どのグループのキーを使うか:

Claude Max(公式フル枠)またはClaude Max(公式フル枠)- 期間限定特価グループのキーを使ってください。Claude Max(ccmax)グループは Claude Code クライアント専用で、SDK / API からの呼び出しは拒否されます。

Claude プランのキーを OpenAI Compatible として設定しないでください。SDK ネイティブの Anthropic 認証と Messages API のリクエスト構造をそのまま使用してください。Claude のキーで OpenAI プロトコルのエンドポイントを呼び出すと 404 が返ります。

今回の課金額を読む

課金されたストリーミングでないリクエストは、残高から実際に差し引かれた米ドル額をレスポンスヘッダー X-HopBase-Cost-USD で、同じ課金額の人民元額を X-HopBase-Cost で、X-HopBase-Cost の通貨(常に CNY)を X-HopBase-Currency で返します。レスポンスの usage にも同じ cost・cost_usd・currency が入り、SDK は追加フィールドとして保持します。ストリーミングのレスポンスはいずれも含まず、message_delta の usage もそのままです。課金額はコンソールの「使用記録」で確認してください。詳しい扱いは課金額を参照してください。

raw = client.messages.with_raw_response.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "ok とだけ返してください"}],
)
print(raw.headers.get("x-hopbase-cost"), raw.headers.get("x-hopbase-cost-usd"), raw.headers.get("x-hopbase-currency"))
msg = raw.parse()  # with_raw_response なしの場合と同じ戻り値
print(msg.usage.cost, msg.usage.cost_usd, msg.usage.currency)  # 追加フィールド。ヘッダーと同じ値

対応するリクエストパラメータ

この表には、ゲートウェイが値を補ったり特別に扱ったりする項目だけを載せています。それ以外の Messages API のフィールド(system、tools、thinking、temperature など)はそのまま転送され、Anthropic の公式の制限に従います。モデルごとのコンテキストと出力の上限はモデル一覧を参照してください。

パラメータ / ヘッダー必須型と制限デフォルト説明
x-api-key または Authorization: Bearer必須sk- で始まる Claude のプランキー—どちらのヘッダーも使えます。キーがないと 401 missing_api_key、形式が不正だと 401 invalid_api_key
model必須string、現在のキーのグループ内のモデル ID—グループにないモデルは 404 model_not_found
max_tokens任意integer。ゲートウェイでの上限はなく、最大値はモデルの公式仕様に従う4096公式 API では必須です。省略すると HopBase が 4096 を補うため、長い出力は 4096 トークンで打ち切られます(stop_reason: "max_tokens")。明示的に指定してください
messages必須Anthropic 公式形式の array—そのまま転送
stream任意booleanfalsetrue で Anthropic の SSE イベントストリームを返します
anthropic-version / anthropic-beta任意string のヘッダー—SDK が自動で付けます。そのまま転送

リクエストボディ全体の上限は 60 MB で、超えると 413 が返ります。

次のステップ

  • ターミナルで Claude を使う場合は Claude Code を参照してください
  • GPT モデルには OpenAI SDK を使います
  • エラーが出たときはエラー早見表を参照してください