Skip to main content
POST
CometAPI prend en charge le format d’API natif Gemini, ce qui vous donne un accès complet aux fonctionnalités spécifiques à Gemini, comme le contrôle de la réflexion, l’ancrage Google Search, les modalités natives de génération d’images, et bien plus encore. Utilisez ce point de terminaison lorsque vous avez besoin de capacités non disponibles via le point de terminaison de chat compatible OpenAI.
Utilisez la référence officielle de Google pour l’API GenerateContent comme source de référence pour la liste complète des champs de requête, le schéma de réponse et le comportement spécifique aux modèles Gemini. Cette page CometAPI explique comment envoyer ce format de requête natif via CometAPI.
Les paramètres de requête et les champs de réponse Gemini peuvent changer à mesure que Google met à jour l’API native. Consultez la documentation sur la génération de texte Gemini pour obtenir la liste complète la plus récente des paramètres et le comportement spécifique au fournisseur.
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 n’importe quel SDK Gemini ou client HTTP avec CometAPI, remplacez l’URL de base et la clé API :

Envoyer une entrée vidéo

Gemini generateContent accepte une vidéo comme 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 les noms de champs camelCase de Gemini, tels que inlineData.mimeType et fileData.fileUri. N’envoyez pas les médias URL en tant que file_data.file_uri.
Cet exemple envoie des données MP4 en ligne. Remplacez <base64-encoded-mp4> par le contenu Base64 de votre vidéo :
Cet exemple envoie une URL MP4 publique avec fileData.fileUri :
CometAPI ne recommande pas de flux de téléversement distinct via l’API Gemini Files pour ce point de terminaison. Envoyez les médias dans la requête generateContent elle-même avec inlineData ou fileData.fileUri.

Configurer la réflexion (raisonnement)

Les modèles Gemini peuvent effectuer un raisonnement interne avant de générer une réponse. La méthode de contrôle dépend de la génération du modèle.
Les modèles Gemini 3 utilisent thinkingLevel pour contrôler la profondeur du raisonnement. Niveaux disponibles : MINIMAL, LOW, MEDIUM, HIGH.Utilisez gemini-3-flash-preview comme modèle d’exemple par défaut, sauf si vous avez spécifiquement besoin d’une autre variante de Gemini 3.
L’utilisation de thinkingLevel avec les modèles Gemini 2.5 (ou de thinkingBudget avec les modèles Gemini 3) peut entraîner des erreurs. Utilisez le paramètre approprié pour la version de votre modèle.

Diffuser les réponses en continu

Pour recevoir des événements Server-Sent Events pendant que le modèle génère du contenu, utilisez streamGenerateContent?alt=sse comme opérateur. Chaque événement SSE contient une ligne data: avec un objet JSON GenerateContentResponse.

Définir les instructions système

Pour guider le comportement du modèle tout au long de la conversation, utilisez systemInstruction :

Demander une sortie JSON

Pour forcer une sortie JSON structurée, définissez responseMimeType. Vous pouvez éventuellement fournir un responseSchema pour une validation stricte du schéma :

Pour activer la recherche web en temps réel, ajoutez un outil googleSearch :
La réponse inclut groundingMetadata avec les URL sources et les scores de confiance.

Exemple de réponse

Une réponse typique du point de terminaison Gemini de CometAPI :
Le champ thoughtsTokenCount dans usageMetadata indique le nombre de tokens que le modèle a consacrés au raisonnement interne, même lorsque la sortie de réflexion n’est pas incluse dans la réponse.

Comparer avec le point de terminaison compatible 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
requis

Gemini model ID. Example: gemini-3-flash-preview, gemini-2.5-pro. See the Models page for current options.

operator
enum<string>
requis

The operation to perform. Use generateContent for synchronous responses, or streamGenerateContent?alt=sse for Server-Sent Events streaming.

Options disponibles:
generateContent,
streamGenerateContent?alt=sse

Corps

application/json
contents
object[]

Conversation content. Each entry has an optional role (user or model) and a parts array.

systemInstruction
object

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

tools
object[]

Tools the model may use to generate responses. Supports function declarations, Google Search, Google Maps, and code execution.

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 31 juillet 2026