TokenLab

Gemini natif

Générer du contenu

Génère du contenu en utilisant le format de l'API Google Gemini

POST
/v1beta/models/{model}:generateContent

Utilisez les formats de requête et de réponse Gemini avec un modèle renvoyé par la Gemini Models API. Les noms de champs ProtoJSON lowerCamelCase et leurs équivalents proto snake_case sont acceptés. Les champs facultatifs et valeurs pris en charge dépendent du modèle choisi.

Paramètres de chemin

modelstringpathrequis

Nom du modèle (par ex., gemini-2.5-pro, gemini-3.5-flash).

Paramètres de requête

keystringquery

Clé API (alternative à l'authentification par en-tête).

Authentification

Les points de terminaison Gemini prennent en charge plusieurs méthodes d'authentification :

  • Paramètre de requête ?key=YOUR_API_KEY
  • En-tête x-goog-api-key: YOUR_API_KEY
  • En-tête Authorization: Bearer YOUR_API_KEY

Corps de la requête

contentsarrayrequis

Contenu de conversation avec parts et un role facultatif. Pour les médias, utilisez inlineData / inline_data ou fileData / file_data. Les ID Files et Cache créés par TokenLab ne peuvent être utilisés que dans leur espace de travail propriétaire.

systemInstructionobject

Instruction système pour le modèle.

generationConfigobject

Paramètres de génération tels que temperature, topP, topK, maxOutputTokens, stopSequences, candidateCount, responseModalities, responseMimeType, responseSchema et thinkingConfig. Les noms snake_case correspondants sont aussi acceptés. Les valeurs et combinaisons dépendent du modèle.

safetySettingsarray

Paramètres des filtres de sécurité.

Réponse

candidatesarray

Candidats de contenu générés.

usageMetadataobject

Informations sur l'utilisation des tokens.

Requête

curl -X POST "https://api.tokenlab.sh/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
    }
  }'

Exemples d'entrée multimodale

Pour les requêtes multimodales Gemini, placez les médias dans contents[].parts[] en utilisant soit des octets inline, soit des références de fichier basées sur une URL.

Catégories de médias actuellement prises en charge dans le détails du modèle Gemini :

  • image
  • audio
  • vidéo

Pour les médias inline, utilisez inlineData ou inline_data et transmettez les octets du fichier encodés en Base64.

Pour les médias via URL, utilisez fileData ou file_data et transmettez une URL publique en https.

Exemple d'entrée image

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Veuillez décrire cette image." },
        {
          "inlineData": {
            "mimeType": "image/jpeg",
            "data": "/9j/4AAQSkZJRgABAQ..."
          }
        }
      ]
    }
  ]
}

Exemple d'entrée audio

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Veuillez transcrire et résumer cet audio." },
        {
          "file_data": {
            "mime_type": "audio/mpeg",
            "file_uri": "https://example.com/sample.mp3"
          }
        }
      ]
    }
  ]
}

Exemple d'entrée vidéo

{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Veuillez décrire brièvement cette vidéo." },
        {
          "fileData": {
            "mimeType": "video/mp4",
            "fileUri": "https://example.com/sample.mp4"
          }
        }
      ]
    }
  ]
}

Réponse

Response
{
  "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
  }
}

Exemple d'entrée vidéo

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

Exemple d'entrée audio

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

Autorisation

BearerAuth
AuthorizationBearer <token>

Authentification par clé API. Créez ou gérez vos clés API dans Dashboard > API > API Keys.

Emplacement: header

Paramètres de chemin

model*string

Nom du modèle (par ex., gemini-2.5-pro)

Paramètres de requête

key?string

Clé API (alternative à l'authentification par en-tête)

En-têtes

X-TokenLab-Delivery-Policy?string

Politique de livraison par requête. Remplace les valeurs par défaut de la clé API et de l'espace de travail. Tente automatiquement TokenLab Verified en premier et peut basculer une fois vers Official uniquement avant la sortie, l'acceptation de la requête ou la création de ressource persistante.

Valeurs possibles

  • "auto"
  • "verified"
  • "official"

Corps de la requête

application/json

Requête native Gemini GenerateContent. Les noms ProtoJSON lowerCamelCase et proto snake_case originaux sont tous deux acceptés et préservés, y compris les requêtes mixtes. Si les deux orthographes d'un champ sont présentes, TokenLab ne les fusionne pas et ne choisit pas de priorité locale. Les champs inconnus sont transmis au mieux.

Réponse

application/json

application/json

application/json

application/json

application/json

application/json