Claude Opus 5.5 ya está disponible en SeedRouter
SeedRouter Docs

Kimi K3

Usa Kimi K3 con la API oficial de Chat Completions, Responses o Anthropic Messages: ventana de contexto de 1M tokens, razonamiento siempre activo y el nivel de razonamiento que elijas.

View Markdown

Kimi K3 es el modelo insignia de Moonshot AI para programación de largo recorrido, agentes y trabajo del conocimiento. Siempre razona antes de responder, y tú eliges cuánto con reasoning_effort. Envía la solicitud oficial de Kimi a SeedRouter: cambia la URL base y la clave API, mantén el cuerpo.

ID de modelo

ID de modeloVentana de contextoSalida máximaNivel de razonamientoNivel de razonamiento predeterminado
kimi-k31,048,576 tokens1,048,576 tokens (131,072 predeterminado)low, high, maxmax

Entrada: texto e imágenes. Salida: texto. Consulta la página del modelo para ver los precios actuales.

Ejemplo rápido

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."}]
  }'

Endpoints

FormatoMétodo y rutaAutenticación
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> o Authorization: Bearer <key>, más anthropic-version

Los tres devuelven el formato de respuesta oficial de Kimi, con o sin streaming. Mantén la clave API en el código del lado del servidor.

Parámetros

Campos de Chat Completions:

NombreTipoObligatorioPredeterminadoNotas
modelstringSí—kimi-k3.
messagesobject[]Sí—Mensajes de texto; imágenes como partes image_url (consulta Entrada de imágenes).
max_completion_tokensintegerNo131072Hasta 1048576. Incluye los tokens de razonamiento. max_tokens es el nombre obsoleto del mismo límite.
reasoning_effortenumNomaxlow, high o max. Cualquier otro valor devuelve 400.
stopstring or string[]No—Hasta 5 secuencias.
response_formatobjectNo{"type": "text"}text, json_object o json_schema (con json_schema.name y json_schema.schema).
toolsobject[]No—Herramientas de función.
tool_choicestring or objectNoautoSe aplican auto y none. required y una función con nombre se aceptan, pero no fuerzan una llamada.
streambooleanNofalseTransmite server-sent events.
stream_options.include_usagebooleanNofalseAñade el chunk final de uso.
prompt_cache_optionsobjectNo{"mode": "implicit", "ttl": "5m"}mode: implicit. ttl: 5m o 1h.
prompt_cache_key, safety_identifier, prediction—No—Se aceptan.
logprobs, top_logprobs—No—Se aceptan (top_logprobs de 0 a 20), pero no se devuelven probabilidades logarítmicas.
temperature, top_p, n, presence_penalty, frequency_penalty—No1.0, 0.95, 1, 0, 0Fijos. Cualquier otro valor devuelve 400, así que no los envíes.

Razonamiento y nivel de razonamiento

Kimi K3 siempre razona; no hay forma de desactivarlo. reasoning_effort fija cuánto: max (el predeterminado) para el trabajo más difícil, high para la mayoría de las tareas y low para pasos rápidos y sencillos. El razonamiento se devuelve en reasoning_content, junto a content. Los tokens de razonamiento se facturan como tokens de salida y cuentan para max_completion_tokens.

En conversaciones de varios turnos y llamadas a herramientas, devuelve cada mensaje del asistente sin cambios, incluido su reasoning_content.

Entrada de imágenes

Kimi K3 recibe imágenes como data URI en base64. Una URL pública de imagen no se acepta y devuelve 400, igual que en la API de Kimi.

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

Caché de contexto

La caché es automática: un prefijo de prompt repetido se lee desde la caché a la tarifa reducida de entrada en caché. prompt_cache_options.ttl elige cuánto tiempo permanece en caché un prefijo escrito, 5m (el predeterminado) o 1h; elige 1h cuando tus solicitudes estén separadas por más de cinco minutos. usage.prompt_tokens_details.cached_tokens informa de los tokens leídos desde la caché y cache_write_tokens de las escrituras en caché facturadas en la solicitud.

Dimensiones de facturación

Consulta las tarifas actuales en la página del modelo. Una solicitud se factura por los tokens que utiliza:

  • tokens de entrada,
  • tokens de entrada en caché (cached_tokens),
  • tokens de escritura en caché (cache_write_tokens),
  • tokens de salida, incluido el razonamiento.

Los precios no cambian con la longitud del contexto. El cargo se calcula a partir del usage que acompaña a la respuesta finalizada. Una solicitud fallida no se cobra. Los registros de uso de tu cuenta muestran el cargo exacto de cada solicitud.

Salida

Una solicitud de Chat Completions sin streaming devuelve:

{
  "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}
  }
}

Con "stream": true cada chunk lleva un delta con reasoning_content o content. Con stream_options.include_usage, un último chunk con un array choices vacío lleva el uso antes de data: [DONE].

Responses API y Codex

POST /v1/responses acepta el cuerpo de Responses: input, instructions, max_output_tokens, reasoning.effort (low, high, max), text.format (json_schema), tools (function y la herramienta personalizada apply_patch), tool_choice, stream, prompt_cache_options, prompt_cache_key y safety_identifier. El razonamiento se devuelve como un elemento reasoning con una parte summary_text, y un flujo lleva eventos numerados desde response.created hasta response.completed. La API no guarda estado: previous_response_id y conversation se ignoran, así que envía toda la conversación en input. La herramienta web_search se ignora.

Para usar Kimi K3 en Codex, añade un provider a ~/.codex/config.toml y define 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"

Formato Anthropic Messages

El código escrito para la API de Anthropic Messages también puede llamar a Kimi K3: envía el cuerpo de Messages a /v1/messages con "model": "kimi-k3". Se aplican system, max_tokens, tools, tool_choice (auto, none) y output_config.effort (low, high, max), y se aceptan metadata.user_id y cache_control. stop_sequences (hasta 5), tool_choice any y output_config.format se aceptan, pero no tienen efecto. El razonamiento se devuelve como bloques thinking. Las imágenes se envían como fuentes base64.

Errores

Los errores usan {"error": {"code": ..., "message": "..."}} (el endpoint de Messages usa el formato de error de Anthropic). El code es un código del catálogo de errores común. Las solicitudes fallidas no se facturan.

Consejos

  • Empieza con el nivel de razonamiento high y pasa a max solo para los problemas más difíciles; low va bien para pasos rápidos y sencillos.
  • Establece max_completion_tokens lo bastante alto para el razonamiento y para la respuesta: es un único presupuesto para ambos.
  • Coloca el contexto largo y reutilizado al inicio del prompt para que las solicitudes posteriores lo lean desde la caché, y usa el TTL 1h cuando las solicitudes estén espaciadas.

Relacionado