base_url = https://api.moonshot.ai/v1| KimiはOpenAI互換APIとしてOpenAI SDKの直接利用を案内しています。 |
| リアルタイムのチャット補完 | POST https://api.moonshot.ai/v1/chat/completions | API Overviewにフルパスが示され、Chat APIはmodelとmessagesを使う形式です。 |
| モデル一覧を取得する | GET https://api.moonshot.ai/v1/models | 利用可能なモデル一覧とidフィールドを返すエンドポイントです。 |
| 残高を確認する | GET https://api.moonshot.ai/v1/users/me/balance | Check Balanceの例ではAuthorization: Bearerヘッダーを使います。 |
| Batchを作成する | POST https://api.moonshot.ai/v1/batches | Batch APIにはBatch作成用エンドポイントが用意されています。 |
Authorization: Bearer ...形式の認証を使っており、TypingMindの連携ドキュメントもMoonshot APIアカウント作成、残高追加、API key取得の流れを説明しています。base_urlをhttps://api.moonshot.ai/v1にすることです。/modelsを呼ぶ。 List Modelsエンドポイントはモデル一覧を返し、サンプル応答にもidフィールドがあります。この値をmodelパラメータに渡します。modelとmessagesでチャットリクエストを送る。 Chat APIはmodelとmessagesを含む形式を示しており、API Overviewでは/chat/completionsのフルパスが示されています。/users/me/balanceと、Batch作成用の/batchesがあります。次の例は、Kimiが案内しているOpenAI SDK向けのbase_urlを使います。 KIMI_MODEL_IDには、名前から推測したIDではなく、GET /modelsで返ったidを入れてください。
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=os.environ['KIMI_MODEL_ID'],
messages=[
{'role': 'user', 'content': 'こんにちは。短く自己紹介してください。'}
],
)
print(response)
まずは、自分のMoonshot/Kimiアカウントで利用できるモデルを一覧します。このエンドポイントはモデル一覧とidを返します。
curl -sS https://api.moonshot.ai/v1/models -H 'Authorization: Bearer $MOONSHOT_API_KEY'
レスポンスから正しいidを選んだら、Chat Completionsに送ります。/chat/completionsのフルパスと、model+messagesのリクエスト形式はいずれもKimiのドキュメントで示されています。
curl -sS https://api.moonshot.ai/v1/chat/completions -H 'Authorization: Bearer $MOONSHOT_API_KEY' -H 'Content-Type: application/json' -d '{"model":"PASTE_MODEL_ID_FROM_MODELS","messages":[{"role":"user","content":"Kimi K2.6について短く紹介してください。"}]}'
課金や残高が原因と思われるエラーを切り分けたいとき、または組み込み前にアカウント状態を見たいときは、/users/me/balanceを使えます。KimiのCheck BalanceドキュメントではBearer tokenを使う例が示されています。
curl -sS https://api.moonshot.ai/v1/users/me/balance -H 'Authorization: Bearer $MOONSHOT_API_KEY'
Kimi K2.6は、公式のMoonshot API以外にサードパーティのゲートウェイ経由で案内されている場合があります。たとえばAIMLAPIはhttps://api.aimlapi.com/v1/chat/completionsというエンドポイントで、modelにmoonshot/kimi-k2-6を使う例を示しています。 OpenRouterのAPIページではmoonshotai/kimi-k2.6というモデル名が表示されています。
これらは、それぞれのゲートウェイを通すときのIDです。Moonshot公式のhttps://api.moonshot.ai/v1/chat/completionsを呼ぶ場合は、AIMLAPIやOpenRouterのIDを流用せず、GET https://api.moonshot.ai/v1/modelsで返るMoonshot側のidを使うのがもっとも確実です。
最短の実装フローは、MoonshotのAPI keyを用意し、OpenAI SDKのbase_urlをhttps://api.moonshot.ai/v1に設定し、/modelsでKimi K2.6の実際のmodel IDを確認してから、/chat/completionsへmodelとmessagesを送る、という流れです。これでKimiのOpenAI互換APIの仕様に沿いつつ、AIMLAPIやOpenRouterなど別ゲートウェイのmodel IDをMoonshot公式エンドポイントに誤って入れるミスを避けられます。