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 トークンの出力に対応し、HopBase の専用回線経由で提供されます。

プラン選択と課金

  • コンソールの API Keys で API キーを新規作成する際、キーのプランを「Kimi K3 専線」(Kimi K3 専用回線)に設定してください。このキーで kimi-k3 を呼び出せます。
  • 料金は料金ページをご覧ください。実際の適用レートはログイン後のモデルカタログに表示されます。
  • 1 つのキーは 1 つのプランに紐づきます。別のプランに紐づいたキーで kimi-k3 を呼び出すと明確な 404 が返ります。このプランで新しいキーを作成するか、コンソールで既存のキーのプランを付け替えてください。

クライアント設定項目

項目
API アドレス / Base URLhttps://api.hop-base.com/v1
API Keysk-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 CompletionsBase URL、キー、モデルを直接入力します。下記の例を参照してください
Claude CodeAnthropic MessagesCC Switch のローカルルーティング経由。下記の手順を参照してください
Codex CLIOpenAI ResponsesCC Switch のローカルルーティング経由。下記の手順を参照してください

Codex CLI の config.toml を手動編集しないでください

Codex CLI は 0.122 で wire_api = "chat" を削除しており、現在は wire_api = "chat" is no longer supported というエラーで起動を拒否します。wire_api = "responses" にすると /v1/responses を呼び出しますが、このモデルでは 404 が返ります。どちらの方法も機能しないため、Codex は CC Switch のルーティングを経由する必要があります。

リクエストパラメータの制限

2026-09-09 に本番ゲートウェイでパラメータごとに実測した結果です。

パラメータ対応状況備考
max_tokens上限 32,768超過すると 422 が返り、max_completion_tokens=… exceeds the limit of 32768 というメッセージになります
temperature対応0 から 2 まで実測でいずれも動作しました
seedstoplogprobs対応
response_format対応json_objectjson_schema(strict を含む)のいずれも利用可能です
toolstool_choiceparallel_tool_calls対応$ref / $defs / anyOf を使ったスキーマ、名前指定による強制ツール呼び出し、並列呼び出しを含みます
top_p非対応OpenAI のデフォルト値 1.0 を含め、どの値を指定しても 400 が返ります
n1 のみn が 1 より大きいと 400 が返ります
frequency_penaltypresence_penalty0 のみ0 以外の値では 400 が返ります
画像などのマルチモーダル入力非対応下記の警告を参照してください

top_p を指定するとリクエストが失敗します

Cherry Studio、LobeChat、Dify などサンプリング用のスライダーを持つクライアントは、デフォルトで top_p を送信することがあります。このモデルはどんな top_p の値でも 400 を返し、エラーメッセージにはリクエストパラメータを確認するようにとしか書かれておらず、対象フィールド名は示されません。クライアント側で top_p をクリアまたは無効化し、ランダム性の制御には代わりに temperature を使用してください。

テキスト専用モデルです:画像を送らないでください

このモデルは modality: text を返します。image_url を含むリクエストはエラーにはなりません。モデルは通常どおり 200 を返しますが、その説明内容は実際には存在しないものを創作したものです。テストでは 1×1 ピクセルの単色画像に対して、実際には存在しない矢印や構図についての詳細な説明が返されました。画像理解が必要な場合はビジョンモデルを使用してください。

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 ModeSupports Reasoning Effort はオフのままにしてください。Kimi K3 は現時点で思考内容を返しません(下記参照)

保存後、カードに Needs Routing と表示されます。CC Switch は ~/.codex/config.tomlhttp://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 年 9 月に HopBase が本番ゲートウェイで実測した結果です。

  • Kimi K3 は現時点で思考の過程を返しません。 レスポンスに reasoning_content フィールドは含まれず、usage.completion_tokens_details.reasoning_tokens は常に 0 です。つまり出力トークンはすべて回答本文です。リクエストに thinkingreasoning_effort を含めてもエラーにはなりませんが、効果はありません。max_tokens は思考分を確保する必要がなく、回答本文の長さだけで設定してください(上限 32,768)。
  • 長いコンテキストでも正常に動作し、正確に検索できます。 206,079 トークンの単一入力でも正常にレスポンスが返り、深さ 60% の位置に埋め込まれた情報が正確に取り出されました(非ストリーミングで初回バイトまで 78 秒)。
  • プレフィックスキャッシュはプレフィックス全体にヒットします。 同じプレフィックスを繰り返すと、usage.prompt_tokens_details.cached_tokens が一致したプレフィックス長と等しくなります(2,093 トークンのシステムプロンプトなら、2 回目の呼び出しで 2,093 トークン全体がヒットします)。この分はキャッシュ料金で課金されます。システムプロンプトやツール定義などの固定コンテンツはメッセージリストの先頭に置いてください。
  • ツール呼び出しは動作します。 toolstool_choice(required を含む)、parallel_tool_calls$ref$defs を使った JSON Schema、複数ターンにわたる tool メッセージのいずれも、ストリーミング・非ストリーミングの両方で正常に動作します。
  • ストリーミング時の usage。 最後のチャンクで usage を受け取るには、リクエストに "stream_options": {"include_usage": true} を含めてください。
  • レイテンシの目安。 通常のチャットでは初回トークンまで約 4〜7 秒、長文出力ではおよそ 40 トークン/秒、ツール呼び出しでは初回トークンまで約 15〜20 秒です。4 並列のストリームでも失敗は見られませんでした。クライアント側ではリトライを維持し、読み取りタイムアウトは 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.tomlANTHROPIC_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 を再起動するとメニューが更新されます。
  • exceeds the limit of 32768 という 422 が返ります。 max_tokens が 32,768 を超えています。値を下げてください。
  • 「リクエストパラメータを確認してください」としか書かれていない 400 が返ります。 まず top_p(いかなる値も受け付けません)、n が 1 より大きい設定、0 以外の frequency_penalty または presence_penalty を確認してください。
  • 同時実行数の上限に達したという 429 が返ります。 これはアカウントの同時実行数制限(デフォルト 5)です。同時実行のベンチマークやマルチエージェントのワークロードを実行する前に、上限引き上げをご相談ください。

このページの内容