Skip to main content
O Google Gemini é um sistema de conversa de IA muito poderoso que pode gerar respostas fluentes e naturais em segundos por meio da inserção de prompts. Este documento descreve principalmente como usar a API Gemini Generate Content, que é o formato de API nativo oficial do Google e oferece suporte aos dois endpoints generateContent e streamGenerateContent.

Diferenças em relação à API Chat Completions

A API Gemini Generate Content utiliza o formato de solicitação nativo oficial do Google (campo contents), em vez do formato compatível com OpenAI (campo messages). Se você já usa o SDK do Google Gemini ou está familiarizado com o formato oficial da API, pode usar diretamente esta API sem precisar modificar o formato da solicitação.

Escopo de suporte atual

A interface aceita entradas de texto, imagem, vídeo e áudio (inlineData ou fileData), configuração de raciocínio e declarações de funções personalizadas. Saída de áudio, ferramentas integradas e campos nativos, como cache de contexto explícito, ainda não possuem garantia de disponibilidade unificada; consulte o retorno real do modelo específico. Ao enviar arquivos como áudio usando fileData.fileUri, certifique-se de que o arquivo possa ser acessado diretamente por HTTPS, não dependa de estado de login e que o período de validade do link assinado cubra todo o tempo de processamento da solicitação. A análise de áudio não streaming só retorna resultados após o modelo concluir o processamento, o que pode exceder 90 segundos; o cliente deve definir um tempo limite total suficientemente longo conforme o tamanho do arquivo e o cenário de negócio, evitando desconectar enquanto o servidor ainda está processando.

Processo de solicitação

Antes de usar a API Gemini Generate Content, acesse a página Gemini Generate Content API e clique no botão “Obter” para adquirir as credenciais necessárias para a solicitação. Se ainda não tiver feito login ou se registrado, você será redirecionado automaticamente para a página de login. A primeira solicitação terá uma cota gratuita.

Uso básico

Não streaming

Envie uma solicitação POST para /v1beta/models/{model}:generateContent:
Dica: a série gemini-3.x flash é composta por modelos de raciocínio e consumirá primeiro reasoning tokens; defina generationConfig.maxOutputTokens como 512 ou superior, caso contrário poderá retornar apenas conteúdo vazio.
Exemplo de resultado retornado:
Os campos de token em usageMetadata serão cobrados de acordo com a semântica nativa do Gemini:
  • promptTokenCount inclui cachedContentTokenCount, e a parte atingida pelo cache é calculada com base no preço de leitura do cache, não sendo contabilizada novamente como entrada comum.
  • promptTokensDetails e cacheTokensDetails serão normalizados em text_tokens, image_tokens, video_tokens, audio_tokens e os respectivos detalhes cached_* sob usage.prompt_tokens_details. Esses valores são incluídos respectivamente em prompt_tokens e cached_tokens; diferentes modalidades são recalculadas apenas pelos respectivos preços, sem cobrança duplicada.
  • candidatesTokenCount e thoughtsTokenCount são ambos calculados com base no preço de tokens de saída.
  • toolUsePromptTokenCount é um token de entrada de ferramenta independente, calculado com base no preço de tokens de entrada.
A Ace Data Cloud retorna adicionalmente o objeto usage normalizado, e as despesas desta chamada são lidas de maneira unificada entre os protocolos de modelos em usage.cost. cost é uma prévia de custo opcional; quando a prévia de preço estiver temporariamente indisponível, a resposta do modelo ainda será retornada normalmente, mas poderá não incluir esse campo. A fatura final prevalece conforme os registros de uso.

Streaming

Envie uma solicitação POST para /v1beta/models/{model}:streamGenerateContent?alt=sse:
O retorno de streaming retornará progressivamente o conteúdo no formato SSE (Server-Sent Events). Os eventos intermediários geralmente contêm apenas conteúdo incremental; o evento final, que contém o uso autoritativo, incluirá usageMetadata e o usage normalizado, e o custo continuará localizado em usage.cost:
O fechamento da conexão indica o fim do fluxo; o fluxo nativo do Gemini não enviará data: [DONE]. Se a prévia de preço final estiver temporariamente indisponível, usage ainda retornará o uso de tokens, mas omitirá cost.

Modelos compatíveis

Recursos avançados

Instruções do sistema

Configuração de geração

Modo JSON

Modo de pensamento (Thinking)

Os modelos que oferecem suporte ao recurso de pensamento (como gemini-2.5-flash e gemini-2.5-pro) podem habilitar o modo de pensamento:

Chamada de função

Conversa de múltiplas rodadas

Compreensão de imagens

Configurações de segurança

O filtro de conteúdo pode ser controlado por meio de safetySettings:

Tratamento de erros