Claude Opus 5.5 est disponible sur SeedRouter

Text

Kimi K3

View Markdown

Appelez Kimi K3 avec l'API officielle Chat Completions, Responses ou Anthropic Messages : une fenêtre de contexte de 1M tokens, un raisonnement toujours actif et le niveau de raisonnement de votre choix.

Kimi K3 est le modèle phare de Moonshot AI pour le codage sur de longues durées, les agents et le travail intellectuel. Il raisonne toujours avant de répondre, et vous choisissez l'intensité avec reasoning_effort. Envoyez la requête Kimi officielle à SeedRouter : changez l'URL de base et la clé API, conservez le corps.

ID de modèle

ID de modèleFenêtre de contexteSortie maximaleNiveau de raisonnementNiveau de raisonnement par défaut
kimi-k31,048,576 tokens1,048,576 tokens (131,072 par défaut)low, high, maxmax

Entrée : texte et images. Sortie : texte. Consultez la page du modèle pour les tarifs actuels.

Exemple rapide

curl https://api.seedrouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kimi-k3",
    "messages": [{"role": "user", "content": "Explain context caching in one sentence."}]
  }'

Points de terminaison

FormatMéthode et cheminAuthentification
Chat CompletionsPOST https://api.seedrouter.ai/v1/chat/completionsAuthorization: Bearer <key>
ResponsesPOST https://api.seedrouter.ai/v1/responsesAuthorization: Bearer <key>
Anthropic MessagesPOST https://api.seedrouter.ai/v1/messagesx-api-key: <key> ou Authorization: Bearer <key>, plus anthropic-version

Les trois renvoient le format de réponse officiel de Kimi, en streaming ou non. Conservez la clé API dans le code côté serveur.

Paramètres

Champs Chat Completions :

NomTypeRequisPar défautRemarques
modelstringOui—kimi-k3.
messagesobject[]Oui—Messages texte ; images sous forme de parties image_url (voir Entrée image).
max_completion_tokensintegerNon131072Jusqu'à 1048576. Inclut les tokens de raisonnement. max_tokens est l'ancien nom, obsolète, de la même limite.
reasoning_effortenumNonmaxlow, high ou max. Toute autre valeur renvoie 400.
stopstring or string[]Non—Jusqu'à 5 séquences.
response_formatobjectNon{"type": "text"}text, json_object ou json_schema (avec json_schema.name et json_schema.schema).
toolsobject[]Non—Outils de type fonction.
tool_choicestring or objectNonautoauto et none sont appliqués. required et une fonction nommée sont acceptés mais ne forcent pas d'appel.
streambooleanNonfalseEnvoie des événements côté serveur (server-sent events).
stream_options.include_usagebooleanNonfalseAjoute le chunk d'usage final.
prompt_cache_optionsobjectNon{"mode": "implicit", "ttl": "5m"}mode : implicit. ttl : 5m ou 1h.
prompt_cache_key, safety_identifier, prediction—Non—Acceptés.
logprobs, top_logprobs—Non—Acceptés (top_logprobs de 0 à 20), mais aucune probabilité logarithmique n'est renvoyée.
temperature, top_p, n, presence_penalty, frequency_penalty—Non1.0, 0.95, 1, 0, 0Fixes. Toute autre valeur renvoie 400 : ne les envoyez pas.

Raisonnement et niveau de raisonnement

Kimi K3 raisonne toujours ; il est impossible de désactiver le raisonnement. reasoning_effort fixe son intensité : max (par défaut) pour le travail le plus difficile, high pour la plupart des tâches, low pour les étapes simples et rapides. Le raisonnement est renvoyé dans reasoning_content, à côté de content. Les tokens de raisonnement sont facturés comme des tokens de sortie et comptent dans max_completion_tokens.

Dans les conversations à plusieurs tours et les appels d'outils, renvoyez chaque message assistant sans le modifier, y compris son reasoning_content.

Entrée image

Kimi K3 accepte les images sous forme de data URI base64. Une URL d'image publique n'est pas acceptée et renvoie 400, comme sur l'API de Kimi.

{"role": "user", "content": [
  {"type": "image_url", "image_url": {"url": "data:image/png;base64,<BASE64_DATA>"}},
  {"type": "text", "text": "Describe this image."}
]}

Mise en cache du contexte

La mise en cache est automatique : un préfixe de prompt répété est lu depuis le cache au tarif réduit de l'entrée en cache. prompt_cache_options.ttl choisit combien de temps un préfixe écrit reste en cache, 5m (par défaut) ou 1h ; choisissez 1h lorsque vos requêtes sont espacées de plus de cinq minutes. usage.prompt_tokens_details.cached_tokens indique les tokens lus depuis le cache et cache_write_tokens les écritures en cache facturées pour la requête.

Dimensions de facturation

Consultez les tarifs actuels sur la page du modèle. Une requête est facturée en fonction des tokens qu'elle utilise :

  • tokens d'entrée,
  • tokens d'entrée en cache (cached_tokens),
  • tokens d'écriture en cache (cache_write_tokens),
  • tokens de sortie, y compris le raisonnement.

Les prix ne varient pas avec la longueur du contexte. Le montant est calculé à partir de l'usage renvoyé avec la réponse terminée. Une requête qui échoue n'est pas facturée. Les enregistrements d'usage de votre compte indiquent le montant exact de chaque requête.

Sortie

Une requête Chat Completions non-streaming renvoie :

{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "created": 1790585961,
  "model": "kimi-k3",
  "choices": [{
    "index": 0,
    "finish_reason": "stop",
    "message": {"role": "assistant", "reasoning_content": "...", "content": "..."}
  }],
  "usage": {
    "prompt_tokens": 90,
    "completion_tokens": 57,
    "total_tokens": 147,
    "cached_tokens": 90,
    "prompt_tokens_details": {"cached_tokens": 90, "cache_write_tokens": 0}
  }
}

Avec "stream": true, chaque chunk contient un delta avec reasoning_content ou content. Avec stream_options.include_usage, un dernier chunk avec un tableau choices vide porte l'usage avant data: [DONE].

API Responses et Codex

POST /v1/responses accepte le corps Responses : input, instructions, max_output_tokens, reasoning.effort (low, high, max), text.format (json_schema), tools (function et l'outil personnalisé apply_patch), tool_choice, stream, prompt_cache_options, prompt_cache_key et safety_identifier. Le raisonnement est renvoyé sous forme d'élément reasoning avec une partie summary_text, et un flux transporte des événements numérotés de response.created à response.completed. L'API est sans état : previous_response_id et conversation sont ignorés, envoyez donc toute la conversation dans input. L'outil web_search est ignoré.

Pour utiliser Kimi K3 dans Codex, ajoutez un provider à ~/.codex/config.toml et définissez SEEDROUTER_API_KEY :

model = "kimi-k3"
model_provider = "seedrouter"
model_context_window = 1048576

[model_providers.seedrouter]
name = "SeedRouter"
base_url = "https://api.seedrouter.ai/v1"
env_key = "SEEDROUTER_API_KEY"
wire_api = "responses"

Format Anthropic Messages

Le code écrit pour l'API Anthropic Messages peut aussi appeler Kimi K3 : envoyez le corps Messages à /v1/messages avec "model": "kimi-k3". system, max_tokens, tools, tool_choice (auto, none) et output_config.effort (low, high, max) sont appliqués, et metadata.user_id et cache_control sont acceptés. stop_sequences (jusqu'à 5), tool_choice any et output_config.format sont acceptés mais n'ont aucun effet. Le raisonnement est renvoyé sous forme de blocs thinking. Les images sont transmises comme sources base64.

Erreurs

Les erreurs utilisent {"error": {"code": ..., "message": "..."}} (le point de terminaison Messages utilise le format d'erreur d'Anthropic). Le code est un code du catalogue d'erreurs commun. Les requêtes échouées ne sont pas facturées.

Conseils

  • Commencez avec le niveau de raisonnement high et ne passez à max que pour les problèmes les plus difficiles ; low convient aux étapes simples et rapides.
  • Définissez max_completion_tokens assez haut pour le raisonnement et la réponse : c'est un budget unique pour les deux.
  • Placez le contexte long et réutilisé au début du prompt afin que les requêtes ultérieures le lisent depuis le cache, et utilisez le TTL 1h lorsque les requêtes sont espacées.

Ressources associées

Groupe LLM facultatif

Connectez-vous au Playground de ce modèle pour consulter les groupes disponibles. Les options dépendent des autorisations de votre compte et du modèle sélectionné. Playground utilise votre session de connexion ; vous n’avez pas besoin de fournir de clé API.

Les appels API conservent votre clé API et l’identifiant du modèle. Pour sélectionner un groupe, indiquez son nom exact dans l’en-tête de requête facultatif X-SeedRouter-Group. Remplacez GROUP_NAME ci-dessous par un nom affiché dans Playground. Omettez cet en-tête ou utilisez auto pour conserver le comportement par défaut de la clé.

X-SeedRouter-Group: GROUP_NAME

Une clé API soumise à des restrictions peut donner accès à moins de groupes que Playground. Les requêtes sont facturées selon les tarifs du groupe sélectionné et ne basculent pas vers un autre groupe si celui-ci est indisponible. Cette option prend en charge les appels LLM via HTTP, y compris SSE ; elle ne s’applique pas aux appels WebSocket ni aux appels de génération d’images ou de vidéos.

Pour consulter les groupes disponibles pour une clé API donnée sans générer de réponse du modèle, utilisez cet endpoint en lecture seule. data[].id est la valeur à indiquer dans l’en-tête ; ratio est le multiplicateur de prix du compte pour ce groupe. L’entrée auto correspond à l’estimation actuelle pour la sélection par défaut ; son multiplicateur vaut null lorsqu’aucun groupe par défaut n’est disponible. La disponibilité du groupe est vérifiée à nouveau lors de l’appel au modèle.

curl "https://api.seedrouter.ai/api/seedrouter/llm/groups?model=kimi-k3" \
  -H "Authorization: Bearer YOUR_SEEDROUTER_KEY"