Kimi K3
OpenAI Chat Completions 互換 API 経由で Kimi K3 に接続します。Claude Code と Codex CLI 向けの CC Switch ルーティング手順を含みます。
Kimi K3 は HopBase の OpenAI Chat Completions 互換プロトコルを使用します。https://api.hop-base.com/v1 を使い、モデル名は kimi-k3 を指定してください。
Kimi K3 は Moonshot AI の最新フラッグシップモデルです。1M トークンのコンテキストウィンドウ(1,048,576 トークン)と、1 レスポンスあたり最大 32,768 トークンの出力に対応し、テキストと画像を読み取れます(画像は base64 のみ)。
プラン選択と課金
- コンソールの APIキー でキーを作成・編集する際、「Kimi K3 クラウド」プランをキーに追加してください。このキーで
kimi-k3を呼び出せます。 - 実際の適用レートはログイン後のモデルカタログに表示されます。
- このプランを含まないキーで
kimi-k3を呼び出すと明確な 404 が返ります。コンソールでキーにこのプランを追加してください。
クライアント設定項目
| 項目 | 値 |
|---|---|
| API アドレス / Base URL | https://api.hop-base.com/v1 |
| API Key | sk-your-key |
| モデル | kimi-k3 |
| API 形式 | OpenAI Chat Completions(CC Switch など、ルーティングに対応したクライアントでは OpenAI Chat Completions (Requires routing) を選択) |
| コンテキストウィンドウ | 1,048,576 トークン |
| 1 レスポンスあたりの最大出力 | 32,768 トークン |
クライアントごとの対応状況
Kimi K3 は POST /v1/chat/completions のみを提供します。/v1/responses と /v1/messages はこのモデルに対して両方とも 404 を返すため、OpenAI Responses プロトコルまたは Anthropic Messages プロトコルしか話せないクライアントには、プロトコル変換レイヤーが必要です。
| クライアント | ネイティブプロトコル | 接続方法 |
|---|---|---|
| OpenAI SDK、curl、LobeChat、Dify、Cherry Studio など | Chat Completions | Base URL、キー、モデルを直接入力します。下記の例を参照してください |
| Claude Code | Anthropic Messages | CC Switch のローカルルーティング経由。下記の手順を参照してください |
| Codex CLI | OpenAI Responses | CC Switch のローカルルーティング経由。下記の手順を参照してください |
Codex CLI は 0.122 で wire_api = "chat" を削除しており、現在は wire_api = "chat" is no longer supported というエラーで起動を拒否します。wire_api = "responses" にすると /v1/responses を呼び出しますが、このモデルでは 404 が返ります。どちらの方法も機能しないため、Codex は CC Switch のルーティングを経由する必要があります。
リクエストパラメータ
2026-10-10 に本番ゲートウェイでパラメータごとに実測した結果です。ゲートウェイは空の messages を拒否し、下表で「受け付けるが無視」とあるパラメータを取り除きます。ほかの制限はすべてモデル側のものです。
| パラメータ | 必須 | 型と制限 | デフォルト | 説明 |
|---|---|---|---|---|
model | 必須 | kimi-k3 | — | 完全一致 |
messages | 必須 | 空でない配列、テキストと base64 画像 | — | 欠落・空配列はゲートウェイが 400 を返します。画像は下記の注意を参照 |
max_tokens | 任意 | 整数 1–32,768 | サービス既定 | 1 未満は 400 Input should be greater than or equal to 1。上限は 32,768 です。超えた場合に特定のステータスコードが返ることは保証されないため、依存しないでください |
temperature | 任意 | 数値 0–1 | サービス既定 | 1 を超えると 400。ランダム性はこれで制御します |
top_p | 任意 | 受け付けるが無視 | — | モデルに届く前に取り除かれます。代わりに temperature を使ってください |
n | 任意 | 1 のみ | 1 | 1 より大きいと 400 |
frequency_penalty、presence_penalty | 任意 | 受け付けるが無視 | — | モデルに届く前に取り除かれます |
seed、stop | 任意 | OpenAI と同じ | — | 実測で動作。logprobs は受け付けますが、対数確率は返りません |
response_format | 任意 | json_object / json_schema(strict を含む) | テキスト | |
tools、tool_choice、parallel_tool_calls | 任意 | OpenAI と同じ。tool_choice は auto / required / 関数指定 | auto | $ref / $defs / anyOf のスキーマに対応 |
stream | 任意 | 真偽値 | false | |
stream_options.include_usage | 任意 | 真偽値 | false | ストリーミングの最終チャンクで usage を得るには true が必要 |
include_reasoning | 任意 | 真偽値 | false | true で思考過程を reasoning_content に返します(後述) |
thinking、reasoning_effort | 任意 | 受け付けるが効果なし | — | 思考出力は include_reasoning でオンにします |
画像は image_url に data:image/...;base64, 形式で渡してください。公開画像 URL(https://...)はリクエストパラメータの確認を促すだけの 400 になるため、先にダウンロードして base64 にエンコードしてください。
CC Switch で Claude Code から Kimi K3 を利用する
CC Switch 3.17.0 以降(最新版の利用を推奨)を使用してください。Kimi K3 は OpenAI Chat Completions を使用するため、CC Switch のローカルルーターが Claude Code で使われる Anthropic Messages プロトコルへの変換を行う必要があります。
HopBase Kimi プロバイダーを追加する
CC Switch を開き、Claude Code タブを選択して右上の + をクリックし、Custom Configuration を選びます。以下を入力してください。
- プロバイダー名:
HopBase Kimi K3 - API Key:お使いの
sk-キー - リクエスト URL:
https://api.hop-base.com/v1(末尾にスラッシュを付けない)
形式とモデルマッピングを設定する
Advanced Options を展開し、以下のように設定して保存します。
- Format(旧バージョンでは API format):OpenAI Chat Completions (Requires routing)
- Auth Field:デフォルトの ANTHROPIC_AUTH_TOKEN のまま
- デフォルトのフォールバックモデル:
kimi-k3 - Model Mapping:Sonnet、Opus、Fable、Haiku のすべてのロールを
kimi-k3にマッピングし、メイン会話とバックグラウンドのサブタスクの両方が K3 のままになるようにします
保存後、プロバイダーカードに Needs Routing と表示されます。
ローカルルーティングを有効にする
Settings → Routing → Local Routing を開きます。Routing Master Switch をオンにしてから、Routing Enabled の中の Claude Code を有効にします。初回起動時のメッセージを確認し、CC Switch はバックグラウンドで起動したままにしてください。
プロバイダーを有効化して確認する
Claude Code のプロバイダー一覧に戻り、HopBase Kimi K3 カードで Enable を選択します。ルーティングの引き継ぎを初めて有効化した後は、ターミナルを一度閉じて開き直し、claude を実行して短いプロンプトを送信してください。
Settings → Routing に戻ります。Current Provider に HopBase Kimi K3 が表示され、リクエスト数が増加していれば設定は成功です。ルーティングが有効になった後は、プロバイダーの切り替えはホットスワップで反映され、ターミナルの再起動は不要です。
CC Switch で Codex CLI から Kimi K3 を利用する
こちらも CC Switch 3.17.0 以降が必要です。CC Switch は Codex がローカルルーター(デフォルト 127.0.0.1:15721)に対して Responses 形式で通信し続けるようにし、ルーターが各リクエストを HopBase 向けの Chat Completions に書き換え、レスポンスを Responses 形式に戻して返します。
Codex プロバイダーを追加する
Codex タブを選択して右上の + をクリックし、Custom Configuration を選びます。以下を入力してください。
- プロバイダー名:
HopBase Kimi K3 - API Key:お使いの
sk-キー - リクエスト URL:
https://api.hop-base.com/v1(サービスのルートアドレス。/chat/completionsは付けない)
形式とモデルを設定する
Advanced Options を展開し、以下のように設定して保存します。
- Format:Chat Completions (routing required)
- Model Name:
kimi-k3 - Default Model:
kimi-k3 - Model Mapping:
kimi-k3の行を追加し、Codex の/modelメニューに表示されるようにします - Supports Thinking Mode と Supports Reasoning Effort はオフのままにしてください。これらのスイッチは Kimi K3 の思考出力を制御しません(下記参照)
保存後、カードに Needs Routing と表示されます。CC Switch は ~/.codex/config.toml を http://127.0.0.1:15721/v1 に向け、wire_api = "responses" を維持します。実際のキーは CC Switch 内部に保持され、ルーターによって転送時に注入されます。
ルーティングを有効にして Codex を引き継ぐ
Settings → Routing → Local Routing を開きます。Routing Master Switch をオンにしてから、Routing Enabled の中の Codex を有効にします。
プロバイダーを有効化して確認する
Codex のプロバイダー一覧に戻り、HopBase Kimi K3 カードで Enable を選択します。ターミナルを一度閉じて開き直し、codex を実行してください。/model で現在のモデルが kimi-k3 になっていることを確認し、短いプロンプトを送信して、Settings → Routing でリクエスト数が増加していることを確認します。
思考出力、プレフィックスキャッシュ、ツール呼び出し
2026 年 10 月に HopBase が本番ゲートウェイで実測した結果です。
- 思考の出力は明示的に有効化が必要です。 リクエストに
"include_reasoning": trueを付けると、非ストリーミングではmessage.reasoning_contentに、ストリーミングでは本文より先にdelta.reasoning_contentとして思考が返ります(OpenAI Python SDK ではextra_body={"include_reasoning": True}で渡します)。付けない場合もモデルは思考しますが、返るのは本文のみです。thinking・reasoning_effortはエラーになりませんが、思考出力も有効になりません。思考トークンはusage.completion_tokens_details.reasoning_tokensに計上され、出力単価で課金されます。max_tokensには思考も含まれるため、余裕を持たせてください(上限 32,768)。 - 長いコンテキストでも正常に動作し、正確に検索できます。 約 47 万トークンの単一入力でも正常にレスポンスが返り、その中に埋め込まれた情報が正確に取り出されました。
- プレフィックスキャッシュはプレフィックス全体にヒットします。 同じプレフィックスを繰り返すと、
usage.prompt_tokens_details.cached_tokensが一致したプレフィックス長と等しくなります(2,093 トークンのシステムプロンプトなら、2 回目の呼び出しで 2,093 トークン全体がヒットします)。この分はキャッシュ料金で課金されます。システムプロンプトやツール定義などの固定コンテンツはメッセージリストの先頭に置いてください。 - ツール呼び出しは動作します。
tools、tool_choice(requiredを含む)、parallel_tool_calls、$refと$defsを使った JSON Schema、複数ターンにわたるtoolメッセージのいずれも、ストリーミング・非ストリーミングの両方で正常に動作します。 - レイテンシの目安。 10 分間の連続負荷テストで初回トークンまでの中央値は約 1.7 秒、9,000 トークンの非ストリーミング回答は約 78 秒で返りました。クライアント側ではリトライを維持し、読み取りタイムアウトは 300 秒以上を確保してください。
OpenAI SDK / Python
from openai import OpenAI
client = OpenAI(
base_url="https://api.hop-base.com/v1",
api_key="sk-your-key",
)
resp = client.chat.completions.create(
model="kimi-k3",
max_tokens=4096,
messages=[{"role": "user", "content": "Explain where Kimi K3 works best"}],
)
print(resp.choices[0].message.content)
print(resp.usage)curl
curl https://api.hop-base.com/v1/chat/completions \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{
"model": "kimi-k3",
"max_tokens": 4096,
"messages": [{"role": "user", "content": "Hello, introduce yourself"}]
}'FAQ
/v1/responsesまたは/v1/messagesが 404 を返します。 このモデルには/v1/chat/completionsしかありません。Codex CLI と Claude Code は上記の手順に沿って CC Switch 経由でルーティングしてください。HopBase のアドレスを~/.codex/config.tomlやANTHROPIC_BASE_URLに直接入力しないでください。- Codex が
wire_api = "chat"is no longer supported というエラーで起動しません。 新しいバージョンの Codex は Chat Completions への直接接続をサポートしなくなりました。手書きの provider 設定を削除し、CC Switch に引き継がせてください。 kimi-k3を呼び出すと 404 model not found が返ります。 キーに「Kimi K3 クラウド」プランが含まれていません。キーにプランを追加するか、新しいキーを作成してください。- Codex の
/modelメニューにkimi-k3が表示されません。 モデルマッピングを保存した後、Codex を再起動するとメニューが更新されます。 - 「リクエストパラメータを確認してください」としか書かれていない 400 が返ります。 まず 1 を超える
temperature、1 より大きいn、base64 ではなく公開 URL で送った画像を確認してください。 - 同時実行数の上限に達したという 429 が返ります。 これはアカウントの同時実行数制限(デフォルト 5)です。同時実行のベンチマークやマルチエージェントのワークロードを実行する前に、上限引き上げをご相談ください。
次のステップ
- OpenAI SDK:Chat Completions の一般的な書き方
- CC Switch:ローカルルーターの導入とトラブルシューティング
- エラーコードと再試行
- 同時実行数、タイムアウト、課金