Kimi K3 APIの使い方を、国際版プラットフォーム向けのコピペできるコードで解説します。
結論:Kimi K3はOpenAI互換のChat Completions APIに対応しているため、エンドポイントをhttps://api.moonshot.ai/v1、モデルをkimi-k3に指定すれば、OpenAI SDKから呼び出せます。初回はAPIキーの作成に加え、最低1ドルのチャージが必要です。
この記事では、APIキーを安全に環境変数へ保存し、cURL・Python・Node.jsで最初の応答を得るところから、推論強度、ストリーミング、構造化出力、自動キャッシュまで順番に試します。Kimi K3のWeb版やKimi Codeも含めて全体像を知りたい方は、先に「Kimi K3の使い方・セットアップ完全ガイド」をご覧ください。
Kimi K3 APIとは?特徴と利用条件
Kimi K3 APIは、Moonshot AIの旗艦モデルkimi-k3を自作アプリや業務システムから利用するためのAPIです。公式ドキュメントによると、Kimi K3は2.8兆パラメータ、ネイティブな画像理解、最大1,048,576トークンのコンテキストを備え、長時間のコーディングや知識労働向けに設計されています。
Chat Completions形式に対応。Python・Node.jsのOpenAI SDKを流用できます。
大規模コードベース、長文資料、長い会話履歴をまとめて扱いやすい設計です。
思考モードは常に有効で、reasoning_effortを3段階から選べます。
Kimiのブラウザ版メンバーシップとAPIは別のサービスです。APIは従量課金で、国際版ではKimi API Platformのアカウント、APIキー、最低1ドルのチャージが必要です。
国際版と地域版を混同しないでください。
platform.kimi.aiで発行したキーはapi.moonshot.aiで使います。別地域のプラットフォームで発行したキーとエンドポイントを混ぜると401エラーになります。
Kimi K3 APIを使う前の準備
Kimi API Platformへ登録する
platform.kimi.aiへアクセスし、アカウントを作成します。Kimi K3はチャージ後に解放されるため、Billing画面から最低1ドルをチャージします。
APIキーを作成する
コンソールのAPI Keys画面で新しいキーを作成し、安全な場所へ控えます。キーは作成直後しか全文を確認できない場合があるため、その場でパスワードマネージャーへ保存しておくと安心です。
環境変数へ保存する
APIキーをソースコードへ直接書かず、MOONSHOT_API_KEYという環境変数に保存します。
export MOONSHOT_API_KEY="取得したAPIキー"
$env:MOONSHOT_API_KEY="取得したAPIキー"
セキュリティの基本:.envを使う場合は必ず.gitignoreへ追加し、APIキーをGitHubや共有チャットへ貼らないでください。流出した可能性があるキーは、コンソールで直ちに失効させて再発行します。
cURL・Python・Node.jsでKimi K3 APIを呼び出す
まずcURLで疎通確認する
SDKを入れる前に、次のコマンドで認証・残高・モデル名をまとめて確認できます。正常ならJSON形式のレスポンスが返ります。
curl https://api.moonshot.ai/v1/chat/completions \
-H "Authorization: Bearer $MOONSHOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kimi-k3",
"messages": [
{"role": "user", "content": "Kimi K3を日本語で一文で紹介してください。"}
],
"reasoning_effort": "low"
}'
Pythonで呼び出す
Python 3.9以上を用意し、公式OpenAI SDKをインストールします。
python3 -m pip install --upgrade "openai>=1.0"
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["MOONSHOT_API_KEY"],
base_url="https://api.moonshot.ai/v1",
)
response = client.chat.completions.create(
model="kimi-k3",
reasoning_effort="low",
messages=[
{"role": "system", "content": "あなたは簡潔に回答する日本語アシスタントです。"},
{"role": "user", "content": "Kimi K3 APIの活用例を3つ挙げてください。"},
],
)
print(response.choices[0].message.content)
OpenAI向けの既存コードを移行する場合、主に変えるのはapi_key、base_url、modelの3点です。ただし、対応パラメータが完全に同一とは限らないため、Kimi K3の固定値や制限は公式ドキュメントで確認してください。
Node.jsで呼び出す
npm install openai
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.MOONSHOT_API_KEY,
baseURL: "https://api.moonshot.ai/v1",
});
const response = await client.chat.completions.create({
model: "kimi-k3",
reasoning_effort: "low",
messages: [
{ role: "system", content: "あなたは簡潔に回答する日本語アシスタントです。" },
{ role: "user", content: "Kimi K3 APIの活用例を3つ挙げてください。" },
],
});
console.log(response.choices[0].message.content);
推論・ストリーミング・構造化出力の使い方
reasoning_effortはlow・high・maxから選ぶ
Kimi K3は思考モードをオフにできません。代わりに、リクエスト直下のreasoning_effortで推論量を調整します。既定値はmaxです。
| 設定 | 向いている用途 | 考え方 |
|---|---|---|
low |
分類、短い要約、簡単な文章生成 | 速度と出力コストを優先 |
high |
コードレビュー、資料分析、複数条件の判断 | 品質と速度の中間 |
max |
難しい設計、長時間コーディング、複雑な推論 | 品質を優先。既定値 |
単純なタスクまで常にmaxにすると、応答時間と出力トークンが増えやすくなります。まずlowで試し、品質が足りない処理だけhighまたはmaxへ上げる運用が現実的です。
長い応答はストリーミングで受け取る
stream=Trueを指定すると、推論途中のreasoning_contentと最終回答のcontentが分かれて届きます。長い生成では、途中の通信切断を減らし、ユーザーに進捗を見せやすくなります。
stream = client.chat.completions.create(
model="kimi-k3",
reasoning_effort="high",
messages=[{"role": "user", "content": "Pythonのコードを安全にレビューする観点を説明してください。"}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta
if delta.content:
print(delta.content, end="", flush=True)
構造化出力でJSONを固定する
アプリから結果を再利用する場合は、自由文よりもjson_schemaとstrict: trueを使う方が安全です。最終JSONはmessage.contentだけを解析し、推論部分は混ぜません。
import json
response = client.chat.completions.create(
model="kimi-k3",
messages=[{"role": "user", "content": "この問い合わせを分類:ログインできず、401と表示されます。"}],
response_format={
"type": "json_schema",
"json_schema": {
"name": "support_ticket",
"strict": True,
"schema": {
"type": "object",
"properties": {
"category": {"type": "string"},
"priority": {"type": "string"},
"summary": {"type": "string"}
},
"required": ["category", "priority", "summary"],
"additionalProperties": False
}
}
}
)
ticket = json.loads(response.choices[0].message.content)
print(ticket)
K3固有の制限:temperature=1.0、top_p=0.95、n=1などは固定です。通常はこれらを指定せず、reasoning_effortとmax_completion_tokensで調整します。画像入力では公開URLを直接渡せないため、Base64またはKimiのファイル参照を使います。
Kimi K3 APIの料金と自動キャッシュ
2026年7月28日時点の公式価格は次のとおりです。単位は100万トークン、米ドル建てで、税は別途かかる場合があります。
| モデル | 入力(キャッシュヒット) | 入力(キャッシュミス) | 出力 | コンテキスト |
|---|---|---|---|---|
kimi-k3 |
$0.30 / 100万token | $3.00 / 100万token | $15.00 / 100万token | 1,048,576 token |
料金計算例:入力10万トークン、出力1万トークンの1回の処理なら、キャッシュミス時は$0.45です。
入力:100,000 ÷ 1,000,000 × $3.00 = $0.30
出力:10,000 ÷ 1,000,000 × $15.00 = $0.15
同じ長い入力がキャッシュに当たれば、入力分は$0.03となり、合計は$0.18です。
キャッシュは自動で効く
Kimi K3の通常リクエストでは、コンテキストキャッシュ用のIDや追加パラメータは不要です。前回のプロンプトが256トークンを超え、次のリクエストでも長い先頭部分を同じ順序で再利用すると、プレフィックスキャッシュへヒットする可能性があります。
- 長いシステムプロンプトや共通知識を先頭に置く
- 毎回変わる質問はメッセージの後ろに置く
- 共通部分の表記・順序を不用意に変更しない
max_completion_tokensを必要以上に大きくしない- 簡単なタスクは
reasoning_effort="low"から始める
なお、Kimi K3を自前PCで動かす場合はAPIとは別のコスト構造になります。実ウェイト容量と必要スペックは「Kimi K3はローカルで動かせるのか」で検証しています。
Kimi K3 APIでよくあるエラーと対処法
| HTTP | 主な原因 | 対処法 |
|---|---|---|
| 400 | JSON形式、必須項目、パラメータ型、トークン上限の誤り | リクエスト本文を見直し、入力またはmax_completion_tokensを減らす |
| 401 | APIキー不正、Bearer形式の誤り、発行元とAPI地域の不一致 | 環境変数とapi.moonshot.aiの組み合わせを確認する |
| 404 | モデル名の誤り、K3の利用権限が未解放 | kimi-k3の綴りとチャージ状況を確認する |
| 429 | 残高不足、同時実行数・RPM・TPM・TPD超過、サービス混雑 | error.typeを確認し、入金、並列数削減、待機後の再試行を使い分ける |
| 500 / 503 | 一時的なサーバーエラー | 指数バックオフで再試行し、継続する場合はrequest_idを添えて問い合わせる |
429は内容を見て対処を分ける
429だからといって、必ずしもチャージすれば直るわけではありません。exceeded_current_quota_errorなら残高確認、rate_limit_reached_errorなら並列数を下げるか待機、engine_overloaded_errorならサーバー混雑のためRetry-Afterに従って再試行します。
本番運用では再試行を実装:429・500・503の一時エラーは、待機時間を1秒、2秒、4秒のように伸ばす指数バックオフが有効です。ただし、400や401を自動再試行しても直らないため、エラー種別ごとに処理を分けます。
Kimi K3 APIのよくある質問
Q. Kimi K3 APIは無料で使えますか?
従量課金です。国際版では利用開始に最低1ドルのチャージが必要です。ブラウザ版の無料・有料メンバーシップとは別に請求されます。
Q. OpenAIのコードをそのまま移行できますか?
Chat Completions形式は互換性が高く、SDKも流用できます。ただしモデル固有の固定パラメータ、推論出力、画像入力、ツール呼び出しの扱いには差があるため、動作確認は必要です。
Q. 思考モードをオフにできますか?
できません。応答時間やコストを抑えたい場合はreasoning_effort="low"を指定します。
Q. Kimi CodeとKimi K3 APIはどちらを選ぶべきですか?
ターミナルやIDEで開発作業を任せたいならKimi Code、自作アプリや業務システムへ組み込みたいならAPIが向いています。Kimi Code側の設定は「Kimi Code実践設定ガイド」で解説しています。
まとめ:最初はlow設定の小さなリクエストから試す
Kimi K3 APIは、OpenAI互換のChat Completions APIを使い、Python・Node.js・cURLから呼び出せます。国際版で押さえるポイントは、platform.kimi.aiでキーを作ること、https://api.moonshot.ai/v1を指定すること、最低1ドルのチャージ、モデル名kimi-k3の4点です。
まずはreasoning_effort="low"の短いリクエストで疎通確認し、複雑な処理だけhighやmaxへ上げてください。長い共通知識を先頭に固定すると自動キャッシュが効きやすくなり、1Mコンテキストを使う処理の入力コストを抑えられます。
APIキーを作成し、最小コードからKimi K3を試してみましょう。
Kimi APIキーを作成する

