curl
HTTP と curl を使って HopBase の互換エンドポイントを呼び出します。
| モデルタイプ | プロトコルとエンドポイント | 認証方式 |
|---|---|---|
| GPT / Gemini / GLM | POST https://api.hop-base.com/v1/chat/completions | Authorization: Bearer |
| Claude | POST https://api.hop-base.com/v1/messages | x-api-key |
| 画像 | POST https://api.hop-base.com/v1/images/generations | Authorization: Bearer |
認証と共通の制限
| 項目 | ルール | 満たさない場合 |
|---|---|---|
| キーのヘッダー | Authorization: Bearer sk-… または x-api-key: sk-…。すべてのエンドポイントで使えます。x-goog-api-key と URL パラメータ ?key= には対応していません | 401 missing_api_key / invalid_api_key |
| エンドポイントとグループ | 各リクエストはそのモデルのプロトコルのエンドポイントを使う必要があります(例:Claude モデルは /v1/messages 経由でのみ呼び出せます) | 404「現在のプラットフォームではこの API パスはサポートされていません」 |
| モデル | 現在のキーに含まれるいずれかのグループのモデルであること | 404 model_not_found |
| リクエストボディのサイズ | ボディ全体で 60 MB 以下 | 413 |
GET /v1/models | 現在のキーで使えるモデル ID を返します。課金されません | — |
現在のプランキーで GET /v1/models を呼んだ際に返されるモデル ID を使用してください。キーが呼び出せるのは、含まれるプランのモデルだけです。
Claude では max_tokens を明示的に指定する:
Claude のリクエストで max_tokens を省略してもエラーにはならず 4096 が補われるため、長い出力は 4096 トークンで打ち切られます(stop_reason: "max_tokens")。明示的に指定してください。
OpenAI プロトコル(GPT モデル)
curl https://api.hop-base.com/v1/chat/completions \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-sol",
"messages": [{"role": "user", "content": "Hello"}]
}'Anthropic プロトコル(Claude モデル)
curl https://api.hop-base.com/v1/messages \
-H "x-api-key: sk-your-key" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Hello"}]
}'ストリーミング("stream": true を追加)
curl https://api.hop-base.com/v1/chat/completions \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-5.6-sol", "stream": true,
"messages": [{"role": "user", "content": "Hello"}]}'次のステップ
- 各プロトコルのパラメータの制限は OpenAI SDK、Anthropic SDK、Gemini チャット、画像生成 API の各ページを参照してください
- エラーが出たときはエラー早見表を参照してください