Saltar para o conteúdo principal

Encaminhamento para Modelos Gemini

Para a série Gemini, fornecemos dois métodos de invocação: chamadas nativas da API e chamadas compatíveis com OpenAI.
Antes de começar, certifique-se de instalar ou atualizar a dependência nativa executando pip install google-genai ou pip install -U google-genai.
1️⃣ Para integração nativa, o Gemini cuida automaticamente do roteamento de tráfego entre AI Studio e VertexAI. Basta fornecer sua chave de API AIHubMix e a URL de requisição apropriada. Lembre-se de que esta URL é diferente da base_url usual — siga o exemplo abaixo para garantir a configuração correta.
2️⃣ Para formatos compatíveis com OpenAI, mantenha o endpoint universal v1.
3️⃣ Para a série 2.5, se você precisa exibir o processo de raciocínio, existem duas maneiras de fazer isso:
  1. Invocação nativa: Passe include_thoughts=True
  2. Método compatível com OpenAI: Passe reasoning_effort
Você pode consultar os exemplos de código abaixo para uso detalhado.

Instruções do Gemini 3 Pro Image Preview

O Gemini 3 Pro Image Preview (Nano Banana Pro Preview) foi projetado para criação profissional de ativos e instruções complexas. Este modelo oferece os seguintes recursos:
  • Usa o Google Search para recuperar conhecimento mundial em tempo real
  • Processo “thinking” integrado (otimiza a composição antes da geração)
  • Pode gerar imagens com resoluções de até 4K
Modo Streaming (stream=True) → apenas estágio de raciocínio
Modo Não-Streaming (stream=False) → geração final da imagem
As imagens geradas não são incluídas nas respostas em streaming e devem ser recuperadas usando uma requisição sem streaming .
Exemplos de uso em Python:

Sobre os Modelos de Inferência Gemini 2.5

  1. A série 2.5 inteira consiste em modelos de inferência.
  2. 2.5 Flash é um modelo híbrido, similar ao Claude Sonnet 3.7. Você pode ajustar fino seu comportamento de raciocínio ajustando o parâmetro thinking_budget para controle ideal.
  3. 2.5 Pro é um modelo de inferência puro. O thinking não pode ser desabilitado, e thinking_budget não deve ser definido explicitamente.
Exemplos de uso em Python:

Gemini 2.5 Flash: Suporte a Tarefas Rápidas

Exemplo para invocação compatível com OpenAI:
  1. Para tarefas complexas, basta definir o id do modelo como o padrão gemini-2.5-flash-preview-04-17 para habilitar o thinking.
  2. O Gemini 2.5 Flash usa o parâmetro budget para controlar a profundidade do thinking, variando de 0 a 16K. O budget padrão é 1024, e o efeito marginal ideal é 16K.

Compreensão de Mídia

  • Para arquivos multimídia com menos de 20MB (imagens, áudio, vídeo), envie-os usando inline_data.
  • Quando um arquivo multimídia for maior que 20MB, você deve usar a Files API.

Arquivos Abaixo de 20MB

Adicionando o parâmetro EDIARESOLUTION_MEDIUM, você pode ajustar a resolução da imagem, o que reduz significativamente os custos de entrada e minimiza o risco de erros com imagens grandes.Valores de resolução de mídia suportados:
Exemplos de uso em Python:

Files API

O Gemini pode lidar com vários tipos de dados de entrada simultaneamente, incluindo texto, imagens e áudio. Quando o tamanho total da requisição (incluindo arquivos, dicas de texto, comandos de sistema, etc.) excede 20 MB, certifique-se de usar a Files API.
  • Listar arquivos enviados não é suportado.
  • Os arquivos serão automaticamente excluídos após 48 horas, ou você pode excluir manualmente os arquivos enviados.
Exemplos de uso em Python:

Execução de Código

O recurso de execução de código permite que o modelo gere e execute código Python e aprenda iterativamente com os resultados até chegar a uma saída final. Você pode usar essa capacidade de execução de código para construir aplicações que se beneficiam de raciocínio baseado em código e produzem saída de texto. Por exemplo, você poderia usar a execução de código em uma aplicação que resolve equações ou processa texto.
Python

Interactions API

Interactions e a interface de inferencia de nova geracao do Gemini. Ela retorna objetos Interaction estruturados e suporta geracao de texto, geracao nativa de imagens (Nano Banana) e raciocinio em multiplas etapas. Atualmente o modo sincrono (interactions.create()) e suportado; o modo assincrono (Background Interactions) estara disponivel em breve.
Requisito de versao do SDK: @google/genai >= 2.0.0 (JS/TS) ou google-genai >= 2.0.0 (Python). Versoes anteriores do SDK serao rejeitadas pelo backend do Google (legacy Interactions schema no longer supported).

Geracao de texto

Chame interactions.create() para iniciar uma inferencia. O objeto Interaction retornado fornece a propriedade de conveniencia output_text.

Geracao nativa de imagens

Configure a modalidade de saida como imagem via response_format. O objeto Interaction retornado fornece a propriedade de conveniencia output_image.
  • Modelo recomendado: gemini-3.1-flash-image (Nano Banana 2, modelo universal de geracao de imagens).
  • Os valores de response_modalities devem estar em minusculas: ['text', 'image']; maiusculas sao a sintaxe da API generateContent e retornam um 400 na Interactions API.
  • Nao envie delivery: 'inline' (400 Image delivery mode is not supported) — os resultados sao retornados em modo inline por padrao.

Saida em streaming

Passe stream: true para habilitar streaming SSE. O texto incremental e obtido via event.delta.text.
JavaScript
O guia completo de integracao com o SDK (incluindo Embeddings, CRUD de cache explicito, matriz de capacidades, etc.) esta disponivel em Integracao com SDK nativo do Gemini.

Cache de Contexto

A API nativa do Gemini habilita o cache de contexto implícito por padrão — sem necessidade de configuração. Para cada requisição generate_content, o sistema cacheia automaticamente o conteúdo de entrada. Se uma requisição subsequente usar exatamente o mesmo conteúdo, modelo e parâmetros, o sistema retornará instantaneamente o resultado anterior, acelerando drasticamente o tempo de resposta e potencialmente reduzindo os custos de tokens de entrada.
  • O cache é automático — sem necessidade de configuração manual.
  • O cache só é acertado quando o conteúdo, modelo e todos os parâmetros são exatamente os mesmos; qualquer diferença resultará em cache miss.
  • O time-to-live (TTL) do cache pode ser definido pelo desenvolvedor, ou deixado sem definição (padrão: 1 hora). Não há TTL mínimo ou máximo imposto pelo Google. Os custos dependem do número de tokens cacheados e da duração do cache.
    • Embora o Google não imponha restrição ao TTL, como uma plataforma de encaminhamento, suportamos apenas uma faixa limitada de TTL. Para requisitos além dos limites da nossa plataforma, entre em contato conosco.

Observações

  • Sem garantia de economia de custos: Tokens de cache são cobrados a 25% do preço padrão de entrada — então teoricamente, o cache pode economizar até 75% dos custos de tokens de entrada. No entanto, a documentação oficial do Google não garante economia de custos; o efeito real depende da sua taxa de acerto de cache, tipos de tokens e duração do armazenamento.
  • Condições de acerto de cache: Para maximizar a eficácia do cache, coloque o contexto repetível no início da entrada e o conteúdo dinâmico (como entrada do usuário) no final.
  • Como detectar acertos de cache: Se uma resposta vier do cache, response.usage_metadata incluirá o campo cache_tokens_details e cached_content_token_count. Você pode usá-los para determinar o uso do cache.
    Exemplo de campos quando um acerto de cache ocorre:
Exemplo de código:
Quando ocorre um acerto de cache, response.usage_metadata conterá:
Conclusão principal: O cache implícito é automático e fornece feedback claro de acerto de cache. Os desenvolvedores podem verificar usage_metadata para o status do cache. A economia de custos não é garantida — o benefício real depende da estrutura da requisição e das taxas de acerto de cache.

Function calling

Ao usar a forma compatível com OpenAI para chamar a function calling do Gemini, você precisa passar tool_choice="auto" no corpo da requisição, caso contrário ele relatará um erro.
Exemplo de Saída:

Rastreamento Simplificado de Uso de Tokens

  1. O Gemini rastreia o uso de tokens usando usage_metadata. Veja o que cada campo significa:
    • prompt_token_count: número de tokens de entrada
    • candidates_token_count: número de tokens de saída
    • thoughts_token_count: tokens usados durante o raciocínio (também contados como saída)
    • total_token_count: total de tokens usados (entrada + saída)
    Para mais detalhes, consulte a documentação oficial.
  2. Para APIs usando o formato compatível com OpenAI, o uso de tokens é rastreado em .usage com os seguintes campos:
    • usage.completion_tokens: número de tokens de entrada
    • usage.prompt_tokens: número de tokens de saída (incluindo raciocínio)
    • usage.total_tokens: uso total de tokens

Veja como usá-lo no código:

Última atualização: 2026-07-07