Qwen

HopBase の OpenAI 互換 Chat Completions API 経由で Qwen 3.8 と 3.7 系のモデルを呼び出します。

Qwen は HopBase の OpenAI 互換プロトコル上で動作します。https://api.hop-base.com/v1 を使用し、Authorization: Bearer sk-your-key を指定してください。正確なモデル ID は GET /v1/models から取得します。

モデル

モデル IDコンテキスト画像・動画入力
qwen3.8-max1M対応
qwen3.8-flash1M対応
qwen3.7-max1Mテキストのみ
qwen3.7-plus1M対応
qwen3.7-flash1M対応

5 モデルすべてが 1,000,000 トークンのコンテキストウィンドウを持ち、1 リクエストあたり最大 131,072 トークンを出力できます。5 モデルとも同じプランのプランに属しているため、1 つのキーですべてに到達できます。

エンドポイント

POST /v1/chat/completionsPOST /v1/responses のどちらも利用できます。qwen3.8-max は Responses 側で本番相当のトラフィックがあるため、Codex CLI など Responses しか話せないクライアントも、CC Switch のルーティングなしで Qwen に到達できます。ストリーミングはどちらのエンドポイントでも正常に動作します。

ストリーミング時に usage が必要なら明示的に指定してください

クライアント側でストリーミングレスポンスからトークン使用量を読み取る必要がある場合は、stream_options: { "include_usage": true } を送信してください。指定しなくても課金は正確に行われますが、usage のチャンクがクライアントに届かなくなります。

enable_thinkingthinking_budgetenable_search といった Qwen 固有のリクエストフィールドは、そのままモデルに引き渡されます。HopBase 側でこれらを必須にしたり検証したりすることはありません。Function calling と JSON モードは公式 API と同様に動作します。

ゲートウェイがリクエストに加える変更

Qwen 上で長時間稼働するエージェントを構築する前に知っておくべき書き換えが 1 つあります。

挙動リクエストへの影響
previous_response_id存在する場合は削除されます。リクエストは複数アカウント間で分散されるため、あるアカウントで発行された ID は別のアカウントでは無効です

長い入力のリクエスト

一部の Qwen モデルは、リクエストの入力が一定の長さのしきい値を超えると料金ティアが変わります。

  • このしきい値はプロンプト全体でカウントされます。キャッシュされた入力と、キャッシュされていない入力の両方を含みます。
  • しきい値を超えると、超過分だけでなくリクエスト全体がそのティアになります。
  • プロンプトキャッシュを使ってもしきい値を回避することはできません。キャッシュはキャッシュされた部分に適用される単価を変えるだけで、ティア判定のためにプロンプトを短くするわけではありません。しきい値以下に収める唯一の方法は、実際に短いプロンプトを送信することです。

どのモデルにティアが存在し、しきい値がどこにあるかは、ログイン後のモデルカタログに表示されます。

usage の読み方

completion_tokens にはすでに推論トークンが含まれているため、重ねて加算しないでください。completion_tokens_details.reasoning_tokens は出力の一部であり、可視化のためだけに報告されます。

HopBase の利用量レコードとレスポンスボディでは、入力のカウント方法が異なります。突き合わせる際は注意してください。

フィールド意味
レスポンスの prompt_tokensキャッシュ命中分を含むプロンプト全体
利用量レコードの入力トークンプロンプトから、キャッシュ命中分を差し引いたもの
利用量レコードのキャッシュ入力トークンキャッシュ命中分を別立てで表示したもの

つまり、利用量レコードの入力トークンとキャッシュ入力トークンを足すと、レスポンスの prompt_tokens と一致します。

curl

curl https://api.hop-base.com/v1/chat/completions \
  -H "Authorization: Bearer sk-your-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3.8-max",
    "messages": [{ "role": "user", "content": "Summarize this quarter'\''s risks in five bullets." }]
  }'

エラー処理

モデル自身が返す 4xx レスポンスは、ベンダー固有のエラーコードプレフィックスを取り除いた上でそのまま転送されるため、message のテキストは人が読める内容ですが、文字列としては安定していません。分岐処理は HTTP ステータスと code フィールドで行い、メッセージ文字列には依存しないでください。

自分のプランに含まれないモデル名を指定すると 404 model_not_found が返ります。モデル ID は完全一致で判定されるため、推測せずに GET /v1/models から取得してください。

プラン

Qwen には専用のプランがあります。Qwen 用のキーは他のモデルファミリーには到達せず、他のファミリーのキーも Qwen には到達しません。これは Wan 3.0(万相)と HappyHorse(快乐马)の動画モデルにも当てはまります。コンソール上はそれぞれ別のプランで、キーもそれぞれ必要です。

このページの内容