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 (campocontents), 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ériegemini-3.xflash é composta por modelos de raciocínio e consumirá primeiro reasoning tokens; definagenerationConfig.maxOutputTokenscomo 512 ou superior, caso contrário poderá retornar apenas conteúdo vazio.
usageMetadata serão cobrados de acordo com a semântica nativa do Gemini:
promptTokenCountincluicachedContentTokenCount, e a parte atingida pelo cache é calculada com base no preço de leitura do cache, não sendo contabilizada novamente como entrada comum.promptTokensDetailsecacheTokensDetailsserão normalizados emtext_tokens,image_tokens,video_tokens,audio_tokense os respectivos detalhescached_*sobusage.prompt_tokens_details. Esses valores são incluídos respectivamente emprompt_tokensecached_tokens; diferentes modalidades são recalculadas apenas pelos respectivos preços, sem cobrança duplicada.candidatesTokenCountethoughtsTokenCountsã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.
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:
usageMetadata e o usage normalizado, e o custo continuará localizado em usage.cost:
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 desafetySettings:

