GPT-6 Sol e Luna: Como Escolher o Modelo Certo e Controlar o Custo da API em 2026
Olá HaWkers, a OpenAI apresentou GPT-6 Sol e GPT-6 Luna em 22 de setembro de 2026 e liberou os modelos na API como gpt-6-sol e gpt-6-luna. O anúncio chega depois do GPT-6 Astra e coloca uma pergunta prática na mesa de quem constrói produtos: qual capacidade vale pagar para cada tarefa? A nota oficial de lançamento fala em preços de API 50% menores que os preços promocionais dos respectivos modelos GPT-5.6.
Você precisa migrar tudo para o modelo mais novo ou reservar cada opção para uma parte do fluxo? Neste guia, vamos separar preço por token de custo por tarefa, montar um método de avaliação reproduzível e desenhar uma política simples de escolha. Assim, você decide com dados do próprio produto e mantém uma saída clara caso a qualidade caia.
O Que Mudou com Sol e Luna
A família GPT-6 passou a oferecer Astra, Sol e Luna com propostas diferentes. A documentação oficial de modelos apresenta Astra como a opção de maior capacidade, Sol para fluxos exigentes de código e agentes, e Luna para tarefas focadas em grande volume. Os nomes de API importam: são gpt-6-astra, gpt-6-sol e gpt-6-luna. Use esses identificadores ao configurar seu sistema, e confirme a disponibilidade na sua conta antes de planejar uma troca geral.
A distinção não significa que um modelo tenha uso exclusivo. Uma classificação curta pode exigir Sol se houver casos ambíguos e caros. Um fluxo de pesquisa pode usar Luna nas etapas de triagem e Sol na síntese final. O desenho ideal depende do custo de um erro, da frequência da tarefa e da facilidade de verificar a resposta. Uma resposta bonita em demonstração isolada não informa como o modelo vai se sair nas exceções que seus clientes realmente enviam.
O changelog da API registra o lançamento dos dois modelos em 22 de setembro. Ele informa entrada em texto e imagem, saída em texto e acesso por Responses e Chat Completions. Para fluxos com ferramentas e raciocínio, o guia de modelos orienta usar Responses. Essa diferença importa se você tem um agente que consulta sistemas externos: copiar uma chamada antiga sem revisar os parâmetros pode produzir uma integração que não se comporta como esperado.
O blog já explicou o contexto da família no artigo sobre GPT-6 Astra e suas aplicações em robótica. Aqui o foco é a decisão de produto: quando gastar mais para obter uma resposta melhor e quando uma opção econômica é suficiente. É uma escolha de experiência, margem e confiabilidade, além de engenharia.
Preço por Token Não É Custo por Tarefa
No lançamento, a OpenAI divulgou para o patamar padrão de até 272 mil tokens de entrada US$ 2 por milhão de tokens de entrada e US$ 10 por milhão de saída no Sol; no Luna, US$ 0,10 de entrada e US$ 0,50 de saída. A entrada em cache aparece no changelog por US$ 0,20 no Sol e US$ 0,01 no Luna. São valores em dólares para o recorte documentado, não uma promessa de que qualquer requisição custará exatamente isso. A página de preços também distingue tamanho do contexto e modalidade de processamento; consulte a tabela vigente antes de aprovar orçamento.
Imagine uma tarefa com muitas instruções e uma resposta pequena. O preço de entrada terá peso maior. Em outra, a resposta pode ser longa, e o preço de saída domina. Ferramentas, tentativas adicionais, contexto longo, cache e serviços usados junto da chamada alteram a conta. Por isso, comparar apenas “US$ por milhão” costuma levar a conclusões ruins: um modelo barato que precisa de três tentativas pode sair mais caro que um modelo melhor que resolve na primeira.
A função abaixo calcula só a parte de texto com tarifas que você informar. Os valores de exemplo vêm do changelog de lançamento para o recorte citado. Ela não adiciona ferramentas, contexto longo, impostos ou descontos adicionais. Manter os preços como entrada explícita facilita atualizar a planilha quando a tabela oficial mudar.
const rates = {
sol: { input: 2, cachedInput: 0.20, output: 10 },
luna: { input: 0.10, cachedInput: 0.01, output: 0.50 },
}
function textCost({ input, cachedInput = 0, output }, rate) {
// Separe a entrada em cache para evitar cobrança dupla na estimativa.
const freshInput = Math.max(0, input - cachedInput)
return (
freshInput * rate.input +
cachedInput * rate.cachedInput +
output * rate.output
) / 1_000_000
}
const usage = { input: 12_000, cachedInput: 8_000, output: 1_000 }
console.log({ sol: textCost(usage, rates.sol), luna: textCost(usage, rates.luna) })Esse cálculo é uma estimativa. O valor faturado depende do uso real, do nível de serviço e das regras da tabela aplicável. Guarde tokens de entrada, entrada em cache, saída, tentativas e custo de ferramentas por tarefa concluída. Assim você mede o número que importa para o produto: quanto custa entregar uma resposta aceitável, não apenas executar uma chamada.
Quando Escolher Luna, Sol ou Astra
Comece pelo risco do resultado. Luna é um candidato natural para classificação, extração de campos, rascunhos curtos e outras tarefas frequentes com critério objetivo de aceitação. A descrição oficial do Luna o posiciona para tarefas focadas e em grande volume. Ainda assim, “simples” não quer dizer “sem avaliação”: classificar uma solicitação de cancelamento no setor errado pode aumentar o tempo de atendimento e prejudicar o cliente.
Sol faz mais sentido quando há várias restrições, contexto extenso, ferramentas ou decisões com consequências maiores. O guia oficial o indica para raciocínio forte em tarefas exigentes. Uma revisão de contrato, uma correção de código ou um plano de suporte com histórico longo merecem uma comparação direta com Luna. Se a diferença de qualidade for pequena em seus casos, o modelo econômico pode ser suficiente. Se Sol evitar retrabalho, o custo adicional pode compensar.
Astra permanece como referência para os trabalhos mais difíceis da família, segundo a OpenAI. Isso não obriga a colocá-lo em toda solicitação complexa. Primeiro, defina o que significa êxito: resposta correta, fonte rastreável, formato válido, ação segura e tempo aceitável. Depois compare os três modelos em exemplos do seu fluxo. A escolha deixa de ser uma aposta no nome do modelo e passa a refletir o valor produzido para o usuário.
Uma política inicial pode encaminhar tarefas rotineiras ao Luna, exceções ao Sol e casos críticos ao Astra ou a uma pessoa. Trate isso como hipótese operacional. Se o conteúdo for sensível, a revisão humana pode continuar necessária em qualquer faixa. Se houver uma ação irreversível, peça confirmação do sistema responsável antes de executá-la, independentemente da confiança do texto gerado.
Monte uma Avaliação que Reflita o Seu Produto
Uma avaliação útil começa com exemplos reais e permissão adequada para usá-los. Remova dados pessoais quando possível, inclua situações fáceis e difíceis e registre a resposta esperada ou um critério verificável. Não selecione apenas demonstrações que já deram certo. Falhas raras merecem atenção especial quando causam perda financeira, publicação incorreta ou atendimento ruim.
Separe as tarefas por tipo: extração, decisão, explicação, geração e uso de ferramentas. Dentro de cada grupo, avalie correção, formato, tempo, número de tentativas e intervenção humana. Um único percentual agregado esconde o fato de que um modelo pode ir bem em rascunhos e mal em decisões. O artigo oficial traz resultados de benchmarks próprios; eles mostram capacidade geral, mas não substituem uma avaliação com seus dados e suas regras.
Use o mesmo conjunto de entradas, instruções e critérios para cada modelo. Se mudar o prompt de um e não do outro, você estará comparando dois sistemas diferentes. Registre a versão do prompt, o modelo, o nível de esforço e a data da execução. Quando o fornecedor atualizar o serviço, será possível identificar se a qualidade melhorou ou se houve uma regressão em casos antes resolvidos.
O exemplo a seguir agrega resultados já revisados por pessoas. passed só deve ser marcado depois de aplicar um critério escrito previamente. A função não julga respostas com outra IA; ela calcula métricas de um conjunto de testes para você decidir com transparência.
function summarize(results) {
const total = results.length
if (total === 0) throw new Error("Inclua casos avaliados")
const passed = results.filter(item => item.passed).length
const cost = results.reduce((sum, item) => sum + item.costUsd, 0)
const latency = results.reduce((sum, item) => sum + item.latencyMs, 0)
return {
passRate: passed / total,
costPerAcceptedTask: passed ? cost / passed : Infinity,
meanLatencyMs: latency / total,
}
}
// Cada linha representa uma tarefa completa, inclusive suas tentativas.
const lunaResults = [
{ passed: true, costUsd: 0.002, latencyMs: 800 },
{ passed: false, costUsd: 0.003, latencyMs: 900 },
]
console.log(summarize(lunaResults))Os números desse código são dados fictícios para demonstrar a conta, não resultados medidos da OpenAI nem do blog. Na prática, acompanhe também a distribuição: uma média de latência pode esconder atrasos longos justamente nos casos que importam. Leia amostras de erros e identifique padrões antes de trocar tudo de modelo. Uma regra de encaminhamento bem desenhada pode resolver o problema com menos custo.
Desenhe o Encaminhamento e a Saída de Emergência
Depois da avaliação, converta o resultado em uma regra pequena que qualquer pessoa da equipe consiga auditar. Ela deve considerar tipo de tarefa, risco e necessidade de ferramentas, não palavras mágicas no pedido. A lógica precisa ser determinística sempre que possível, para que você consiga explicar por que uma solicitação foi enviada a um modelo mais caro.
function chooseModel(task) {
// A política é do produto; ajuste os critérios com seus testes reais.
if (task.irreversibleAction || task.highImpact) return "gpt-6-astra"
if (task.requiresTools || task.longContext || task.ambiguous) return "gpt-6-sol"
return "gpt-6-luna"
}
const tasks = [
{ kind: "classify", highImpact: false },
{ kind: "research", requiresTools: true },
{ kind: "approve-transfer", irreversibleAction: true },
]
console.log(tasks.map(task => ({ kind: task.kind, model: chooseModel(task) })))O retorno de chooseModel é uma proposta de roteamento, não autorização para agir. No exemplo de transferência, uma pessoa ou um serviço de aprovação ainda precisa confirmar o efeito. Separe seleção do modelo, geração do texto, validação do resultado e execução da ação. Essa divisão ajuda a reduzir erros e torna a análise de incidentes mais simples.
Defina também uma saída de emergência. Se a resposta falhar no esquema, se a fonte exigida não aparecer ou se o tempo exceder o limite, tente novamente com um modelo apropriado ou encaminhe para revisão. Registre o motivo do desvio. Sem esse registro, um sistema que começou econômico pode passar a mandar quase tudo para a opção mais cara sem que ninguém perceba.
A lógica de fallback deve ter um limite. Repetir indefinidamente uma solicitação ruim consome orçamento e pode multiplicar o erro. Uma tentativa adicional após corrigir um formato pode ser razoável; várias tentativas sem diagnóstico merecem investigação. Meça taxa de fallback junto com custo por tarefa aceita e satisfação do usuário, pois reduzir custo enquanto piora a experiência é uma economia aparente.
Cache, Contexto e Ferramentas na Conta Final
O anúncio oficial destaca melhorias de cache para conversas e agentes. Reutilizar um prefixo de instruções pode reduzir custo de leitura e tempo, mas não transforme isso em um desconto garantido para todas as chamadas. A taxa de acerto depende da estrutura das entradas. Se você insere dados variáveis no começo do prompt, mudanças pequenas podem impedir o reaproveitamento esperado. Observe a métrica real de entrada em cache antes de projetar economia.
Contexto longo também merece cuidado. Ter espaço para muitos tokens não significa que o sistema precise enviar todo o histórico. Remova duplicações, recupere apenas documentos relevantes e resuma o que pode ser resumido com verificação. Quanto maior a entrada, maior a chance de carregar informação obsoleta ou contraditória. O problema de qualidade pode nascer na seleção de contexto, não no modelo.
Ferramentas mudam a economia de um agente. Uma busca, uma chamada a banco ou uma operação em outro serviço pode custar mais que os próprios tokens e adicionar atraso. Se o agente chama a mesma ferramenta várias vezes para responder uma pergunta simples, revise o desenho do fluxo. Separe as etapas que exigem informação atual das que podem ser resolvidas com dados já disponíveis e mantenha rastreável a origem das respostas.
Na API, revise os parâmetros aceitos pelo modelo escolhido. O guia oficial informa que Sol e Luna aceitam esforço de raciocínio none, enquanto Astra não aceita esse nível. Também orienta Responses para ferramentas com raciocínio. Uma migração segura testa formato, ferramentas, latência e custo juntos; trocar só a string do modelo pode alterar o comportamento de uma etapa crítica sem que isso apareça numa comparação superficial.
Perspectivas: Escolher Modelo É Gestão de Produto
O lançamento de Sol e Luna oferece mais opções, mas não elimina o trabalho de medir. Preço por token responde quanto custa o insumo. Custo por tarefa aceita responde quanto custa entregar valor. A diferença inclui falhas, revisões, tempo, ferramentas e danos de uma resposta errada. Quando a equipe enxerga essas partes separadas, consegue investir capacidade onde ela melhora a experiência de fato.
Comece com um conjunto pequeno de casos representativos, compare Luna e Sol, adicione Astra apenas onde o risco ou a qualidade justificar e registre a política de encaminhamento. Reavalie depois de mudanças no produto ou no modelo. O melhor arranjo hoje pode deixar de ser o melhor quando o volume, as tarifas ou o tipo de solicitação mudarem. A fonte final para disponibilidade e preços continua sendo a documentação oficial no momento da contratação.
Bora pra cima! 🦅
📚 Quer Acompanhar o Que Vem Por Aí?
Este artigo cobriu GPT-6 Sol e Luna, mas o ecossistema muda toda semana e nem tudo vira artigo aqui.
No X eu compartilho o que estou testando, os bastidores dos projetos e as novidades que aparecem antes de virarem post.
Me Segue Lá
💡 Conteúdo diário sobre desenvolvimento, carreira e as ferramentas que eu realmente uso

