Saltar para o conteúdo principal
A LemonData suporta o formato nativo da API Google Gemini para modelos Gemini. Isso permite compatibilidade direta com os SDKs de IA do Google.

Parâmetros de Caminho

model
string
obrigatório
Nome do modelo (ex: gemini-2.5-pro, gemini-2.5-flash).For production integrations, prefer URL-based fileData / file_data media parts with a public https URL. LemonData will route supported Gemini-native channels through the native path when possible and automatically fall back to the compatible internal conversion path when a native-ready route is unavailable for that multimodal request.

Parâmetros de Consulta

key
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

contents
array
obrigatório
Conteúdos da conversa.Cada objeto de conteúdo contém:
  • role (string): user ou model
  • parts (array): partes do conteúdo. A LemonData atualmente suporta:
    • partes de texto: { "text": "..." }
    • partes de mídia inline: inlineData / inline_data
    • partes de arquivo baseadas em URL: fileData / file_data
Para partes de mídia, a LemonData aceita atualmente MIME types de imagem, áudio e vídeo e os encaminha pelo contrato público compatível com Gemini.
systemInstruction
object
Instrução de sistema para o modelo.
generationConfig
object
Configuração de geração:
  • temperature (number): Temperatura de amostragem
  • topP (number): Probabilidade de amostragem nucleus
  • topK (integer): Amostragem Top-K
  • maxOutputTokens (integer): Máximo de tokens de saída
  • stopSequences (array): Sequências de parada
safetySettings
array
Configurações de filtro de segurança.

Resposta

candidates
array
Candidatos de conteúdo gerado.
usageMetadata
object
Informações de uso de tokens.
curl -X POST "https://api.lemondata.cc/v1beta/models/gemini-2.5-pro:generateContent?key=sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "parts": [{"text": "Hello, Gemini!"}]
      }
    ],
    "generationConfig": {
      "temperature": 0.7,
      "maxOutputTokens": 1024
    }
  }'

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 no contrato público 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

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Descreva esta imagem." },
        {
          "inlineData": {
            "mimeType": "image/jpeg",
            "data": "/9j/4AAQSkZJRgABAQ..."
          }
        }
      ]
    }
  ]
}

Exemplo de entrada de áudio

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Transcreva e resuma este áudio." },
        {
          "file_data": {
            "mime_type": "audio/mpeg",
            "file_uri": "https://example.com/sample.mp3"
          }
        }
      ]
    }
  ]
}

Exemplo de entrada de vídeo

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Descreva brevemente este vídeo." },
        {
          "fileData": {
            "mimeType": "video/mp4",
            "fileUri": "https://example.com/sample.mp4"
          }
        }
      ]
    }
  ]
}
{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {"text": "Hello! How can I assist you today?"}
        ]
      },
      "finishReason": "STOP",
      "safetyRatings": [
        {"category": "HARM_CATEGORY_HARASSMENT", "probability": "NEGLIGIBLE"}
      ]
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 5,
    "candidatesTokenCount": 10,
    "totalTokenCount": 15
  }
}

Video Input Example

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Please describe this video." },
        {
          "fileData": {
            "mimeType": "video/mp4",
            "fileUri": "https://example.com/demo.mp4"
          }
        }
      ]
    }
  ]
}

Audio Input Example

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Please describe this audio." },
        {
          "fileData": {
            "mimeType": "audio/mpeg",
            "fileUri": "https://example.com/demo.mp3"
          }
        }
      ]
    }
  ]
}