Anthropic SDK
Anthropic SDK を使って HopBase 経由で Claude モデルを呼び出します。
Anthropic Messages API の構造はそのまま保ち、Base URL、Claude のプランキー、モデル ID のみを置き換えます。
| 項目 | 値 |
|---|---|
| Base URL | https://api.hop-base.com(/v1 なし) |
| キーの環境変数 | HOPBASE_CLAUDE_API_KEY |
| プロトコル | Anthropic Messages:POST /v1/messages。POST /v1/messages/count_tokens にも対応 |
| モデル ID | Claude のプランキーで GET /v1/models を呼んだ際に返される ID を使用 |
インストールして最小構成のリクエストを送る
python -m pip install anthropicimport 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 | 任意 | boolean | false | true で Anthropic の SSE イベントストリームを返します |
anthropic-version / anthropic-beta | 任意 | string のヘッダー | — | SDK が自動で付けます。そのまま転送 |
リクエストボディ全体の上限は 60 MB で、超えると 413 が返ります。
次のステップ
- ターミナルで Claude を使う場合は Claude Code を参照してください
- GPT モデルには OpenAI SDK を使います
- エラーが出たときはエラー早見表を参照してください