GPT-5.5 vs GPT-5.6 Luna
Qual usar e quando
gpt-5.6-luna é, com folga, o mais barato dos dois: $0.2 contra $5 por milhão de tokens de entrada, $1.2 contra $30 na saída e $0.02 contra $0.5 nas leituras de cache, 25 vezes menos em cada linha, enquanto os dois têm o mesmo contexto de 1050000 tokens e 128000 tokens de saída máxima. O gpt-5.5 mantém computer use e chamadas de ferramentas em paralelo, que o gpt-5.6-luna não lista, então continua sendo o modelo a fixar para trabalho guiado por ferramentas ou por tela; para texto e código em volume comum, o modelo novo entrega a mesma janela 25 vezes mais barata.
Benchmarks
41 medidos em ambos.
Publicado pelos provedores: Alibaba (Qwen) Anthropic ByteDance DeepSeek Google MiniMax Moonshot OpenAI Tencent Z.ai
Preços
| GPT-5.5 | GPT-5.6 Luna | Δ | |
|---|---|---|---|
| Entrada / 1M tokens | $5 | $0.2 | 25× |
| Saída / 1M tokens | $30 | $1.2 | 25× |
| Leitura de cache / 1M tokens | $0.5 | $0.02 | 25× |
| Escrita de cache | sem cobrança separada | sem cobrança separada | - |
Tarifas do catálogo em tempo real, lidas no momento do build; a página de cada modelo traz a tabela de preços atual.
Onde cada um fica: preço de entrada por 1M tokens entre os 78 modelos de chat com esta unidade de cobrança (escala logarítmica)
Capacidades
| GPT-5.5 | GPT-5.6 Luna | |
|---|---|---|
| Uso de ferramentas | sim | sim |
| Controle de raciocínio | configurável | configurável |
| Saída estruturada | sim | sim |
| Cache de prompts | implícito (automático) | implícito (automático) |
| Tempo de vida do cache | 5-10m, up to 1h | 5-10m, up to 1h |
| Prefixo mínimo em cache | 1024 tokens | 1024 tokens |
Especificações
| GPT-5.5 | GPT-5.6 Luna | |
|---|---|---|
| Modalidades de entrada | texto imagem | texto imagem |
| Modalidades de saída | texto | texto |
| Lançamento | 2026-04-24 | 2026-07-09 |
| Corte de conhecimento | 2025-12 | 2026-02 |
| Janela de contexto | 1.1M | 1.1M |
| Saída máxima | 128K | 128K |
| Parâmetro de raciocínio | reasoning.effort | reasoning.effort |
| Valores aceitos | reasoning.effort
| reasoning.effort
|
| Padrão | medium | medium |
As especificações são transcritas da documentação de cada provedor; quando um provedor não publica um dado, a linha é omitida, e não inferida. Fontes completas: GPT-5.5 · GPT-5.6 Luna
Um prompt, os dois modelos, medidos pelo gateway
GPT-5.5 passou · 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.
saída 131 tok (+42 raciocínio) latência 2.9 s
GPT-5.6 Luna passou · 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.
saída 146 tok (+60 raciocínio) latência 3.1 s
Se a instrução é seguida (exatamente três frases, dá para contar), a adequação ao público (tom para um CFO) e a diferença de cobrança causada pelo raciocínio oculto, que os medidores de tokens abaixo deixam à mostra.
GPT-5.5 passou · 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.
saída 401 tok (+182 raciocínio) latência 5.9 s
GPT-5.6 Luna passou · 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.
saída 356 tok (+161 raciocínio) latência 4.7 s
Se a correção está mesmo certa (dá para executar), a densidade da explicação e a eficiência em tokens em uma tarefa bem delimitada.
GPT-5.5 passou · 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"}
saída 557 tok (+512 raciocínio) latência 6.7 s
GPT-5.6 Luna passou · 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"}
saída 227 tok (+181 raciocínio) latência 3.6 s
Aderência ao schema (sem campos inventados), pressão para alucinar (o texto diz explicitamente que o guidance não foi divulgado) e diferenças no caminho de saída estruturada.
GPT-5.5 passou · 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.
saída 859 tok (+700 raciocínio) latência 8.7 s
GPT-5.6 Luna passou · 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. […]
saída 948 tok (+778 raciocínio) latência 8.0 s
Respeito às restrições (limite de palavras, lista de palavras proibidas, uma única pergunta), a marca de estilo de cada modelo e o controle do tamanho.
Troque de um para o outro mudando uma linha
Os dois ids estão em todas as abas abaixo; o par de linhas destacado é a única alteração. O endpoint, a chave e o formato da requisição são os mesmos.
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", # descomente esta linha, comente a linha acima
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", // descomente esta linha, comente a linha acima
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", # descomente esta linha, comente a linha acima
"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", // descomente esta linha, comente a linha acima
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") // descomente esta linha, comente a linha acima
.addUserMessage("Summarize this diff")
.reasoningEffort(ReasoningEffort.MEDIUM)
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));Perguntas frequentes
Qual é mais barato, GPT-5.5 ou GPT-5.6 Luna?
GPT-5.6 Luna sai mais barato na linha “Entrada / 1M tokens” ($0.2 contra $5, 25× de diferença). Outras linhas podem pender para o outro lado: a tabela acima mostra todos os preços, e o custo real depende do seu mix de uso.
Posso fazer um teste A/B de GPT-5.5 contra GPT-5.6 Luna sem duas integrações?
Sim. Os dois são servidos pelo mesmo endpoint compatível com OpenAI, com uma única chave de API. Para trocar, basta mudar uma linha, a string do modelo; assim você pode direcionar uma parte do tráfego para cada um e comparar as contas diretamente.
GPT-5.5 e GPT-5.6 Luna suportam cache de prompts?
Sim. Os dois cobram as leituras de cache abaixo da tarifa de entrada, então cargas de trabalho com prefixo já em cache custam menos do que os preços de tabela sugerem. Os valores exatos de leitura de cache estão na tabela de preços acima.