3.6 Flash & 3.5 Flash-Lite Esta página
O Gemini 3.5 Flash está disponível para todos os usuários, é estável e pronto para uso em produção em grande escala. Como nosso modelo Flash mais inteligente, ele oferece desempenho de ponta sustentado em execução agêntica, programação e tarefas de longo prazo em escala.
Este guia contém uma visão geral das melhorias, mudanças na API e orientações de migração para o Gemini 3.5 Flash.
Novo modelo
| Modelo | ID do modelo | Descrição |
|---|---|---|
| Gemini 3.5 Flash | gemini-3.5-flash |
Nosso modelo mais inteligente para desempenho de ponta sustentado em tarefas agênticas e de programação. |
O Gemini 3.5 Flash oferece suporte à janela de contexto de 1 milhão de tokens, 65 mil tokens de saída máximos, raciocínio e o mesmo conjunto de ferramentas e recursos de plataforma do Gemini 3 Flash, incluindo Uso do computador (pré-lançamento). Para especificações completas, consulte a visão geral dos modelos. Para preços, consulte a página de preços.
Guia de início rápido
Todos os exemplos neste guia usam a API GenerateContent. A API Interactions também é compatível. As mesmas opções de configuração e recomendações se aplicam.
Python
from google import genai
client = genai.Client()
response = client.models.generate_content(
model="gemini-3.5-flash",
contents="Explain how parallel agentic execution works in three sentences.",
)
print(response.text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
async function main() {
const response = await ai.models.generateContent({
model: "gemini-3.5-flash",
contents: "Explain how parallel agentic execution works in three sentences.",
});
console.log(response.text);
}
main();
REST
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts": [{"text": "Explain how parallel agentic execution works in three sentences."}]
}]
}'
O que há de novo
- Desempenho de ponta sustentado:nosso modelo Flash mais inteligente, otimizado para tarefas agênticas e de programação em escala.
- Execução agêntica:implantação de subagentes, solução de problemas e loops agênticos rápidos em escala.
- Programação:ciclos de programação iterativos, exploração rápida e prototipagem para testar caminhos alternativos e explorar soluções de forma dinâmica.
- Longo prazo:fluxos de trabalho de várias etapas e uso de ferramentas em escala.
- Preservação de raciocínio:o modelo mantém o raciocínio intermediário em conversas multiturno automaticamente. Nenhuma mudança na API é necessária.
- Novo nível de esforço padrão:o esforço de raciocínio padrão foi alterado de
highparamedium. Consulte Novo nível de esforço padrão para mais detalhes. - Raciocínio
lowaprimorado:lowagora está significativamente melhorado para tarefas de código e agênticas que exigem menos etapas, oferecendo alta qualidade com menor latência e custo. - Versão GA:modelo estável para uso em produção em grande escala.
Como escolher o modelo Flash certo
O Gemini 3.5 Flash é nosso modelo Flash mais inteligente e capaz. No entanto, casos de uso diferentes podem ter requisitos de custo e latência diferentes.
- Gemini 3.1 Flash-Lite: para tarefas de baixo custo, alto volume que não exigem a profundidade de raciocínio avançada do 3.5 Flash, recomendamos o uso do Gemini 3.1 Flash-Lite. É um modelo estável e de longo prazo otimizado para eficiência. Consulte o guia do desenvolvedor do Flash-Lite para mais detalhes.
- Pré-lançamento do Gemini 3 Flash: embora recomendemos a migração para o 3.5 Flash para estabilidade de GA e raciocínio aprimorado, o Gemini 3 Flash (pré-lançamento) continua disponível para desenvolvedores que querem continuar testando com o modelo de pré-lançamento.
Mudanças no comportamento
Novo nível de esforço padrão: medium
O esforço de raciocínio padrão agora é medium, alterado de high no pré-lançamento do Gemini 3
Flash. medium produz resultados muito bons em uma ampla variedade de tarefas, sendo mais rápido e econômico. Para problemas complexos, high incentiva o modelo a pensar mais profundamente.
| Nível de esforço | Quando usar |
|---|---|
minimal |
Otimizado para velocidade de resposta. Casos de uso semelhantes a chats, respostas factuais rápidas, chamadas de ferramentas mais simples. |
low |
Tarefas de código e agênticas que exigem menor latência e menos etapas. Também funciona bem para tarefas de análise e escrita que exigem algum raciocínio. |
medium (padrão) |
Melhor qualidade para a maioria das tarefas. Recomendado para casos de uso agênticos e de código complexo. |
high |
Maximiza a capacidade do modelo de pensar e usar ferramentas. Melhor para raciocínio complexo, matemática difícil e as tarefas de código ou agente mais difíceis. Permite pensamentos estendidos e chamadas de função. |
Para substituir o padrão, defina thinking_level na configuração:
Python
from google import genai
from google.genai import types
client = genai.Client()
response = client.models.generate_content(
model="gemini-3.5-flash",
contents="Prove that the square root of 2 is irrational.",
config=types.GenerateContentConfig(
thinking_config=types.ThinkingConfig(thinking_level="high")
),
)
print(response.text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
async function main() {
const response = await ai.models.generateContent({
model: "gemini-3.5-flash",
contents: "Prove that the square root of 2 is irrational.",
config: {
thinkingConfig: {
thinkingLevel: "HIGH",
},
},
});
console.log(response.text);
}
main();
REST
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts": [{"text": "Prove that the square root of 2 is irrational."}]
}],
"generationConfig": {
"thinkingConfig": {
"thinkingLevel": "HIGH"
}
}
}'
A tabela a seguir mostra quais níveis de raciocínio são compatíveis por modelo:
| Nível de raciocínio | Gemini 3.5 Flash | Gemini 3.1 Pro | Gemini 3.1 Flash-Lite | Gemini 3 Flash | Descrição |
|---|---|---|---|---|---|
minimal |
Compatível | Indisponível | Compatível (padrão) | Compatível | Corresponde à configuração "sem raciocínio" para a maioria das consultas. Observação: minimal não garante que o raciocínio esteja desativado. O modelo pode raciocinar de forma muito mínima para tarefas complexas. |
low |
Compatível | Compatível | Compatível | Compatível | Minimiza a latência e o custo. |
medium |
Compatível (padrão) | Compatível | Compatível | Compatível | Raciocínio equilibrado para a maioria das tarefas. |
high |
Compatível (dinâmico) | Compatível (padrão, dinâmico) | Compatível (dinâmico) | Compatível (padrão, dinâmico) | Maximiza a profundidade do raciocínio. |
Preservação de raciocínio
O modelo mantém o raciocínio intermediário em conversas multiturno automaticamente. Quando presente no histórico de conversas, o contexto de raciocínio é transferido, o que melhora o desempenho em tarefas complexas de várias etapas, como depuração iterativa e refatoração de código. Nenhuma mudança na API é necessária:
- API Interactions: os pensamentos já são preservados automaticamente. Nenhuma mudança no comportamento.
- API GenerateContent: começando com o Gemini 3.5 Flash, o modelo usa
o contexto de raciocínio de todos os turnos anteriores quando as assinaturas de pensamento estão
presentes no histórico de conversas. Para ativar isso, transmita o histórico de conversas completo,
não modificado (incluindo
assinaturas de pensamento) em
contents. Os SDKs processam isso automaticamente.
Atualizações de parâmetros e práticas recomendadas no Gemini 3.x
O seguinte se aplica a todos os modelos do Gemini 3.x, incluindo o Gemini 3.5 Flash.
temperature,top_p,top_k: recomendamos não mudar os valores padrão. Os recursos de raciocínio do Gemini 3 são otimizados para as configurações padrão.- Use
thinking_levelem vez dethinking_budget. - Correspondência de respostas de chamada de função:
id,namee a contagem de respostas precisam corresponder às chamadas anteriores. - Respostas de função multimodal: inclua conteúdo multimodal dentro da resposta da função, não fora dela.
- Instruções inline em respostas de função: anexe ao texto de resposta da função, não como partes separadas.
- Reduza chamadas de ferramentas desnecessárias: use níveis de raciocínio mais baixos ou faça testes com instruções do sistema para reduzir as chamadas de ferramentas em fluxos de trabalho agênticos.
Consulte as seções abaixo para saber como atualizar seu código.
Parâmetros de amostragem (não recomendado)
temperature, top_p e top_k não são mais recomendados para todos os modelos do Gemini 3.x. Os recursos de raciocínio do Gemini 3 são otimizados para as configurações padrão. Remova esses parâmetros de todas as solicitações.
# ⚠️ Remove these parameters (not recommended)
config = types.GenerateContentConfig(
temperature=0.7,
top_p=0.9,
top_k=40
)
Para garantir o determinismo, recomendamos definir uma instrução do sistema com regras explícitas para seu caso de uso específico.
thinking_budget (não recomendado)
O parâmetro numérico bruto thinking_budget não é mais recomendado em todos os modelos do Gemini 3.x. Use a enumeração de string thinking_level.
# ⚠️ Before (not recommended)
config = types.GenerateContentConfig(
thinking_config=types.ThinkingConfig(thinking_budget=7500)
)
# ✅ After
config = types.GenerateContentConfig(
thinking_config=types.ThinkingConfig(thinking_level="medium")
)
Valores disponíveis: minimal, low, medium (padrão) e high.
Chamada de função: correspondência de resposta estrita
A API Interactions já gera erros em respostas de função incompatíveis. A API GenerateContent ainda não gera erros, mas respostas incompatíveis fazem com que o modelo retorne respostas vazias com finish_reason: STOP na maioria dos casos. Siga sempre estas convenções:
| Requisito | Detalhes |
|---|---|
Incluir id |
Cada FunctionResponse precisa incluir o id do FunctionCall correspondente |
Corresponder name |
O name na resposta precisa corresponder ao name na chamada |
| Contagens de correspondência | Retorne exatamente um FunctionResponse para cada FunctionCall recebido |
Python
# ✅ Include matching id and name in the function response
final_response = client.models.generate_content(
model="gemini-3.5-flash",
config=config,
contents=[
*previous_contents,
response.candidates[0].content,
types.Content(role="user", parts=[
types.Part.from_function_response(
name=tool_call.name,
response={"result": result},
id=tool_call.id,
)
]),
],
)
JavaScript
// ✅ Include matching id and name in the function response
const functionResponsePart = {
functionResponse: {
name: toolCall.name,
response: { result: result },
id: toolCall.id,
},
};
const finalResponse = await ai.models.generateContent({
model: "gemini-3.5-flash",
contents: [
...previousContents,
{ role: "model", parts: [{ functionCall: toolCall }] },
{ role: "user", parts: [functionResponsePart] },
],
config: config,
});
REST
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [
{"role": "user", "parts": [{"text": "..."}]},
{"role": "model", "parts": [{"functionCall": {"name": "my_function", "args": {...}}}]},
{"role": "user", "parts": [{"functionResponse": {"name": "my_function", "id": "call_id", "response": {"result": "..."}}}]}
]
}'
Respostas de funções multimodais
Muitas vezes, os clientes fornecem imagens fora da resposta da função. Isso pode levar a um comportamento inesperado do modelo (por exemplo, vazamento de pensamento) e resultar em saídas de qualidade inferior. Siga a recomendação na documentação da API de respostas de função multimodal em vez disso e inclua conteúdo multimodal nas partes de resposta da função que você envia ao modelo. O modelo pode processar esse conteúdo multimodal no próximo turno para produzir uma resposta mais informada.
Python
# ✅ Include multimodal content in the function response
final_response = client.models.generate_content(
model="gemini-3.5-flash",
config=config,
contents=[
*previous_contents,
response.candidates[0].content,
types.Content(role="user", parts=[
types.Part.from_function_response(
name=tool_call.name,
response={
"result": "instrument.jpg",
"image": base64_image_data,
},
id=tool_call.id,
)
]),
],
)
JavaScript
// ✅ Include multimodal content in the function response
const finalResponse = await ai.models.generateContent({
model: "gemini-3.5-flash",
contents: [
...previousContents,
{ role: "model", parts: [{ functionCall: toolCall }] },
{
role: "user",
parts: [{
functionResponse: {
name: toolCall.name,
id: toolCall.id,
response: {
result: "instrument.jpg",
image: base64ImageData,
},
},
}],
},
],
config: config,
});
Instruções inline em respostas de função
Muitas vezes, os clientes fornecem instruções adicionais junto com as respostas de função como Parts subsequentes. Isso pode levar a um comportamento inesperado do modelo (por exemplo, vazamento de pensamento) e resultar em saídas de qualidade inferior. Em vez disso, anexe instruções extras ao final do texto de resposta da função, separadas por duas novas linhas.
Python
# ✅ Append inline instructions to the end of the function response separated by two newlines
result_text = f"{json.dumps(result)}\n\n<your inline instructions>"
final_response = client.models.generate_content(
model="gemini-3.5-flash",
config=config,
contents=[
*previous_contents,
response.candidates[0].content,
types.Content(role="user", parts=[
types.Part.from_function_response(
name=tool_call.name,
response={"result": result_text},
id=tool_call.id,
)
]),
],
)
JavaScript
// ✅ Append inline instructions to the end of the function response separated by two newlines
const resultText = `${JSON.stringify(result)}\n\n<your inline instructions>`;
const finalResponse = await ai.models.generateContent({
model: "gemini-3.5-flash",
contents: [
...previousContents,
{ role: "model", parts: [{ functionCall: toolCall }] },
{
role: "user",
parts: [{
functionResponse: {
name: toolCall.name,
id: toolCall.id,
response: { result: resultText },
},
}],
},
],
config: config,
});
Redução de chamadas de ferramentas desnecessárias
Se você notar um uso excessivo de chamadas de ferramentas, duas técnicas ajudam a minimizar isso:
Comece reduzindo o nível de raciocínio (
medium,lowouminimal): níveis de raciocínio mais altos incentivam o modelo a usar mais ferramentas para explorar e verificar. Portanto, diminuir o nível pode reduzir as chamadas de ferramentas.Adicione uma instrução do sistema:se o uso excessivo persistir após ajustar o nível de raciocínio, considere um comando que restrinja o uso de ferramentas. Por exemplo:
You have a limited action budget of <n> tool calls. Use them efficiently.
Lista de verificação de migração
Migrar do pré-lançamento do Gemini 3 Flash
- Atualizar o nome do modelo:
gemini-3-flash-preview→gemini-3.5-flash - Conferir preços. O Gemini 3.5 Flash é mais caro que o pré-lançamento do Gemini 3 Flash. Se o caso de uso for muito sensível a custos, considere migrar para o Gemini 3.1 Flash-Lite em vez disso. Consulte a página de preços para mais detalhes.
- Remova
temperature,top_p,top_kda configuração (não recomendado). - Substitua
thinking_budgetporthinking_level. - Adicione
idenamecorrespondente a todas as partesFunctionResponse. - Teste seus comandos. O esforço padrão foi alterado de
high→medium. Verifique a qualidade, a velocidade e o custo. - A preservação de raciocínio agora está ativada por padrão. O contexto de raciocínio é transferido entre os turnos, o que melhora o desempenho, mas pode aumentar o uso de tokens.
- Reduza chamadas de ferramentas desnecessárias: comece reduzindo o nível de raciocínio (
medium,lowouminimal). Adicione uma instrução do sistema para restringir o uso de ferramentas se o uso excessivo persistir. - O uso do computador é compatível.
Migrar do Gemini 2.5
Tudo acima, além de:
- Simplificar comandos. Se você usou a engenharia de comandos de cadeia de pensamento para forçar
o raciocínio, tente
thinking_level: "medium"ou"high"com comandos mais simples em vez disso. - Teste cargas de trabalho de PDF e mídia. Se você dependeu de um comportamento específico para a análise de documentos densos, teste a configuração
media_resolution_highpara garantir a precisão contínua. A migração para os padrões do Gemini 3 também pode aumentar o uso de tokens para PDFs, mas diminuir para vídeos. Se as solicitações excederem a janela de contexto, reduza explicitamente amedia_resolution. Consulte os documentos de resolução de mídia para mais detalhes. - Aproveite o uso combinado de ferramentas. A Pesquisa Google, o contexto de URL, a execução de código e as funções personalizadas podem ser usados na mesma solicitação.
- Se você estiver usando respostas de função multimodal, mova o conteúdo multimodal para dentro das partes de resposta da função, não ao lado delas.
- Se você estiver usando instruções inline com respostas de função, anexe-as ao texto de resposta da função, separadas por duas novas linhas, não como partes separadas.
- A segmentação de imagens não é compatível com o Gemini 3.x. Para cargas de trabalho de segmentação , continue usando o Gemini 2.5 Flash com o raciocínio desativado ou o Gemini Robotics-ER 1.6.
- Remova
candidate_countda configuração (não compatível com o Gemini 3.x)
Recursos da família Gemini 3
O Gemini 3.5 Flash herda todos os recursos da família Gemini 3, incluindo o uso do computador. Recursos introduzidos no Gemini 3 que são transferidos:
- Raciocínio: Contexto de raciocínio criptografado preservado em chamadas de API. Automático na API Interactions; implícito no GenerateContent.
- Saídas estruturadas com ferramentas: combine o modo JSON com ferramentas integradas (Pesquisa, contexto de URL, execução de código, chamada de função).
- Respostas de função multimodal: Retorne imagens, áudio e outras mídias nos resultados da chamada de função.
- Execução de código com imagens: execute códigos que processam e geram imagens.
- Uso combinado de ferramentas: use ferramentas integradas e chamadas de função personalizadas na mesma solicitação.
- Resolução de mídia:
controle refinado da alocação de tokens para entradas de imagem, vídeo e PDF.
Os modelos do Gemini 3 oferecem suporte a configurações de resolução por item de conteúdo (
low,medium,high,ultra_high) para comandos de fidelidade mista. - Assinaturas de pensamento: representações criptografadas do raciocínio interno do modelo. Necessário para chamadas de função multiturno; gerenciado automaticamente pelos SDKs oficiais.
Práticas recomendadas para comandos
Os modelos do Gemini 3.x são modelos de raciocínio, o que muda a forma como você deve criar comandos.
- Instruções precisas:seja conciso. O Gemini 3.x responde melhor a instruções diretas e claras. Técnicas de engenharia de comandos detalhadas ou complexas projetadas para modelos mais antigos podem fazer com que o modelo analise demais.
- Nível de detalhamento da saída:por padrão, o Gemini 3.x é menos detalhado e prefere respostas diretas e eficientes. Se o caso de uso exigir um tom conversacional, direcione o modelo explicitamente no comando (por exemplo, "Explique isso como um assistente amigável e falante").
- Gerenciamento de contexto:ao trabalhar com conjuntos de dados grandes (como livros inteiros, bases de código ou vídeos longos), coloque suas instruções ou perguntas específicas no final do comando, após o contexto de dados. Ancore o raciocínio do modelo começando sua pergunta com uma frase como "Com base nas informações anteriores...".
Saiba mais sobre estratégias de design de comandos no guia de engenharia de comandos.
Limitações
- A segmentação de imagens não é compatível com o Gemini 3.x. Para cargas de trabalho de segmentação , continue usando o Gemini 2.5 Flash com o raciocínio desativado ou o Gemini Robotics-ER 1.6.
Perguntas frequentes
Qual é o limite de conhecimento do Gemini 3.5 Flash? O Gemini 3.5 Flash tem um limite de conhecimento de janeiro de 2025. Para informações mais recentes, use a ferramenta de ancoragem de pesquisa.
Quais são os limites da janela de contexto? O Gemini 3.5 Flash oferece suporte a uma janela de contexto de entrada de 1 milhão de tokens e até 65 mil tokens de saída.
Meu código
thinking_budgetantigo ainda vai funcionar? Sim,thinking_budgetainda tem suporte para compatibilidade com versões anteriores, mas recomendamos a migração parathinking_levelpara um desempenho mais previsível. Não use os dois na mesma solicitação.O Gemini 3.5 Flash oferece suporte à API Batch? Sim. Consulte o guia da API Batch para mais detalhes.
O armazenamento em cache de contexto é compatível? Sim, o armazenamento em cache de contexto é compatível.
Quais ferramentas são compatíveis? O Gemini 3.5 Flash oferece suporte a Pesquisa Google, embasamento com o Google Maps, pesquisa de arquivos, execução de código, contexto de URL, e chamada de função padrão, incluindo uso combinado de ferramentas, e uso do computador.
Próximas etapas
- Saiba mais sobre estratégias de design de comandos no guia de engenharia de comandos.
- Comece a usar o Gemini 3 Cookbook
- Saiba mais sobre a otimização e a inferência da API Gemini