Na API do Gemini, gemini-2.5-flash e gemini-2.5-pro passarão a ser redirecionados automaticamente para outros modelos a partir de 1º de dezembro de 2026. As solicitações continuam passando sem que você mude o nome do modelo, mas quem responde é um modelo mais novo, e a cobrança segue as tarifas desse modelo mais novo. O Google anunciou o plano no registro de alterações da API do Gemini em 2 de novembro de 2026.
Segundo um e-mail que o Google enviou aos usuários do AI Studio, se você envia uma única solicitação de texto ou imagem e recebe uma resposta, seu código continua funcionando como está. O problema está no código que usa function calling, histórico de conversa montado por você ou ajustes finos como thinking_budget e temperature. Os modelos novos são mais rígidos com o que aceitam, então as solicitações podem falhar com erro HTTP 400 ou os ajustes podem ser ignorados sem aviso. Este artigo mostra como verificar se o seu código é afetado e como migrar antes de 1º de dezembro (consultado em 7 de novembro de 2026).
O que acontece em 1º de dezembro
gemini-2.5-flash
gemini-3.5-flash-lite
Cobrado pelas tarifas do 3.5 Flash-Lite
gemini-2.5-pro
gemini-3.8-flash
Cobrado pelas tarifas do 3.8 Flash
Continua funcionando
Solicitações de um só turno com texto, imagem, vídeo e áudio. O gemini-2.5-flash-lite não é afetado.
Quebra ou muda se você não corrigir
Function calling (quando você monta o histórico por conta própria), thinking_budget, temperature, top_p e top_k, um último turno do modelo e solicitações com candidate_count em 2 ou mais.
1. O que muda
De acordo com a página “Gemini deprecations” do Google e com o registro de alterações, os dois modelos serão tratados como mostrado abaixo. Nenhum dos dois pode mais ser selecionado no Google AI Studio, e só quem já os usava ainda consegue chamá-los pela API.
| Modelo atual | Destino do redirecionamento a partir de 1º de dezembro | Cobrança | Guia de migração do Google |
|---|---|---|---|
Flashgemini-2.5-flash | gemini-3.5-flash-lite | Tarifas do 3.5 Flash-Lite | Migrate to gemini-3.5-flash-lite |
Progemini-2.5-pro | gemini-3.8-flash | Tarifas do 3.8 Flash | Migrate to gemini-3.8-flash |
Fontes: Google, “Gemini API changelog” (registro de 2 de novembro de 2026) e “Gemini deprecations” (consultados em 7 de novembro de 2026). Observe que o 2.5 Pro é redirecionado para a linha Flash, e não para um modelo Pro.
Apesar dos nomes parecidos, os modelos abaixo não fazem parte do redirecionamento de 1º de dezembro.
| Modelo | Cronograma (tabela de Gemini deprecations) |
|---|---|
gemini-2.5-flash-lite | Nenhuma data de desligamento anunciada (continua disponível na API por enquanto) |
gemini-2.5-flash-image | Desligamento não antes de 15 de março de 2027. Substituto recomendado: gemini-3.1-flash-lite-image |
gemini-2.5-flash-preview-tts e gemini-2.5-pro-preview-tts | Desligamento não antes de 17 de novembro de 2026. Substituto recomendado: gemini-3.8-flash-tts ou gemini-3.8-flash-lite-tts |
As datas de desligamento da tabela significam “a partir desta data, no mínimo”, e o Google diz que avisará a data exata com antecedência. O redirecionamento automático de gemini-2.5-flash e gemini-2.5-pro tem data fixa: “1º de dezembro de 2026”.
- 2 de novembro de 2026O Google anuncia a mudançaPublicada no registro de alterações. Os modelos deixam de poder ser selecionados no AI Studio.
- Agora (7 de novembro de 2026)Período de migraçãoVocê pode trocar para os novos nomes de modelo e testar no seu próprio ritmo.
- 1º de dezembro de 2026Redirecionamento automáticoAs solicitações com os nomes antigos são respondidas pelos modelos novos e cobradas pelas tarifas dos modelos novos.
- Até 31 de dezembro de 2026 → a partir de 1º de janeiro de 2027Fim do preço de lançamento do 3.8 FlashAs tarifas do destino do 2.5 Pro sobem (seção 4).
2. Seu código é afetado? (tabela de verificação)
Os dois modelos novos seguem as regras de solicitação introduzidas com o Gemini 3.6 Flash e o 3.5 Flash-Lite e modelos posteriores. Abaixo estão as diferenças listadas nos guias de migração do Google, organizadas pela forma como o seu código está escrito.
| Como o seu código está escrito | A partir de 1º de dezembro | O que fazer |
|---|---|---|
| Solicitações de um só turno com texto, imagem, vídeo ou áudio | Continua funcionando (responde outro modelo) | Verificar a qualidade das respostas e o custo no modelo novo |
| Com function calling, você recria o turno do modelo por conta própria e o adiciona ao histórico | A thought_signature se perde, e o modelo não consegue dar continuidade ao raciocínio anterior (pode causar erros ou comportamento inesperado) | Devolver ao histórico o conteúdo recebido sem alterações (3-4) |
O FunctionResponse não tem id | O guia de migração do Google exige esse campo | Incluir o id e o name do FunctionCall (3-4) |
Você define a quantidade de raciocínio com thinking_budget | Os modelos novos usam thinking_level. Orçamentos numéricos precisam ser substituídos | Trocar para thinking_level (3-2) |
| Você não especifica a quantidade de raciocínio | O destino do 2.5 Flash usa minimal por padrão (quase não raciocina) | Para ferramentas ou trabalho em várias etapas, definir medium ou mais |
Você define temperature, top_p ou top_k | Ignorados sem erro (a variação das saídas muda) | Removê-los e colocar as regras de saída na instrução do sistema (3-3) |
| O último turno (não vazio) é do modelo (você preenche o começo da resposta) | Erro HTTP 400 | Usar uma instrução do sistema ou saída estruturada no lugar (3-5) |
candidate_count está em 2 ou mais | Erro HTTP 400 (não é compatível com o Gemini 3 e posteriores) | Remover. Se precisar de várias opções, fazer várias chamadas (3-5) |
Fontes: Google, “What's new in Gemini 3.6 Flash and 3.5 Flash-Lite” e “What's new in Gemini 3.8 Flash”, e um e-mail do Google aos usuários do AI Studio (3 de novembro de 2026). O erro HTTP 400 com candidate_count em 2 ou mais vem do e-mail do Google; a falta de compatibilidade com o Gemini 3 e posteriores vem do guia de migração. A correspondência de id e name no function calling aparece tanto no guia de migração quanto no e-mail. O guia de migração do 3.8 Flash fala em call_id, mas no generateContent o campo do FunctionResponse se chama id (um campo opcional na referência da API).
O jeito mais rápido de achar os pontos afetados no seu código é uma busca por texto. Os SDKs de Python e JavaScript e o JSON do REST escrevem os nomes de formas diferentes (thinking_budget e thinkingBudget, por exemplo), então use padrões que peguem as duas formas.
# Nomes de modelo afetados (sem o 2.5-flash-lite)
grep -rnE "gemini-2\.5-(flash|pro)([^-]|$)" .
# Ajustes que quebram ou são ignorados
grep -rnE "thinking_?[bB]udget|temperature|top_?[pPkK]|candidate_?[cC]ount" .
# Pontos que devolvem resultados de chamadas de função
grep -rnE "function_?[rR]esponse|FunctionResponse" .
Se você guarda os nomes de modelo em arquivos de configuração ou variáveis de ambiente, procure neles também. Depois de associar cada resultado a uma linha da tabela, você saberá quanto precisa ser corrigido.
3. Passos da migração
Recomendamos trocar você mesmo para os novos nomes de modelo, passar nos seus testes e só então levar para produção, em vez de esperar 1º de dezembro. Se você deixar tudo por conta do redirecionamento automático, tudo o que quebrar vai aparecer em produção de uma só vez. Os exemplos de código usam generateContent no SDK de Python do Google (google-genai).
- Trocar os nomes de modelo:
gemini-2.5-flash→gemini-3.5-flash-lite,gemini-2.5-pro→gemini-3.8-flash - Definir a quantidade de raciocínio com
thinking_level: removerthinking_budgete escolher o nível adequado à tarefa - Remover os ajustes de amostragem:
temperature,top_petop_k - Corrigir o histórico do function calling: manter a
thought_signaturee incluiridenamenoFunctionResponse - Parar de preencher a resposta e tirar o
candidate_count - Testar com entradas pesadas antes de liberar: rodar fluxos que chamam ferramentas muitas vezes e conversas longas, e verificar erros, qualidade das respostas e uso de tokens
3-1. Trocar os nomes de modelo
Trocar um nome é uma edição de uma linha, mas o mesmo nome costuma aparecer em vários lugares, então use as buscas da seção 2 para achar todas as ocorrências antes de trocar. Assim que você troca, passa a ser cobrado pelas tarifas do modelo novo.
3-2. Substituir thinking_budget por thinking_level
O Gemini 2.5 definia o número de tokens usados no raciocínio com um thinking_budget numérico. Os modelos novos o substituem por thinking_level, que recebe um nível com nome. Os níveis disponíveis e o padrão variam conforme o modelo.
| Modelo | Padrão | Níveis disponíveis |
|---|---|---|
Destino do Flashgemini-3.5-flash-lite | minimal | minimal, low, medium, high |
Destino do Progemini-3.8-flash | medium | low, medium, high (minimal retorna erro) |
Fontes: a tabela da página “Thinking” do Google e cada guia de migração (consultados em 7 de novembro de 2026).
Atenção ao fato de que o destino do 2.5 Flash usa minimal por padrão. O 2.5 Flash raciocinava por padrão, mas o 3.5 Flash-Lite quase não raciocina a menos que você peça. O guia de migração do Google diz que minimal serve para extração, roteamento e classificação em grande volume, mas recomenda medium ou high para chamadas de ferramentas, execução de código e raciocínio em várias etapas, porque em níveis baixos os fluxos que usam ferramentas podem parar no meio.
from google import genai
from google.genai import types
client = genai.Client()
# Antes: gemini-2.5-flash
# config=types.GenerateContentConfig(
# temperature=0.2,
# thinking_config=types.ThinkingConfig(thinking_budget=1024),
# )
# Depois: gemini-3.5-flash-lite
response = client.models.generate_content(
model="gemini-3.5-flash-lite",
contents=prompt,
config=types.GenerateContentConfig(
system_instruction="Responda apenas em JSON. Não escreva introdução.",
thinking_config=types.ThinkingConfig(thinking_level="medium"),
),
)
print(response.text)
Se você envia JSON diretamente pelo REST, troque "thinkingBudget": 1024 por "thinkingLevel": "medium" dentro de generationConfig.thinkingConfig. A referência da API descreve thinkingLevel como um campo para o Gemini 3 e posteriores e diz que enviá-lo a modelos anteriores retorna erro. Troque o nome do modelo e o thinking_level na mesma alteração.
Não existe uma correspondência oficial entre os orçamentos numéricos que você usava no 2.5 e os níveis. Comece pelo guia abaixo e ajuste conforme a qualidade das respostas e o uso de tokens.
| Como você usava o 2.5 | 3.5 Flash-Lite | 3.8 Flash |
|---|---|---|
| Sem raciocínio, velocidade em primeiro lugar (classificação, extração) | minimal (padrão) | low |
| Perguntas comuns, resumos | low ou medium | low ou medium (padrão) |
| Chamadas de ferramentas, código, raciocínio em várias etapas | medium ou high | medium (padrão) ou high |
Este guia se baseia nos usos de cada nível descritos nos guias de migração do Google. Os tokens de raciocínio são cobrados pela tarifa de saída, então subir o nível também aumenta o custo.
3-3. Remover temperature, top_p e top_k
A partir do Gemini 3.6 Flash e do 3.5 Flash-Lite, o Google descontinuou temperature, top_p e top_k. Nos modelos novos atuais, eles são ignorados sem erro, e o Google diz que as próximas gerações vão retornar erro HTTP 400. Como nenhum erro aparece, é fácil não perceber. Fluxos que definem temperature como 0 para obter respostas consistentes podem deixar de ser consistentes.
A alternativa recomendada pelo Google é escrever as regras de saída com clareza na instrução do sistema (por exemplo, “Responda apenas em JSON” ou “Não escreva introdução”). Se você precisa de um formato estritamente consistente, use a saída estruturada (o recurso que recebe um esquema JSON).
A API do Claude também mudou o funcionamento de temperature nos modelos mais novos. Para a mesma linha de raciocínio, veja “"temperature is deprecated for this model": causas e solução”.
3-4. Corrigir o histórico do function calling
Os modelos Gemini 3 devolvem thought signatures nas respostas: representações criptografadas do raciocínio interno do modelo antes de responder. Se a assinatura não for enviada de volta no turno seguinte, o modelo não consegue dar continuidade ao raciocínio anterior. No generateContent, a assinatura fica no thoughtSignature de partes como as chamadas de função.
O padrão frágil é recriar o turno do modelo só com o nome e os argumentos e adicioná-lo ao histórico. Ao recriá-lo, a assinatura se perde.
# ❌ Recriar o turno do modelo só com o nome e os args perde a thought_signature
contents.append(types.Content(role="model", parts=[
types.Part(function_call=types.FunctionCall(name=call.name, args=call.args))
]))
A correção é devolver ao histórico o conteúdo recebido sem alterações. Além disso, no resultado da função (FunctionResponse), inclua o mesmo id e o mesmo name do FunctionCall que o modelo devolveu.
config = types.GenerateContentConfig(
tools=[weather_tool],
thinking_config=types.ThinkingConfig(thinking_level="medium"),
)
contents = [types.Content(role="user", parts=[
types.Part.from_text(text="Como está o tempo em Boston?")
])]
response = client.models.generate_content(
model="gemini-3.5-flash-lite", contents=contents, config=config)
call = response.function_calls[0]
# ✅ Adicionar o turno do modelo exatamente como foi recebido (contém a assinatura)
contents.append(response.candidates[0].content)
result = get_weather(**call.args)
contents.append(types.Content(role="user", parts=[
types.Part(function_response=types.FunctionResponse(
id=call.id, # mesmo valor do id do FunctionCall
name=call.name, # mesmo valor do name do FunctionCall
response={"result": result},
))
]))
response = client.models.generate_content(
model="gemini-3.5-flash-lite", contents=contents, config=config)
print(response.text)
Quando o resultado de uma função inclui imagens ou outras mídias, coloque-as dentro do FunctionResponse (em parts), e não como partes separadas. A página “Function calling” do Google diz que os SDKs tratam as assinaturas automaticamente. Se você deixa o histórico com o recurso de chat do SDK (client.chats), não precisa repassar as assinaturas por conta própria. O cuidado é necessário quando você salva o histórico no seu próprio banco de dados ou em outro formato e o reconstrói a cada solicitação. Verifique se o seu formato de armazenamento não descarta as assinaturas.
A referência da API lista MISSING_THOUGHT_SIGNATURE (Request has at least one thought signature missing) como um valor de finishReason que indica a falta de uma assinatura. Se você vir esse valor ou um erro parecido nos logs, desconfie primeiro da forma como monta o histórico.
Migrar para a Interactions API deixa o servidor cuidar das assinaturas por você
O Google recomenda a Interactions API para projetos novos. Se você mantiver o padrão (store=true) e passar previous_interaction_id a partir da segunda chamada, o servidor guarda o estado da conversa, incluindo as assinaturas, e você não precisa mais repassá-las. Os resultados das funções são devolvidos como function_result com call_id e name.
import json
# Na Interactions API, as declarações de função são escritas como dicts (formato diferente do weather_tool do generateContent)
interaction = client.interactions.create(
model="gemini-3.8-flash",
input="Como está o tempo em Boston?",
tools=[weather_tool_dict],
)
for step in interaction.steps:
if step.type == "function_call":
result = get_weather(**step.arguments)
interaction = client.interactions.create(
model="gemini-3.8-flash",
input=[{
"type": "function_result",
"name": step.name,
"call_id": step.id,
"result": [{"type": "text", "text": json.dumps(result)}],
}],
tools=[weather_tool_dict],
previous_interaction_id=interaction.id,
)
print(interaction.output_text)
As diferenças estão em “Migrating to the Interactions API”, do Google. O generateContent continua disponível, então você não precisa migrar para outra API até 1º de dezembro.
O guia de migração também aponta soluções para os casos em que o texto antes de uma chamada de ferramenta provoca Malformed_Function_Call, na seção “Workarounds for pre-tool text requirements” da página de Function calling.
3-5. Parar de preencher a resposta e tirar o candidate_count
Preencher o começo da resposta (fazer com que o último turno não vazio de contents seja um turno model) retorna erro HTTP 400 nos modelos novos. O guia de migração do Google lista esse padrão como um dos que devem ser evitados.
{
"contents": [
{"role": "user", "parts": [{"text": "Traduza 'Hello world' para o espanhol."}]},
{"role": "model", "parts": [{"text": "Tradução:"}]}
]
}
Se você preenchia a resposta para evitar uma introdução ou para forçar uma resposta em JSON, escreva a regra na instrução do sistema ou use a saída estruturada.
response = client.models.generate_content(
model="gemini-3.5-flash-lite",
contents="Traduza 'Hello world' para o espanhol.",
config=types.GenerateContentConfig(
system_instruction="Responda apenas com a tradução. Não escreva introdução.",
),
)
O candidate_count (o ajuste que devolve várias respostas em uma chamada) não é compatível com o Gemini 3 e posteriores, e defini-lo como 2 ou mais retorna erro HTTP 400. Se você precisa de várias opções, divida em várias chamadas.
⚠️ Não pare nos testes com entradas leves. Solicitações curtas de um só turno passam sem mudanças, então você não verá o que quebra a menos que rode fluxos com muitas rodadas de function calling e conversas retomadas a partir de um histórico salvo.
O Google também oferece uma skill da API do Gemini para ajudar nesta migração em agentes de programação compatíveis com skills (“Coding agents”). Mesmo que você a use, rode você mesmo os testes no código corrigido.
4. Como mudam os preços
As tarifas dos destinos do redirecionamento ficam mais ou menos iguais para quem vem do 2.5 Flash e mais baixas para quem vem do 2.5 Pro. No entanto, o 3.8 Flash está com preço de lançamento até 31 de dezembro de 2026, e suas tarifas sobem em 1º de janeiro de 2027. Depois do aumento, a saída continua mais barata que no 2.5 Pro, mas a entrada fica mais cara que no 2.5 Pro (para prompts de até 200 mil tokens). Todos os preços abaixo são tarifas padrão do nível pago, em dólares americanos por 1 milhão de tokens.
| Item | Flash2.5 Flash | → 3.5 Flash-Lite | Pro2.5 Pro | → 3.8 Flash |
|---|---|---|---|---|
| Entrada | US$ 0,30 (áudio US$ 1,00) | US$ 0,30 (o mesmo para áudio) | US$ 1,25 (US$ 2,50 acima de 200 mil tokens) | US$ 0,75 (US$ 1,50 a partir de 1º de janeiro de 2027) |
| Saída (inclui o raciocínio) | US$ 2,50 | US$ 2,50 | US$ 10,00 (US$ 15,00 acima de 200 mil tokens) | US$ 3,75 (US$ 7,50 a partir de 1º de janeiro de 2027) |
| Cache de contexto (leitura) | US$ 0,03 (áudio US$ 0,10) | US$ 0,03 | US$ 0,125 (US$ 0,25 acima de 200 mil tokens) | US$ 0,075 (US$ 0,15 a partir de 1º de janeiro de 2027) |
| Cache de contexto (armazenamento por hora) | US$ 1,00 | US$ 1,00 | US$ 4,50 | US$ 0,50 (US$ 1,00 a partir de 1º de janeiro de 2027) |
Fonte: a tabela Standard de “Gemini Developer API pricing”, do Google (consultada em 7 de novembro de 2026). Para níveis com desconto, como Batch e Flex, consulte a página de preços. As tarifas do 3.8 Flash não variam com o tamanho do prompt.
Vamos fazer as contas para uma carga de trabalho do 2.5 Pro. Com 10 milhões de tokens de entrada e 2 milhões de tokens de saída por mês (todos os prompts com até 200 mil tokens), o 2.5 Pro custa US$ 12,50 + US$ 20,00 = US$ 32,50. Com as mesmas quantidades de tokens, o 3.8 Flash custa US$ 7,50 + US$ 7,50 = US$ 15,00 em dezembro de 2026 e US$ 15,00 + US$ 15,00 = US$ 30,00 a partir de janeiro de 2027.
Dito isso, as quantidades de tokens não necessariamente continuam as mesmas. O Google diz que o 3.8 Flash foi projetado para usar mais tokens em tarefas longas e complexas. Também diz que dá para reduzir isso no trabalho do dia a dia baixando o thinking_level. Ao passar do 2.5 Flash para o 3.5 Flash-Lite, subir o nível acima do padrão minimal também aumenta os tokens de saída gastos com raciocínio. Mesmo quando as tarifas são iguais ou mais baixas, a sua conta depende do nível que você escolhe. Se você registrar as quantidades de tokens das respostas (usage_metadata) durante os testes, dá para estimar a conta de dezembro.
O Grounding with Google Search também é contado de outra forma. No 2.5 Flash e no 2.5 Pro, as primeiras 1.500 solicitações por dia eram gratuitas, e depois disso custava US$ 35 por 1.000 “grounded prompts”. No 3.5 Flash-Lite e no 3.8 Flash, as primeiras 5.000 solicitações por mês são gratuitas, somando todos os modelos Gemini 3 e posteriores; depois disso custa US$ 14 por 1.000 consultas de busca, com limite de 1.500 solicitações por dia. Se uma solicitação faz várias buscas, cada busca é cobrada. Se você depende muito de grounding, revise as suas contagens.
Para os preços do Gemini como um todo (planos pagos do app e a API), veja “Preços do Gemini e o que dá para fazer de graça”. Para entender como funcionam os preços de API (tokens, entrada e saída), veja “O que é uma API de IA?”.
5. O que acontece depois de 1º de dezembro
Veja o que acontece se você não fizer nada, conforme a forma como o seu código está escrito.
- Sem erros de nome de modelo: as solicitações que continuam usando os nomes
gemini-2.5-flashegemini-2.5-prochegam aos modelos novos - A cobrança segue as tarifas dos modelos novos: as tarifas do destino do 2.5 Pro sobem de novo em 1º de janeiro de 2027
- Solicitações com resposta preenchida e com
candidate_countem 2 ou mais param com erro HTTP 400: o function calling que perde as assinaturas porque você monta o histórico por conta própria também pode causar erros ou comportamento inesperado - Algumas respostas mudam sem nenhum erro: ajustes como
temperaturesão ignorados, e o destino do 2.5 Flash quase não raciocina por padrão. Isso aparece como fluxos com ferramentas que param no meio ou respostas que variam mais
Mudanças que não geram erros raramente aparecem nas métricas de monitoramento. Comparar o número de falhas das verificações que validam o formato das respostas (se a saída é um JSON válido, se os campos obrigatórios estão presentes) antes e depois da troca ajuda a detectá-las.
6. Vale ficar no modelo do redirecionamento automático?
Os destinos do redirecionamento automático são os modelos que o Google recomenda como substitutos de cada um. Mesmo assim, o perfil deles é diferente do que você tinha antes.
Flash 2.5 Flash → 3.5 Flash-Lite leva você para a linha “Lite” com as mesmas tarifas. O Google informa que o 3.5 Flash-Lite marcou 18,0% no benchmark de raciocínio HLE, contra 11,0% do 2.5 Flash, e 74,5% contra 63,7% no benchmark de compreensão de gráficos CharXIV (medições do próprio Google). Se o seu trabalho é principalmente extração ou classificação em grande volume, migrar como está faz sentido. Se é principalmente agentes de várias etapas ou geração de código e você quer respostas melhores, o gemini-3.6-flash, que a tabela comparativa do Google indica para geração de código e tarefas de várias etapas, é outra opção. O preço de lançamento dele, até 31 de dezembro de 2026, é US$ 0,75 de entrada e US$ 3,75 de saída, subindo para US$ 1,50 e US$ 7,50 a partir de 1º de janeiro de 2027, então custa mais que o 3.5 Flash-Lite.
Pro 2.5 Pro → 3.8 Flash leva você da linha Pro para a linha Flash. O Google chama o 3.8 Flash de seu “modelo Flash mais inteligente” e o posiciona para desenvolvimento de software de longa duração e agentes. Comparado ao 2.5 Pro, a tarifa de saída continua mais baixa mesmo a partir de 2027 (US$ 10,00 → US$ 7,50), enquanto a tarifa de entrada fica mais alta a partir de 2027 (US$ 1,25 → US$ 1,50 para prompts de até 200 mil tokens).
Se a qualidade das respostas é a sua prioridade máxima, o Gemini 4 Argon (gemini-4-argon), mais caro, também é uma opção. O preço de lançamento dele, até 30 de novembro de 2026, é US$ 2,00 de entrada e US$ 10,00 de saída, subindo para US$ 4,00 de entrada e US$ 20,00 de saída a partir de 1º de dezembro, e não há nível gratuito (“Pricing”, consultado em 7 de novembro de 2026).
Seja qual for o modelo escolhido, troque o nome, rode os mesmos testes e decida comparando qualidade das respostas, erros e quantidades de tokens. Para as datas de corte de conhecimento e o posicionamento dos outros modelos Gemini, veja “Datas de corte de conhecimento das principais IAs generativas”.
Mudanças no formato das respostas e no tratamento dos ajustes ao trocar de modelo não são exclusivas do Gemini. O mesmo tipo de problema ao trocar para um modelo mais novo na API do Claude é tratado em “'ThinkingBlock' object has no attribute 'text': causa e solução”.
Resumo
- A partir de 1º de dezembro de 2026, o
gemini-2.5-flashé redirecionado automaticamente para ogemini-3.5-flash-litee ogemini-2.5-propara ogemini-3.8-flash, com cobrança pelas tarifas do modelo de destino - Solicitações de um só turno com texto e imagem continuam funcionando. O
gemini-2.5-flash-litenão é afetado - Function calling que perde as assinaturas porque você monta o histórico por conta própria, resposta preenchida e solicitações com
candidate_countem 2 ou mais podem retornar erro HTTP 400. O Google exigeidenamenoFunctionResponse(com o recurso de chat do SDK, o SDK repassa as assinaturas) - Substitua
thinking_budgetporthinking_level. O 3.5 Flash-Lite usa minimal por padrão, então use medium ou mais para ferramentas e trabalho em várias etapas. Ajustes comotemperaturesão ignorados - As tarifas ficam mais ou menos iguais para quem vem do 2.5 Flash e mais baixas para quem vem do 2.5 Pro. Mas o 3.8 Flash sobe em 1º de janeiro de 2027 (a entrada fica mais cara que no 2.5 Pro), e as quantidades de tokens também mudam com o nível de raciocínio
- Não espere 1º de dezembro: troque os nomes de modelo, teste com entradas pesadas e só então leve para produção
Perguntas frequentes
P. Se eu chamar o gemini-2.5-flash em 1º de dezembro, vou receber um erro de modelo não encontrado?
R. Não. Segundo a documentação do Google, as solicitações são redirecionadas automaticamente para o gemini-3.5-flash-lite. Porém, quem responde é o modelo novo, e a cobrança segue as tarifas do modelo novo. Function calling que perde as assinaturas porque você monta o histórico por conta própria, resposta preenchida e solicitações com candidate_count em 2 ou mais podem retornar erro HTTP 400.
P. Recebi um erro de thought signature. O que devo corrigir?
R. A parte do código que monta o histórico da conversa. Verifique se você recria o conteúdo que o modelo devolveu no turno anterior só com o nome e os argumentos. Se você devolver ao histórico o conteúdo recebido sem alterações, a assinatura volta junto. Se você usa o recurso de chat do SDK ou o previous_interaction_id da Interactions API, as assinaturas são tratadas automaticamente.
P. Quanto custa o gemini-3.5-flash-lite?
R. No nível pago, a entrada custa US$ 0,30 por 1 milhão de tokens (igual para texto, imagem, vídeo e áudio) e a saída, US$ 2,50 (consultado em 7 de novembro de 2026). Comparado ao 2.5 Flash, entrada e saída de texto, imagem e vídeo são iguais, e a entrada de áudio cai de US$ 1,00 para US$ 0,30.
P. Eu definia thinking_budget como 0 para desligar o raciocínio. O que faço agora?
R. No 3.5 Flash-Lite, omita o thinking_level (o padrão é minimal) ou defina-o como "minimal". O 3.8 Flash não tem o nível minimal e retorna erro, então use o nível mais baixo, "low".
Histórico de atualizações
- 7 de novembro de 2026Primeira publicação. Escrito após consultar o registro de alterações da API do Gemini (2 de novembro de 2026), Gemini deprecations, os guias de migração (3.6/3.5 Flash-Lite e 3.8 Flash), os preços, Thinking e a referência da API.
Fontes
- Google: Gemini API changelog, Gemini deprecations, Pricing
- Google: What's new in Gemini 3.6 Flash and 3.5 Flash-Lite, What's new in Gemini 3.8 Flash
- Google: Thinking, Function calling, Migrating to the Interactions API, generateContent API reference
- E-mail do Google aos usuários do Google AI Studio, “Gemini 2.5 Flash redirects to 3.5 Flash-Lite Dec 1” (3 de novembro de 2026)