GPT-5.5 vs GPT-5.6 Luna
Cuál usar y cuándo
gpt-5.6-luna es, con mucha diferencia, el más barato de los dos: $0.2 frente a $5 por millón de tokens de entrada, $1.2 frente a $30 en salida y $0.02 frente a $0.5 en lecturas de caché, 25 veces menos en cada línea, mientras que ambos tienen el mismo contexto de 1050000 tokens y 128000 tokens de salida máxima. gpt-5.5 conserva computer use y las llamadas a herramientas en paralelo, que gpt-5.6-luna no lista, así que sigue siendo el que conviene fijar para trabajo guiado por herramientas o por pantalla; para texto y código en volumen normal, el modelo nuevo da la misma ventana 25 veces más barata.
Benchmarks
41 medidos en ambos.
Publicado por los proveedores: Alibaba (Qwen) Anthropic ByteDance DeepSeek Google MiniMax Moonshot OpenAI Tencent Z.ai
Precios
| GPT-5.5 | GPT-5.6 Luna | Δ | |
|---|---|---|---|
| Entrada / 1M tokens | $5 | $0.2 | 25× |
| Salida / 1M tokens | $30 | $1.2 | 25× |
| Lectura de caché / 1M tokens | $0.5 | $0.02 | 25× |
| Escritura en caché | sin cargo aparte | sin cargo aparte | - |
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 78 modelos de chat que se facturan en esta unidad (escala logarítmica)
Capacidades
| GPT-5.5 | GPT-5.6 Luna | |
|---|---|---|
| Uso de herramientas | sí | sí |
| Control del razonamiento | configurable | configurable |
| Salida estructurada | sí | sí |
| Caché de prompts | implícito (automático) | implícito (automático) |
| Duración de la caché | 5-10m, up to 1h | 5-10m, up to 1h |
| Prefijo mínimo en caché | 1024 tokens | 1024 tokens |
Especificaciones
| GPT-5.5 | GPT-5.6 Luna | |
|---|---|---|
| Modalidades de entrada | texto imagen | texto imagen |
| Modalidades de salida | texto | texto |
| Lanzamiento | 2026-04-24 | 2026-07-09 |
| Corte de conocimiento | 2025-12 | 2026-02 |
| Ventana de contexto | 1.1M | 1.1M |
| Salida máxima | 128K | 128K |
| Parámetro de razonamiento | reasoning.effort | reasoning.effort |
| Valores aceptados | reasoning.effort
| reasoning.effort
|
| Valor por defecto | medium | medium |
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-5.5 · GPT-5.6 Luna
Un mismo prompt en los dos modelos, medido a través de la pasarela
GPT-5.5 superado · 3 sentences
Enabling reasoning makes the model do additional internal “thinking” before producing the final answer, which consumes more compute and billable tokens. Even if user volume and output length stayed the same, each request now costs more because the model is spending extra capacity to solve the problem. In short, we bought higher-quality answers, but the unit cost per answer increased enough to double the total LLM bill.
salida 131 tok (+42 razonamiento) latencia 2.9 s
GPT-5.6 Luna superado · 3 sentences
Enabling reasoning causes the model to use substantially more computational steps and generated tokens per request, even when the visible answer is similar. Because our provider charges based largely on token consumption and compute, that increased processing translated into roughly twice the cost. We can control the expense by reserving reasoning for complex tasks, setting token and effort limits, and monitoring cost per successful outcome.
salida 146 tok (+60 razonamiento) latencia 3.1 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-5.5 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 else: cur = 1 best = max(best, cur) return best ``` The bug was that `cur` and `best` were counting the number of equal *adjacent comparisons*, not the number of items in the run. A run of one item has length `1`, but the original code initialized both values to `0`, so single-element inputs returned `0`. Similarly, a run like `[2, 2, 2]` has length `3`, but only two adjacent equal comparisons, so the result was off by one. Also, `best` should be updated after every element is processed, not only inside the equality branch, so runs that continue through the final index are properly considered.
salida 401 tok (+182 razonamiento) latencia 5.9 s
GPT-5.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: best = max(best, cur) cur = 1 return max(best, cur) ``` The bug is that `cur` counts equal *transitions* rather than the number of items in the current run, so a single-element run returns `0` and a run of length `n` returns `n - 1`; additionally, `best` is only updated when a run is interrupted, so a run continuing through the final element is not finalized before returning. Initializing the current run to one item, resetting it to one after a change, and taking a final `max` fixes both issues.
salida 356 tok (+161 razonamiento) latencia 4.7 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-5.5 superado · 5/5 fields, guidance "withheld pending the Q4 close"
{"company":"Meridian Robotics","quarter":"September quarter","revenue_usd_m":412,"growth_pct":11,"guidance":"withheld pending the Q4 close"}
salida 557 tok (+512 razonamiento) latencia 6.7 s
GPT-5.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 227 tok (+181 razonamiento) latencia 3.6 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-5.5 superado · 120 words, 0 banned, 1 question
Today we’re introducing Prompt Cache Routing, a new API gateway feature that stores reusable prompt prefixes and applies them across leading model providers. Teams can reduce latency, lower token spend, and keep application logic portable without rewriting requests for each vendor. Have you ever paid twice to send the same system instructions? With shared cache keys, provider-aware metadata, and automatic fallback handling, the gateway detects eligible prompt segments, reuses cached context, and records savings in your existing observability dashboards. Policies let admins set retention windows, data boundaries, and provider allowlists by workspace or environment. Prompt Cache Routing is available now in beta for Pro and Enterprise customers, with SDK support, Terraform resources, and clear migration guides included at launch worldwide.
salida 859 tok (+700 razonamiento) latencia 8.7 s
GPT-5.6 Luna superado · 120 words, 0 banned, 1 question
Introducing PromptCache, an API gateway feature that caches prompts across providers, helping teams reduce latency, control spend, and deliver consistent results. How much faster could your applications respond when repeated prompts are served from a shared cache instead of being sent upstream? PromptCache supports provider-aware routing, configurable time-to-live policies, encrypted storage, cache invalidation, and usage analytics through one operational layer. It works with language-model providers while preserving your authentication, observability, and fallback workflows. Developers can enable caching by endpoint, model, tenant, or prompt pattern, then monitor hit rates and savings in real time. Built for production workloads, PromptCache gives platform teams controls for performance and cost without requiring application rewrites. […]
salida 948 tok (+778 razonamiento) latencia 8.0 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-5.5",
# model="gpt-5.6-luna", # 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-5.5",
// model: "gpt-5.6-luna", // 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-5.5",
# "model": "gpt-5.6-luna", # 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-5.5",
// Model: "gpt-5.6-luna", // 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-5.5")
// .model("gpt-5.6-luna") // 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-5.5 o GPT-5.6 Luna?
GPT-5.6 Luna es más barato en Entrada / 1M tokens ($0.2 frente a $5, una diferencia de 25×). 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-5.5 frente a GPT-5.6 Luna 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-5.5 y GPT-5.6 Luna 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.