Novita AI で Kimi K2.7 Code API クイックスタート

Novita AI で Kimi K2.7 Code API クイックスタート

Kimi K2.7 Code は Novita AI で、モデル ID moonshotai/kimi-k2.7-code、OpenAI 互換の chat/completions エンドポイント、262,144 トークンのコンテキストウィンドウ、テキスト・画像・動画入力に対応して利用可能です。このクイックスタートでは、開発者のセットアップ(認証、最初のリクエスト送信、画像入力の使用、関数呼び出しの追加、料金の理解)を解説します。位置づけやユースケースの詳細については、Kimi K2.7 Code on Novita AI 概要 を参照してください。Anthropic 互換エンドポイントを介して Kimi K2.7 Code を Claude Code に組み込む方法については、How to Use Kimi K2.7 Code in Claude Code を参照してください。

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

Novita AI ドキュメントインデックス に OpenAI 互換のベース URL が記載されており、チャット補完 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/completionsanthropic
入力モダリティ テキスト、画像、動画
出力モダリティ テキスト
コンテキストウィンドウ 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 の入力モダリティとしてテキスト、画像、動画を挙げています。画像入力の場合は、ユーザーメッセージに text パートと image_url パートを含む content 配列を渡します。

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)

マルチモーダル統合の実践的な順序は次のとおりです。

  1. まずテキストのみのスモークテストが動作することを確認します。
  2. 検証可能な明確なタスク(UI スクリーンショットからラベルを抽出するなど)で画像入力を 1 つ追加します。
  3. 実際のワークロードに対する応答品質と応答形式の両方を検証します。
  4. 動画入力は別途テストします。短いクリップから始め、リクエスト形式を確認し、本番パスに動画を追加する前にレイテンシとトークンコストを測定します。

すべての 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 を使用します。初期のスキーマは小さく保ち、本番で厳密モードに依存する前に、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 は関数呼び出しと構造化出力をサポート機能として挙げています。

コンテキストウィンドウはどれくらいですか?

262,144 トークンのコンテキストウィンドウと 262,144 トークンの最大出力です(Novita AI モデルページに記載)。

おすすめの記事