Skip to main content
POST
Utilisez le format de requête natif de Gemini via CometAPI pour générer du texte, envoyer une entrée vidéo et configurer la réflexion ou les outils. Les exemples utilisent gemini-3.8-flash.
Utilisez la référence de l’API GenerateContent de Google pour les définitions des champs et les options spécifiques aux modèles. Cette page présente l’URL de base de CometAPI, l’authentification et des exemples de requêtes.
Les en-têtes x-goog-api-key et Authorization: Bearer sont tous deux pris en charge pour l’authentification.

Démarrage rapide

Pour utiliser le SDK Google Gen AI ou un client HTTP avec CometAPI, configurez l’URL de base et la clé API : Utilisez le guide de génération de texte GenerateContent pour consulter des exemples d’API native. Conservez la structure de requête generateContent lorsque vous modifiez l’URL de base.

Envoyer une entrée vidéo

Envoyez une vidéo en tant que partie de contenu. Choisissez le format d’entrée selon l’emplacement de stockage de la vidéo :
Pour les requêtes REST et curl, utilisez des noms de champs en camelCase, tels que inlineData.mimeType et fileData.fileUri.
Cet exemple envoie des données MP4 intégrées. Remplacez <base64-encoded-mp4> par le contenu base64 de votre vidéo :
Cet exemple analyse un MP4 public montrant l’éclosion d’une fleur :

Configurer la réflexion (raisonnement)

Utilisez thinkingConfig.thinkingLevel pour guider la profondeur du raisonnement. Les exemples ci-dessous utilisent LOW et MEDIUM.
Cet exemple définit le niveau de réflexion sur LOW :
thinkingBudget est un contrôle numérique pour les modèles compatibles, y compris Gemini 2.5. Utilisez thinkingLevel dans les exemples Gemini 3 et n’envoyez pas les deux contrôles. Consultez le guide de Google sur la réflexion pour connaître les valeurs spécifiques à chaque modèle.

Diffuser les réponses en streaming

Utilisez streamGenerateContent?alt=sse pour recevoir des événements envoyés par le serveur. Chaque ligne data: contient un objet JSON GenerateContentResponse :

Définir les instructions système

Utilisez systemInstruction pour guider la réponse. Cet exemple demande une équation sans texte supplémentaire :

Demander une sortie JSON

Définissez responseMimeType sur application/json et fournissez un responseSchema. Cet exemple demande un tableau de planètes avec des noms et des distances numériques :
Ajoutez un outil googleSearch pour demander l’ancrage par recherche. Cet exemple demande le résultat de la finale de l’UEFA EURO 2024 :
Lorsque la recherche est utilisée, inspectez le groundingMetadata du candidat pour connaître les requêtes de recherche, les URL des sources et les liens entre les sources et le texte de réponse.

Préserver le contenu de la conversation

Pour les conversations à plusieurs tours, envoyez le contenu user et model précédent dans contents. Les exemples de chat du SDK conservent cet historique pour vous. Pour les appels de fonction, renvoyez un functionResponse pour chaque functionCall, avec le name correspondant et tout id renvoyé. Renvoyez le contenu précédent du modèle sans le modifier, y compris les champs thoughtSignature. La signature est opaque ; ne la reconstituez pas à partir du texte affiché.

Exemple de réponse

Une réponse textuelle inclut le contenu généré et l’utilisation des tokens. Cet exemple abrégé omet les champs facultatifs :
thoughtsTokenCount indique les tokens de réflexion internes, même lorsque la réponse n’inclut pas de résumé de réflexion. Inspectez chaque partie de contenu ; une réponse peut contenir du texte, des résumés ou des appels de fonction.

Comparer les formats de requête

Choisissez le point de terminaison natif pour les champs de requête et de réponse Gemini. Consultez Chat Completions pour le format compatible avec OpenAI.

Autorisations

x-goog-api-key
string
header
requis

Your CometAPI key passed via the x-goog-api-key header. Bearer token authentication (Authorization: Bearer $COMETAPI_KEY) is also supported.

Paramètres de chemin

model
string
défaut:gemini-3.8-flash
requis

Gemini model ID. These examples use gemini-3.8-flash. See the Models page for available model IDs.

operator
enum<string>
défaut:generateContent
requis

Operation to perform. Use generateContent for a JSON response. For Server-Sent Events, select streamGenerateContent and set the separate alt query parameter to sse.

Options disponibles:
generateContent,
streamGenerateContent

Paramètres de requête

alt
enum<string>

Set to sse when the operator is streamGenerateContent. Omit this parameter for generateContent.

Options disponibles:
sse

Corps

application/json
contents
object[]

Conversation content. Each entry has an optional role (user or model) and a parts array. For tool results, preserve the complete preceding model content, including any thoughtSignature fields.

systemInstruction
object

System instructions that guide the model's behavior across the entire conversation. Text only.

tools
object[]

Tools available to the model during generation. Use googleSearch for search grounding.

toolConfig
object

Configuration for tool usage, such as function calling mode.

safetySettings
object[]

Safety filter settings. Override default thresholds for specific harm categories.

generationConfig
object

Configuration for model generation behavior including temperature, output length, and response format.

cachedContent
string

The name of cached content to use as context. Format: cachedContents/{id}. See the Gemini context caching documentation for details.

Réponse

200 - application/json

Successful response. For streaming requests, the response is a stream of SSE events, each containing a GenerateContentResponse JSON object prefixed with data:.

candidates
object[]

The generated response candidates.

promptFeedback
object

Feedback on the prompt, including safety blocking information.

usageMetadata
object

Token usage statistics for the request.

modelVersion
string

The model version that generated this response.

createTime
string

The timestamp when this response was created (ISO 8601 format).

responseId
string

Unique identifier for this response.

Dernière modification le 8 septembre 2026