Kimi K2.7 Code est disponible sur Novita AI avec l’ID de modèle moonshotai/kimi-k2.7-code, un endpoint chat/completions compatible OpenAI, une fenêtre de contexte de 262 144 jetons, et la prise en charge des entrées texte, image et vidéo. Ce guide de démarrage rapide couvre la configuration développeur : authentifiez-vous, envoyez votre première requête, utilisez l’entrée vision, ajoutez l’appel de fonctions et comprenez la tarification avant de créer. Pour une vue plus large du positionnement et des cas d’usage, consultez la présentation de Kimi K2.7 Code sur Novita AI. Pour connecter Kimi K2.7 Code à Claude Code via l’endpoint compatible Anthropic, consultez Comment utiliser Kimi K2.7 Code dans Claude Code.
Configuration de l’API Kimi K2.7 Code
Commencez par trois éléments de configuration :
| Élément | Valeur |
|---|---|
| Clé API | Créez et stockez une clé API Novita AI dans une variable d’environnement telle que NOVITA_API_KEY. |
| URL de base compatible OpenAI | https://api.novita.ai/openai |
| Endpoint de chat completions | POST https://api.novita.ai/openai/v1/chat/completions |
| ID du modèle | moonshotai/kimi-k2.7-code |
L’index de documentation Novita AI répertorie l’URL de base compatible OpenAI, et la référence de l’API chat completions documente tous les champs de requête et de réponse.
Gardez la clé API hors du contrôle de source. Exportez-la dans votre shell pour le développement local :
export NOVITA_API_KEY="your_api_key"
Si votre application utilise déjà le SDK OpenAI, le changement est minimal : pointez l’URL de base vers Novita AI et définissez le modèle sur moonshotai/kimi-k2.7-code.
Tarification et limites de Kimi K2.7 Code
Utilisez l’ID de modèle exact dans le code. Dans l’interface utilisateur, utilisez le nom d’affichage « Kimi K2.7 Code ».
| Champ | Valeur actuelle Novita |
|---|---|
| Nom d’affichage | Kimi K2.7 Code |
| ID de modèle API | moonshotai/kimi-k2.7-code |
| Série de modèles | MoonshotAI |
| Architecture | MoE, 1T paramètres au total, 32B activés |
| Familles d’endpoints | chat/completions, anthropic |
| Modalités d’entrée | Texte, image, vidéo |
| Modalité de sortie | Texte |
| Fenêtre de contexte | 262 144 jetons |
| Max de jetons de sortie | 262 144 jetons |
| Fonctionnalités | Appel de fonctions, sorties structurées, raisonnement |
En date du 16 juin 2026, Novita répertorie ces prix de jetons pour moonshotai/kimi-k2.7-code :
| Type de jeton | Prix indiqué |
|---|---|
| Jetons d’entrée | 0,95 $ par million de jetons |
| Jetons de sortie | 4,00 $ par million de jetons |
| Jetons d’entrée en lecture de cache | 0,19 $ par million de jetons |
Les prix, la disponibilité et les limites de débit peuvent changer. Consultez la page du modèle Kimi K2.7 Code et la page de tarification Novita AI avant le lancement en production ou tout engagement de coût.
Exemple cURL avec Kimi K2.7 Code
Commencez par une requête texte uniquement pour confirmer l’authentification, le routage du modèle et l’analyse de la réponse avant d’ajouter des appels vision ou outils.
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
}'
Une réponse réussie renvoie la structure standard de chat completions : un tableau choices, un message avec content, des métadonnées model/created, et un objet usage contenant les compteurs de jetons prompt, completion et total.
Utilisez ce test de fumée pour vérifier :
- Que la clé API est valide et que l’en-tête d’autorisation est correctement formaté.
- Que l’ID du modèle est accepté sans erreur 404 ou modèle introuvable.
- Que votre client peut analyser
choices[0].message.content. - Que l’utilisation des jetons est journalisée afin de surveiller les coûts dès la première requête.
Exemple Python avec Kimi K2.7 Code
Le SDK Python OpenAI fonctionne avec Novita AI lorsque vous définissez l’URL de base Novita. Épinglez la version du SDK selon votre propre politique de dépendances.
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)
Pour les longues sessions d’agent de codage, définissez max_tokens explicitement. Kimi K2.7 Code prend en charge jusqu’à 262 144 jetons de sortie, mais les agents de production doivent budgéter l’utilisation des jetons par tour et surveiller le coût cumulé sur les exécutions en plusieurs étapes.
Entrée Image et Vidéo
Novita répertorie le texte, l’image et la vidéo comme modalités d’entrée pour Kimi K2.7 Code. Pour une entrée vision, transmettez un tableau content dans le message utilisateur avec une partie text et une partie 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)
Un ordre pratique pour l’intégration multimodale :
- Confirmez d’abord que le test de fumée texte uniquement fonctionne.
- Ajoutez une entrée image avec une tâche clairement vérifiable, comme extraire les libellés d’une capture d’écran d’interface.
- Validez à la fois la qualité de la réponse et la structure de la réponse pour votre charge de travail réelle.
- Testez les entrées vidéo séparément — commencez par de courts clips, vérifiez le format de requête et mesurez la latence et les coûts en jetons avant d’ajouter la vidéo à un chemin de production.
Ne supposez pas que chaque payload multimodal compatible OpenAI est accepté à l’identique par chaque modèle hébergé sur Novita. Vérifiez la forme exacte du payload image et vidéo dans la documentation Novita AI actuelle ou les exemples de console pour moonshotai/kimi-k2.7-code avant de livrer.
Appel de fonctions et sorties structurées
Kimi K2.7 Code prend en charge l’appel de fonctions via le paramètre tools et les sorties structurées via response_format. Ces deux fonctionnalités sont répertoriées sur la page du modèle Novita AI.
Utilisez l’appel de fonctions lorsque le modèle doit sélectionner un outil et renvoyer des arguments structurés plutôt que de répondre en prose :
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)
Pour les sorties structurées, utilisez response_format avec json_schema lorsque vous avez besoin d’une réponse JSON validée sans appel d’outil. Gardez les premiers schémas petits et testez votre analyseur par rapport à la forme exacte de réponse renvoyée par moonshotai/kimi-k2.7-code avant de vous appuyer sur le mode strict en production.
L’architecture de raisonnement entrelacé de Kimi K2.7 Code signifie qu’il raisonne à travers des tâches en plusieurs étapes avant de renvoyer un résultat. Pour les flux de travail de codage agentiques avec plusieurs appels d’outils par tour, testez comment le choix de l’outil, la qualité des arguments et la latence de réponse se comportent sur votre ensemble de tâches réel avant d’acheminer le trafic de production.
Liste de contrôle pour les tests en production
Kimi K2.7 Code est tarifé séparément pour les jetons d’entrée, de sortie et de lecture de cache. Les profils de coût varient considérablement selon la charge de travail :
- Revue de code en contexte long : de grands nombres de jetons d’entrée dominent le coût.
- Agents de génération de code : l’utilisation des jetons de sortie augmente avec la longueur de la réponse et le nombre de tours.
- Flux de travail à contexte répété : la tarification de lecture de cache s’applique lorsqu’un prompt système stable, un schéma d’outil ou un résumé de dépôt revient sur de nombreux appels.
Avant la production, exécutez un ensemble d’évaluation qui comprend :
- Des prompts courts texte uniquement (référence de latence et vérification de l’authentification).
- Des prompts à contexte long près de votre taille de travail attendue, pas la fenêtre maximale.
- Des prompts d’appel d’outils où le comportement correct est d’appeler une fonction avec des arguments valides.
- Des entrées image qui correspondent à votre source de téléversement réelle et à la gestion des fichiers.
- Des cas d’échec : entrée surdimensionnée, URL média manquante, clé API invalide et comportement de délai d’attente.
Les listes de fonctionnalités décrivent ce qui est disponible. L’évaluation sur votre charge de travail réelle vous indique si la latence, l’utilisation des jetons, la qualité des arguments d’outil et l’exactitude des résultats répondent à votre exigence de production.
FAQ
Kimi K2.7 Code est-il disponible via Novita AI ?
Oui. Novita AI répertorie Kimi K2.7 Code comme LLM sans serveur avec l’ID de modèle API moonshotai/kimi-k2.7-code.
Quel est le bon ID de modèle ?
Utilisez moonshotai/kimi-k2.7-code dans tous les appels API.
Quel endpoint dois-je utiliser ?
Utilisez l’endpoint chat completions compatible OpenAI : POST https://api.novita.ai/openai/v1/chat/completions. Définissez l’URL de base sur https://api.novita.ai/openai lorsque vous utilisez un client SDK OpenAI.
Combien coûte Kimi K2.7 Code ?
En date du 16 juin 2026, Novita AI répertorie 0,95 $ par million de jetons d’entrée, 4,00 $ par million de jetons de sortie et 0,19 $ par million de jetons d’entrée en lecture de cache. Vérifiez les prix actuels sur la page du modèle Kimi K2.7 Code avant toute décision d’achat.
Prend-il en charge les entrées image et vidéo ?
Novita répertorie le texte, l’image et la vidéo comme modalités d’entrée. Pour la forme exacte du payload, vérifiez avec la documentation Novita actuelle ou un appel de test avant de livrer des fonctionnalités multimodales.
Kimi K2.7 Code prend-il en charge l’appel de fonctions ?
Oui. Utilisez le paramètre tools dans la requête chat completions. Novita répertorie l’appel de fonctions et les sorties structurées comme fonctionnalités prises en charge.
Quelle est la fenêtre de contexte ?
Fenêtre de contexte de 262 144 jetons et sortie maximale de 262 144 jetons, comme indiqué sur la page du modèle Novita AI.
