Kimi K2.7 Code は Novita AI で利用可能で、モデル ID moonshotai/kimi-k2.7-code、OpenAI 互換の chat/completions エンドポイント、262,144 トークンのコンテキストウィンドウ、テキスト・画像・動画の入力をサポートしています。このクイックスタートでは、開発者のセットアップについて説明します。認証、最初のリクエスト送信、画像入力の使用、関数呼び出しの追加、料金の理解、そしてビルド前の準備を行います。位置づけとユースケースの概要については、Kimi K2.7 Code on Novita AI の概要 をご覧ください。
Kimi K2.7 Code API のセットアップ
以下の 3 つの設定項目から始めます。
| 項目 | 値 |
|---|---|
| API キー | Novita AI API キーを作成し、NOVITA_API_KEY などの環境変数に保存します。 |
| OpenAI 互換のベース URL | https://api.novita.ai/openai |
| チャット完了エンドポイント | POST https://api.novita.ai/openai/v1/chat/completions |
| モデル ID | moonshotai/kimi-k2.7-code |
OpenAI 互換のベース URL は Novita AI ドキュメントインデックス に、完全なリクエスト・レスポンスフィールドは チャット完了 API リファレンス に記載されています。
API キーはソース管理に含めないでください。ローカル開発ではシェルでエクスポートします。
export NOVITA_API_KEY="your_api_key"
すでに OpenAI SDK を使用している場合、変更は最小限です。ベース URL を Novita AI に向け、モデルを moonshotai/kimi-k2.7-code に設定するだけです。
Kimi K2.7 Code の料金と制限
コードでは正確なモデル ID を使用します。ユーザー向け UI では表示名「Kimi K2.7 Code」を使用します。
| フィールド | 現在の Novita の値 |
|---|---|
| 表示名 | Kimi K2.7 Code |
| API モデル ID | moonshotai/kimi-k2.7-code |
| モデルシリーズ | MoonshotAI |
| アーキテクチャ | MoE、総パラメータ 1T、アクティブパラメータ 32B |
| エンドポイントファミリー | chat/completions、anthropic |
| 入力モダリティ | テキスト、画像、動画 |
| 出力モダリティ | テキスト |
| コンテキストウィンドウ | 262,144 トークン |
| 最大出力トークン数 | 262,144 トークン |
| 機能 | 関数呼び出し、構造化出力、推論 |
2026 年 6 月 16 日時点で、Novita は moonshotai/kimi-k2.7-code のトークン価格を次のように記載しています。
| トークンタイプ | リスト価格 |
|---|---|
| 入力トークン | 100 万トークンあたり $0.95 |
| 出力トークン | 100 万トークンあたり $4.00 |
| キャッシュ読み取り入力トークン | 100 万トークンあたり $0.19 |
料金、可用性、レート制限は変更される可能性があります。本番稼働前またはコストコミットの前に、Kimi K2.7 Code モデルページ と Novita AI 料金ページ を確認してください。
Kimi K2.7 Code の cURL 例
画像やツール呼び出しを追加する前に、テキストのみのリクエストから始めて、認証、モデルルーティング、レスポンス解析を確認します。
curl "https://api.novita.ai/openai/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${NOVITA_API_KEY}" \
-d '{
"model": "moonshotai/kimi-k2.7-code",
"messages": [
{
"role": "system",
"content": "You are a concise code review assistant."
},
{
"role": "user",
"content": "List three common mistakes when implementing retry logic in Python."
}
],
"max_tokens": 512,
"temperature": 0.2
}'
成功したレスポンスは標準的なチャット完了の形状を返します。choices 配列、content を含むメッセージ、モデル/作成メタデータ、プロンプト・完了・合計トークン数を含む usage オブジェクトです。
このスモークテストを使用して、以下を確認します。
- API キーが有効で、認証ヘッダーが正しくフォーマットされていること。
- モデル ID が受け入れられ、404 やモデル未検出のエラーが発生しないこと。
- クライアントが
choices[0].message.contentを解析できること。 - トークン使用量がログに記録され、最初のリクエストからコストを監視できること。
Kimi K2.7 Code の Python 例
OpenAI Python SDK は、Novita のベース URL を設定することで Novita AI で動作します。SDK のバージョンは、ご自身の依存関係ポリシーに従って固定してください。
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.novita.ai/openai",
api_key=os.environ["NOVITA_API_KEY"],
)
response = client.chat.completions.create(
model="moonshotai/kimi-k2.7-code",
messages=[
{"role": "system", "content": "You are a concise code review assistant."},
{
"role": "user",
"content": "Review this Python function for off-by-one errors and missing edge cases:\n\ndef get_items(lst, start, end):\n return lst[start:end]",
},
],
max_tokens=512,
temperature=0.2,
)
print(response.choices[0].message.content)
print("Tokens used:", response.usage.total_tokens)
コードエージェントの長時間セッションでは、max_tokens を明示的に設定してください。Kimi K2.7 Code は最大 262,144 出力トークンをサポートしますが、本番エージェントはターンごとのトークン使用量を予算化し、マルチステップ実行全体の累積コストを監視する必要があります。
画像および動画入力
Novita は Kimi K2.7 Code の入力モダリティとしてテキスト、画像、動画を挙げています。画像入力の場合、ユーザーメッセージ内の content 配列に text 部分と image_url 部分を渡します。
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.novita.ai/openai",
api_key=os.environ["NOVITA_API_KEY"],
)
response = client.chat.completions.create(
model="moonshotai/kimi-k2.7-code",
messages=[
{"role": "system", "content": "You are a UI code review assistant."},
{
"role": "user",
"content": [
{
"type": "text",
"text": "Describe any accessibility issues visible in this UI screenshot and suggest CSS fixes.",
},
{
"type": "image_url",
"image_url": {"url": "https://example.com/screenshot.png"},
},
],
},
],
max_tokens=512,
)
print(response.choices[0].message.content)
マルチモーダル統合の実用的な順序は次のとおりです。
- 最初にテキストのみのスモークテストが機能することを確認します。
- 明確に検証可能なタスク(UI スクリーンショットからラベルを抽出するなど)で画像入力を 1 つ追加します。
- 実際のワークロードに対して、レスポンス品質とレスポンス形状の両方を検証します。
- 動画入力は個別にテストしてください。短いクリップから始め、リクエスト形式を確認し、レイテンシとトークンコストを測定してから、動画を本番パスに追加します。
すべての OpenAI 互換のマルチモーダルペイロードが、Novita がホストするすべてのモデルで同じように受け入れられるとは限りません。出荷前に、現在の Novita AI ドキュメント または moonshotai/kimi-k2.7-code のコンソール例で、画像と動画の正確なペイロード形状を確認してください。
関数呼び出しと構造化出力
Kimi K2.7 Code は tools パラメータによる関数呼び出しと、response_format による構造化出力をサポートしています。どちらも Novita AI モデルページに機能として記載されています。
モデルがツールを選択し、散文で答える代わりに構造化された引数を返すべき場合は、関数呼び出しを使用します。
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.novita.ai/openai",
api_key=os.environ["NOVITA_API_KEY"],
)
tools = [
{
"type": "function",
"function": {
"name": "file_search",
"description": "Search the repository for files matching a pattern.",
"parameters": {
"type": "object",
"properties": {
"pattern": {
"type": "string",
"description": "Glob pattern to match, e.g. '**/*.py'",
},
"directory": {
"type": "string",
"description": "Root directory to search within.",
},
},
"required": ["pattern"],
},
},
}
]
response = client.chat.completions.create(
model="moonshotai/kimi-k2.7-code",
messages=[
{"role": "system", "content": "You are a repository analysis assistant."},
{
"role": "user",
"content": "Find all Python files in the src directory that might contain database migration logic.",
},
],
tools=tools,
tool_choice="auto",
temperature=0.1,
)
message = response.choices[0].message
if message.tool_calls:
for call in message.tool_calls:
print(f"Tool: {call.function.name}")
print(f"Arguments: {call.function.arguments}")
else:
print(message.content)
構造化出力の場合、ツール呼び出しなしで検証済みの JSON レスポンスが必要な場合は、json_schema とともに response_format を使用します。初期のスキーマは小さく保ち、本番で strict モードに依存する前に、moonshotai/kimi-k2.7-code が返す正確なレスポンス形状に対してパーサーをテストしてください。
Kimi K2.7 Code のインターリーブ思考アーキテクチャは、結果を返す前にマルチステップタスクを推論します。ターンごとに複数のツール呼び出しを行うエージェントコードワークフローの場合、本番トラフィックをルーティングする前に、ツール選択、引数の品質、応答レイテンシが実際のタスクセットでどのように動作するかをテストしてください。
本番テストチェックリスト
Kimi K2.7 Code は、入力、出力、キャッシュ読み取りトークンに対して個別に価格設定されています。コストプロファイルはワークロードによって大きく異なります。
- 長文コンテキストコードレビュー: 大きな入力トークン数がコストを支配します。
- コード生成エージェント: 出力トークン使用量は応答長とターン数に比例します。
- 繰り返しコンテキストワークフロー: 安定したシステムプロンプト、ツールスキーマ、リポジトリサマリーが多くの呼び出しで繰り返される場合、キャッシュ読み取り価格が適用されます。
本番前に、以下を含む評価セットを実行してください。
- 短いテキストのみのプロンプト(レイテンシベースラインと認証チェック)。
- 最大ウィンドウではなく、予想される作業サイズに近い長文コンテキストプロンプト。
- 正しい動作が有効な引数で関数を呼び出すことであるツール呼び出しプロンプト。
- 実際のアップロード元とファイル処理に一致する画像入力。
- 障害ケース: サイズ超過の入力、欠落したメディア URL、無効な API キー、タイムアウト動作。
機能リストは利用可能なものを説明します。実際のワークロードでの評価は、レイテンシ、トークン使用量、ツール引数の品質、出力の正確性が本番基準を満たしているかどうかを示します。
FAQ
Kimi K2.7 Code は Novita AI で利用できますか?
はい。Novita AI は Kimi K2.7 Code を Serverless LLM としてリストし、API モデル ID は moonshotai/kimi-k2.7-code です。
正しいモデル ID は何ですか?
すべての API 呼び出しで moonshotai/kimi-k2.7-code を使用してください。
どのエンドポイントを使用すればよいですか?
OpenAI 互換のチャット完了エンドポイントを使用します: POST https://api.novita.ai/openai/v1/chat/completions。OpenAI SDK クライアントを使用する場合は、ベース URL を https://api.novita.ai/openai に設定します。
Kimi K2.7 Code の料金はいくらですか?
2026 年 6 月 16 日時点で、Novita AI は 100 万入力トークンあたり $0.95、100 万出力トークンあたり $4.00、100 万キャッシュ読み取り入力トークンあたり $0.19 と記載しています。調達の決定前に、Kimi K2.7 Code モデルページ で最新の料金を確認してください。
画像と動画の入力をサポートしていますか?
Novita はテキスト、画像、動画を入力モダリティとして挙げています。正確なペイロード形状については、マルチモーダル機能を出荷する前に、現在の Novita ドキュメントまたはテスト呼び出しで確認してください。
Kimi K2.7 Code は関数呼び出しをサポートしていますか?
はい。チャット完了リクエストで tools パラメータを使用します。Novita は関数呼び出しと構造化出力をサポート機能として挙げています。
コンテキストウィンドウはどれくらいですか?
Novita AI モデルページに記載されている通り、262,144 トークンのコンテキストウィンドウと最大 262,144 トークンの出力です。
