Skip to main content
Google Gemini est un système de conversation IA très puissant qui peut générer des réponses fluides et naturelles en quelques secondes en saisissant des prompts. Ce document décrit principalement comment utiliser l’API Gemini Generate Content, qui est le format d’API natif officiel de Google et prend en charge les deux points de terminaison generateContent et streamGenerateContent.

Différences avec l’API Chat Completions

L’API Gemini Generate Content utilise le format de requête natif officiel de Google (champ contents), plutôt que le format compatible OpenAI (champ messages). Si vous utilisez déjà le SDK Google Gemini ou êtes familier avec le format d’API officiel, vous pouvez utiliser directement cette API sans modifier le format de requête.

Portée actuellement prise en charge

L’interface accepte les entrées de texte, d’images, de vidéos et d’audio (inlineData ou fileData), la configuration de réflexion et les déclarations de fonctions personnalisées. Les champs natifs tels que la sortie audio, les outils intégrés et le cache de contexte explicite ne disposent pas encore d’une garantie de disponibilité uniforme ; veuillez vous référer au retour réel du modèle spécifique. Lors de la soumission de fichiers tels que des fichiers audio avec fileData.fileUri, assurez-vous que le fichier est directement accessible via HTTPS, ne dépend pas d’un état de connexion, et que la durée de validité du lien signé couvre l’intégralité du temps de traitement de la requête. L’analyse audio non fluide ne renvoie les résultats qu’après que le modèle a terminé le traitement, ce qui peut dépasser 90 secondes ; le client doit définir un délai d’expiration total suffisamment long en fonction de la taille du fichier et du scénario métier, afin d’éviter de déconnecter la connexion alors que le serveur traite encore la requête.

Processus de demande

Avant d’utiliser l’API Gemini Generate Content, veuillez d’abord accéder à la page Gemini Generate Content API, puis cliquer sur le bouton « Obtenir » pour obtenir les identifiants nécessaires à la requête. Si vous n’êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion. La première demande bénéficie d’un quota gratuit.

Utilisation de base

Non-Streaming(non fluide)

Envoyez une requête POST à /v1beta/models/{model}:generateContent :
Remarque : la série gemini-3.x flash est un modèle de réflexion et consommera d’abord des reasoning tokens ; veuillez définir generationConfig.maxOutputTokens à 512 ou plus, sinon seul un contenu vide pourrait être renvoyé.
Exemple de résultat renvoyé :
Les champs de token dans usageMetadata sont facturés selon la sémantique Gemini native :
  • promptTokenCount inclut cachedContentTokenCount, et la partie correspondant au cache est calculée au prix de lecture du cache, sans être comptabilisée à nouveau comme une entrée ordinaire.
  • promptTokensDetails et cacheTokensDetails seront normalisés en détails text_tokens, image_tokens, video_tokens, audio_tokens et cached_* correspondants sous usage.prompt_tokens_details. Ces valeurs sont respectivement incluses dans prompt_tokens et cached_tokens ; les différentes modalités sont recalculées uniquement selon leurs prix respectifs, sans double facturation.
  • candidatesTokenCount et thoughtsTokenCount sont tous deux calculés au prix des tokens de sortie.
  • toolUsePromptTokenCount correspond à des tokens d’entrée d’outils indépendants, calculés au prix des tokens d’entrée.
Ace Data Cloud renvoie en plus un objet usage normalisé ; entre les protocoles de modèles, le coût de cet appel est lu de manière uniforme depuis usage.cost. cost est un aperçu facultatif du coût ; lorsque l’aperçu des prix est temporairement indisponible, la réponse du modèle est tout de même renvoyée normalement, mais peut ne pas inclure ce champ. La facturation finale prévaut selon les enregistrements d’utilisation.

Streaming(flux)

Envoyez une requête POST à /v1beta/models/{model}:streamGenerateContent?alt=sse :
La réponse en flux renvoie progressivement le contenu au format SSE(Server-Sent Events). Les événements intermédiaires ne contiennent généralement que du contenu incrémentiel ; l’événement final contenant l’utilisation faisant autorité inclura usageMetadata et usage normalisé, et le coût reste situé dans usage.cost :
La fermeture de la connexion indique la fin du flux ; le flux Gemini natif n’envoie pas data: [DONE]. Si l’aperçu des prix final est temporairement indisponible, usage renverra toujours l’utilisation des tokens, mais omettra cost.

Modèles pris en charge

Fonctionnalités avancées

Instructions système

Configuration de génération

Mode JSON

Mode de réflexion (Thinking)

Les modèles qui prennent en charge la fonctionnalité de réflexion (tels que gemini-2.5-flash et gemini-2.5-pro) peuvent activer le mode de réflexion :

Appel de fonction

Conversation à plusieurs tours

Compréhension d’images

Paramètres de sécurité

Le filtrage du contenu peut être contrôlé via safetySettings :

Gestion des erreurs