GPT-6 Luna vs Kimi K2.7 Code
Cuál usar y cuándo
gpt-6-luna es la opción más barata y amplia: $0.1 de entrada y $0.5 de salida por millón frente a $0.95 y $4 de kimi-k2.7-code (9.5x en entrada, 8x en salida), con un contexto de 1050000-token y una salida máxima de 128000 frente a 256000 y 32768, además de la opción de desactivar el thinking. Elige kimi-k2.7-code cuando tus entradas incluyan video, el cual acepta y gpt-6-luna no; por lo demás, ambos cubren entrada de texto e imagen, y salida de texto, con código, herramientas y razonamiento. Las lecturas de caché cuestan $0.01 frente a $0.19, ampliando aún más la brecha en cargas de trabajo que reutilizan prompts largos.
Benchmarks
Publicado por los proveedores: Alibaba (Qwen) Anthropic DeepSeek Google Moonshot OpenAI Z.ai
Precios
| GPT-6 Luna | Kimi K2.7 Code | Δ | |
|---|---|---|---|
| Entrada / 1M tokens | $0.1 | $0.95 | 0.11× |
| Salida / 1M tokens | $0.5 | $4 | 0.13× |
| Lectura de caché / 1M tokens | $0.01 | $0.19 | 0.053× |
| Escritura en caché | 1.25x (30m) / 2.5x (12h) | - | - |
Tarifas tomadas del catálogo en vivo al generar el sitio; la página de cada modelo tiene la ficha de precios actualizada.
Dónde queda cada uno: precio de entrada por 1M de tokens entre los 83 modelos de chat que se facturan en esta unidad (escala logarítmica)
Capacidades
| GPT-6 Luna | Kimi K2.7 Code | |
|---|---|---|
| Uso de herramientas | sí | sí |
| Control del razonamiento | configurable | siempre activo |
| Salida estructurada | sí | - |
| Caché de prompts | implícito + explícito | implícito (automático) |
| Duración de la caché | at least 30m by default, 12h option on the Responses API | no publicado |
| Prefijo mínimo en caché | 1,024 tokens | no publicado |
Especificaciones
| GPT-6 Luna | Kimi K2.7 Code | |
|---|---|---|
| Modalidades de entrada | texto imagen | texto imagen vídeo |
| Modalidades de salida | texto | texto |
| Lanzamiento | 2026-09-22 | 2026-06 |
| Corte de conocimiento | 2026-05 | - |
| Ventana de contexto | 1.1M | 256K |
| Salida máxima | 128K | 33K |
| Parámetro de razonamiento | reasoning.effort |
|
| Valores aceptados | reasoning.effort
| type
keep
|
| Valor por defecto | medium | thinking on with Preserved Thinking on |
Las especificaciones se transcriben de la documentación de cada proveedor; si un proveedor no publica un dato, la fila se omite en vez de deducirlo. Fuentes completas: GPT-6 Luna · Kimi K2.7 Code
Un mismo prompt en los dos modelos, medido a través de la pasarela
GPT-6 Luna superado · 3 sentences
Enabling reasoning typically makes the model process more information and generate more internal tokens before producing its answer. Because usage is billed by tokens—and reasoning may also route requests to a more expensive model—the cost per request can rise sharply. If request volume stayed similar, that higher cost per request could explain why the bill doubled.
salida 117 tok (+48 razonamiento) latencia 3.4 s
Kimi K2.7 Code superado · 3 sentences
Enabling reasoning mode causes the model to generate an internal chain-of-thought before producing each answer, and that hidden reasoning text is billed like any other output. Those extra reasoning tokens typically add up to much more than the final response itself, so every API call now costs significantly more than before. Because our overall usage volume did not change, the doubled bill reflects that each query consumes roughly twice as many billable tokens.
salida 259 tok (+174 razonamiento) latencia 5.4 s
Cumplimiento de la instrucción (exactamente tres frases, se pueden contar), adaptación al público (registro de CFO) y la diferencia de facturación por razonamiento oculto que dejan ver los contadores de tokens de abajo.
GPT-6 Luna superado · 8/8 cases
```python def longest_run(xs): if not xs: return 0 best = cur = 1 for i in range(1, len(xs)): if xs[i] == xs[i - 1]: cur += 1 else: cur = 1 best = max(best, cur) return best ``` The original code counted matching *adjacent pairs* rather than items, so a run of length `n` was reported as `n - 1`, and a single-item input returned `0`. This version counts the current item as part of each run and updates `best` at every index, including the last; it returns `0` for an empty input.
salida 514 tok (+356 razonamiento) latencia 6.9 s
Kimi K2.7 Code superado · 8/8 cases
```python def longest_run(xs): if not xs: return 0 best = 1 cur = 1 for i in range(1, len(xs)): if xs[i] == xs[i - 1]: cur += 1 best = max(best, cur) else: cur = 1 return best ``` The bug is that the function counts *transitions* between equal neighbors instead of counting the items themselves, so a single-element list never enters the loop and returns `0` instead of `1`. Likewise, resetting `cur` to `0` on a mismatch forgets the current item that starts a new run, which causes runs that end at the last index to be undercounted. Initializing both `best` and `cur` to `1` and resetting `cur` to `1` fixes both issues.
salida 410 tok (+222 razonamiento) latencia 9.4 s
Si la corrección funciona de verdad (se puede ejecutar), lo densa que es la explicación y la eficiencia en tokens en una tarea acotada.
GPT-6 Luna superado · 5/5 fields, guidance "Withheld pending the Q4 close"
{"company":"Meridian Robotics","quarter":"September quarter","revenue_usd_m":412,"growth_pct":null,"guidance":"Withheld pending the Q4 close"}
salida 161 tok (+119 razonamiento) latencia 21.7 s
Kimi K2.7 Code superado · 5/5 fields, guidance "withheld pending the Q4 close"
```json { "company": "Meridian Robotics", "quarter": "September quarter", "revenue_usd_m": 412, "growth_pct": 11, "guidance": "withheld pending the Q4 close" } ```
salida 721 tok (+663 razonamiento) latencia 13.2 s
Respeto del esquema (sin campos inventados), tentación de alucinar (la guidance se omite a propósito) y diferencias entre las vías de salida estructurada.
GPT-6 Luna superado · 120 words, 0 banned, 1 question
Introducing Prompt Cache, a new API gateway feature that recognizes repeat prompt prefixes and reuses provider-side cached context across supported models. Teams can route requests to different AI providers while preserving eligible cache hits, reducing redundant input processing and helping lower latency and token costs. Configure cache policies in one place, monitor hit rates by provider, and keep existing client integrations unchanged. The gateway applies provider-specific rules automatically, so developers do not need to build separate caching logic for each endpoint. Which workflows could benefit from faster responses and predictable spend? Prompt Cache is available today in preview for eligible accounts, with usage details, supported providers, and setup guidance in the dashboard. Start with one route, compare results, then expand.
salida 959 tok (+813 razonamiento) latencia 14.6 s
Kimi K2.7 Code superado · 120 words, 0 banned, 1 question
We're introducing Prompt Cache for our API Gateway, a new capability that stores prompt responses across multiple AI providers. By caching replies, you reduce redundant calls, lower latency, and cut costs without changing how you build. Teams using several model providers can now reuse identical prompt results instantly, keeping traffic consistent and budgets predictable. Responses are keyed by provider, model, and exact prompt, so you always get the right result. Configure TTL, hit thresholds, and eviction rules from a single dashboard. It fits into your existing routing and requires no code changes. Setup takes minutes and works with your current endpoints. Want to see how much latency and spend you can trim? Check the docs to enable Prompt Cache today.
salida 2375 tok (+2235 razonamiento) latencia 38.6 s
Respeto de las restricciones (límite de palabras, lista de palabras prohibidas, una única pregunta), sello de estilo y control de la longitud.
Cambia de uno a otro con una sola línea
Los dos ids aparecen en todas las pestañas de abajo; lo único que cambia es el par de líneas resaltadas. El endpoint, la clave y la estructura de la solicitud son los mismos.
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.chat.completions.create(
model="gpt-6-luna",
# model="kimi-k2.7-code", # descomenta esta línea, comenta la de arriba
messages=[{"role": "user", "content": "Summarize this diff"}],
reasoning_effort="medium",
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://synthorai.io/v1",
apiKey: "sk-syn-...",
});
const resp = await client.chat.completions.create({
model: "gpt-6-luna",
// model: "kimi-k2.7-code", // descomenta esta línea, comenta la de arriba
messages: [{ role: "user", content: "Summarize this diff" }],
reasoning_effort: "medium",
});
console.log(resp.choices[0].message.content);curl https://synthorai.io/v1/chat/completions \
-H "Authorization: Bearer sk-syn-..." \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6-luna",
# "model": "kimi-k2.7-code", # descomenta esta línea, comenta la de arriba
"messages": [{"role": "user", "content": "Hello"}],
"reasoning_effort": "medium"
}'package main
import (
"context"
"fmt"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/option"
)
func main() {
client := openai.NewClient(
option.WithBaseURL("https://synthorai.io/v1"),
option.WithAPIKey("sk-syn-..."),
)
resp, _ := client.Chat.Completions.New(context.TODO(), openai.ChatCompletionNewParams{
Model: "gpt-6-luna",
// Model: "kimi-k2.7-code", // descomenta esta línea, comenta la de arriba
Messages: []openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Summarize this diff"),
},
ReasoningEffort: openai.ReasoningEffortMedium,
})
fmt.Println(resp.Choices[0].Message.Content)
}import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.chat.completions.*;
import com.openai.models.ReasoningEffort;
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://synthorai.io/v1")
.apiKey("sk-syn-...")
.build();
ChatCompletion resp = client.chat().completions().create(
ChatCompletionCreateParams.builder()
.model("gpt-6-luna")
// .model("kimi-k2.7-code") // descomenta esta línea, comenta la de arriba
.addUserMessage("Summarize this diff")
.reasoningEffort(ReasoningEffort.MEDIUM)
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));Preguntas frecuentes
¿Cuál es más barato, GPT-6 Luna o Kimi K2.7 Code?
GPT-6 Luna es más barato en Entrada / 1M tokens ($0.1 frente a $0.95, una diferencia de 9.5×). En otras filas puede ser al revés: la tabla de arriba recoge todas las tarifas, y el coste real depende de tu combinación de uso.
¿Puedo hacer pruebas A/B de GPT-6 Luna frente a Kimi K2.7 Code sin dos integraciones?
Sí. Los dos se sirven desde el mismo endpoint compatible con OpenAI y con una sola clave API. Para cambiar de uno a otro basta con tocar una línea, el nombre del modelo, así que puedes mandar una parte del tráfico a cada uno y comparar directamente las facturas.
¿Admiten GPT-6 Luna y Kimi K2.7 Code caché de prompts?
Sí. Los dos cobran las lecturas de caché por debajo de su tarifa de entrada, así que las cargas de trabajo que reutilizan un prefijo ya cacheado cuestan menos de lo que sugieren los precios de lista. Las tarifas exactas de lectura de caché están en la tabla de precios de arriba.