Skip to main content
O TokenLab expõe esta rota apenas para modelos que anunciam um contrato Gemini nativo e têm uma rota upstream do mesmo protocolo; não há fallback para Chat Completions. Nomes ProtoJSON em lowerCamelCase e nomes proto originais em snake_case são oficiais e preservados, inclusive em solicitações mistas. Campos desconhecidos são encaminhados em best-effort e o upstream decide o suporte.

Parâmetros de Caminho

string
obrigatório
Nome do modelo (ex: gemini-2.5-pro, gemini-3.5-flash).

Parâmetros de Consulta

string
Chave de API (alternativa à autenticação por cabeçalho).

Autenticação

Os endpoints do Gemini suportam múltiplos métodos de autenticação:
  • ?key=YOUR_API_KEY parâmetro de consulta
  • x-goog-api-key: YOUR_API_KEY cabeçalho
  • Authorization: Bearer YOUR_API_KEY cabeçalho

Corpo da Requisição

array
obrigatório
Conteúdo da conversa. Valores de role e todos os parts são preservados como enviados; o TokenLab não faz trim/lowercase, reescrita de Base64 nem inferência de MIME. inlineData / inline_data e fileData / file_data são grafias oficiais, e o TokenLab não exige localmente fileData.mimeType. IDs de Files ou Cache criados pelo TokenLab têm a propriedade verificada e mantêm o vínculo upstream; o provedor decide as demais regras de mídia e ferramentas.
object
Instrução de sistema para o modelo.
object
Configuração nativa de geração. Nomes lowerCamelCase como maxOutputTokens, candidateCount e thinkingConfig, além dos equivalentes snake_case, são aceitos sem alteração. O TokenLab não remove thinkingConfig após falhas nem impõe limite local de candidateCount no streaming; o upstream decide intervalos e combinações.
array
Configurações de filtro de segurança.

Resposta

array
Candidatos de conteúdo gerado.
object
Informações de uso de tokens.

Exemplos de entrada multimodal

Para requisições multimodais do Gemini, coloque a mídia dentro de contents[].parts[] usando bytes inline ou referências de arquivo baseadas em URL. Categorias de mídia atualmente suportadas nos detalhes do modelo do Gemini:
  • image
  • audio
  • video
Para mídia inline, use inlineData ou inline_data e envie os bytes do arquivo codificados em Base64. Para mídia via URL, use fileData ou file_data e envie uma URL pública em https.

Exemplo de entrada de imagem

Exemplo de entrada de áudio

Exemplo de entrada de vídeo

Exemplo de Entrada de Vídeo

Exemplo de Entrada de Áudio