L'API Gemini Interactions est une API expérimentale qui permet aux développeurs de créer des applications d'IA générative à l'aide des modèles Gemini. Gemini est notre modèle le plus performant, entièrement conçu pour être multimodal. Il peut généraliser, comprendre avec fluidité, traiter et combiner différents supports d'informations, dont le texte, le code, l'audio, l'image et la vidéo. Vous pouvez utiliser l'API Gemini pour des cas d'utilisation tels que le raisonnement sur du texte et des images, la génération de contenu, les agents de dialogue, les systèmes de synthèse et de classification, et plus encore.
Créer une interaction
Crée une interaction.
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
model ModelOption (facultatif)
Nom du `Model` utilisé pour générer l'interaction.
Obligatoire si l'attribut "agent" n'est pas fourni.
Valeurs possibles :
-
gemini-2.5-proNotre modèle polyvalent de pointe, qui excelle dans les tâches de codage et de raisonnement complexes.
-
gemini-2.5-flashNotre premier modèle de raisonnement hybride, qui accepte une fenêtre de contexte d'un million de jetons et dispose de budgets de réflexion.
-
gemini-2.5-flash-preview-09-2025Dernier modèle basé sur le modèle 2.5 Flash. 2.5 Flash Preview est idéal pour les tâches de traitement à grande échelle, à faible latence et à volume élevé qui nécessitent une réflexion, ainsi que pour les cas d'utilisation agentiques.
-
gemini-2.5-flash-liteNotre modèle le plus petit et le plus économique, conçu pour une utilisation à grande échelle.
-
gemini-2.5-flash-lite-preview-09-2025Dernier modèle basé sur Gemini 2.5 Flash-Lite, optimisé pour la rentabilité, le débit élevé et la qualité élevée.
-
gemini-2.5-flash-preview-native-audio-dialogNos modèles audio natifs sont optimisés pour des sorties audio de meilleure qualité, avec un rythme, une voix, une verbosité et une humeur plus naturels.
-
gemini-2.5-flash-image-previewNotre modèle natif de génération d'images, optimisé pour la vitesse, la flexibilité et la compréhension contextuelle. Les entrées et sorties de texte sont facturées au même prix que Gemini 2.5 Flash.
-
gemini-2.5-pro-preview-ttsNotre modèle audio de synthèse vocale 2.5 Pro est optimisé pour générer des voix puissantes et à faible latence, afin d'obtenir des résultats plus naturels et des requêtes plus faciles à orienter.
-
gemini-3-pro-previewNotre modèle le plus intelligent, doté de capacités de raisonnement et de compréhension multimodale de pointe, ainsi que de puissantes fonctionnalités de vibe coding et agentiques.
agent AgentOption (facultatif)
Nom de l'agent utilisé pour générer l'interaction.
Obligatoire si `model` n'est pas fourni.
Valeurs possibles :
-
deep-research-pro-preview-12-2025Agent Gemini Deep Research
Entrées de l'interaction (communes au modèle et à l'agent).
Instruction système pour l'interaction.
Liste des déclarations d'outils que le modèle peut appeler lors de l'interaction.
Force la réponse générée à être un objet JSON conforme au schéma JSON spécifié dans ce champ.
Type MIME de la réponse. Obligatoire si response_format est défini.
Uniquement en entrée. Indique si l'interaction sera diffusée en streaming.
Uniquement en entrée. Indique si la réponse et la requête doivent être stockées pour être récupérées ultérieurement.
Indique si l'interaction du modèle doit s'exécuter en arrière-plan.
generation_config GenerationConfig (facultatif)
Configuration du modèle :
paramètres de configuration pour l'interaction avec le modèle.
Alternative à `agent_config`. Ne s'applique que lorsque `model` est défini.
Champs
Contrôle le caractère aléatoire de la sortie.
Probabilité cumulée maximale des jetons à prendre en compte lors de l'échantillonnage.
Graine utilisée dans le décodage pour la reproductibilité.
Liste des séquences de caractères qui arrêteront l'interaction de sortie.
tool_choice ToolChoice (facultatif)
Choix de l'outil pour l'interaction.
Types possibles
ToolChoiceType
Ce type ne comporte aucun champ spécifique.
ToolChoiceConfig
allowed_tools AllowedTools (facultatif)
Aucune description fournie.
Champs
mode ToolChoiceType (facultatif)
Mode de choix de l'outil.
Valeurs possibles :
-
auto -
any -
none -
validated
Noms des outils autorisés.
thinking_level ThinkingLevel (facultatif)
Niveau de jetons de réflexion que le modèle doit générer.
Valeurs possibles :
-
low -
high
thinking_summaries ThinkingSummaries (facultatif)
Indique si la réponse doit inclure des résumés de la réflexion.
Valeurs possibles :
-
auto -
none
Nombre maximal de jetons à inclure dans la réponse.
speech_config SpeechConfig (facultatif)
Configuration pour l'interaction vocale.
Champs
La voix de l'orateur.
Langue du discours.
Nom de l'intervenant. Il doit correspondre à celui indiqué dans la requête.
agent_config object (facultatif)
Configuration de l'agent
Configuration de l'agent.
Alternative à `generation_config`. Ne s'applique que lorsque `agent` est défini.
Types possibles
Discriminant polymorphe : type
DynamicAgentConfig
Configuration des agents dynamiques.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "dynamic".
DeepResearchAgentConfig
Configuration de l'agent Deep Research.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "deep-research".
thinking_summaries ThinkingSummaries (facultatif)
Indique si la réponse doit inclure des résumés de la réflexion.
Valeurs possibles :
-
auto -
none
ID de l'interaction précédente, le cas échéant.
response_modalities ResponseModality (facultatif)
Modalités de réponse demandées (TEXT, IMAGE, AUDIO).
Valeurs possibles :
-
text -
image -
audio
Réponse
Renvoie une ressource Interaction.
Demande simple
Exemple de réponse
{ "created": "2025-11-26T12:25:15Z", "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "model": "gemini-2.5-flash", "object": "interaction", "outputs": [ { "text": "Hello! I'm functioning perfectly and ready to assist you.\n\nHow are you doing today?", "type": "text" } ], "role": "model", "status": "completed", "updated": "2025-11-26T12:25:15Z", "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 7 } ], "total_cached_tokens": 0, "total_input_tokens": 7, "total_output_tokens": 20, "total_reasoning_tokens": 22, "total_tokens": 49, "total_tool_use_tokens": 0 } }
Multitours
Exemple de réponse
{ "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "model": "gemini-2.5-flash", "status": "completed", "object": "interaction", "created": "2025-11-26T12:22:47Z", "updated": "2025-11-26T12:22:47Z", "role": "model", "outputs": [ { "type": "text", "text": "The capital of France is Paris." } ], "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 50 } ], "total_cached_tokens": 0, "total_input_tokens": 50, "total_output_tokens": 10, "total_reasoning_tokens": 0, "total_tokens": 60, "total_tool_use_tokens": 0 } }
Image d'entrée
Exemple de réponse
{ "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "model": "gemini-2.5-flash", "status": "completed", "object": "interaction", "created": "2025-11-26T12:22:47Z", "updated": "2025-11-26T12:22:47Z", "role": "model", "outputs": [ { "type": "text", "text": "A white humanoid robot with glowing blue eyes stands holding a red skateboard." } ], "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 10 }, { "modality": "image", "tokens": 258 } ], "total_cached_tokens": 0, "total_input_tokens": 268, "total_output_tokens": 20, "total_reasoning_tokens": 0, "total_tokens": 288, "total_tool_use_tokens": 0 } }
Appel de fonction
Exemple de réponse
{ "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "model": "gemini-2.5-flash", "status": "requires_action", "object": "interaction", "created": "2025-11-26T12:22:47Z", "updated": "2025-11-26T12:22:47Z", "role": "model", "outputs": [ { "type": "function_call", "function_call": { "name": "get_weather", "arguments": { "location": "Boston, MA" } } } ], "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 100 } ], "total_cached_tokens": 0, "total_input_tokens": 100, "total_output_tokens": 25, "total_reasoning_tokens": 0, "total_tokens": 125, "total_tool_use_tokens": 50 } }
Deep Research
Exemple de réponse
{ "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "agent": "deep-research-pro-preview-12-2025", "status": "completed", "object": "interaction", "created": "2025-11-26T12:22:47Z", "updated": "2025-11-26T12:22:47Z", "role": "model", "outputs": [ { "type": "text", "text": "Here is a comprehensive research report on the current state of cancer research..." } ], "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 20 } ], "total_cached_tokens": 0, "total_input_tokens": 20, "total_output_tokens": 1000, "total_reasoning_tokens": 500, "total_tokens": 1520, "total_tool_use_tokens": 0 } }
Récupérer une interaction
Récupère tous les détails d'une interaction en fonction de son `Interaction.id`.
Paramètres de chemin / de requête
Identifiant unique de l'interaction à récupérer.
Si la valeur est définie sur "true", le contenu généré sera diffusé de manière incrémentielle.
Valeur par défaut : False
Facultatif. Si cette option est définie, le flux d'interaction reprend à partir du prochain bloc après l'événement marqué par l'ID d'événement. Ne peut être utilisé que si "stream" est défini sur "true".
Version de l'API à utiliser.
Réponse
Renvoie une ressource Interaction.
Obtenir une interaction
Exemple de réponse
{ "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "model": "gemini-2.5-flash", "status": "completed", "object": "interaction", "created": "2025-11-26T12:25:15Z", "updated": "2025-11-26T12:25:15Z", "role": "model", "outputs": [ { "type": "text", "text": "I'm doing great, thank you for asking! How can I help you today?" } ] }
Supprimer une interaction
Supprime l'interaction par ID.
Paramètres de chemin / de requête
Identifiant unique de l'interaction à supprimer.
Version de l'API à utiliser.
Réponse
Si l'opération réussit, la réponse est vide.
Supprimer une interaction
Annuler une interaction
Annule une interaction par ID. Cela ne s'applique qu'aux interactions en arrière-plan qui sont toujours en cours d'exécution.
Paramètres de chemin / de requête
Identifiant unique de l'interaction à récupérer.
Version de l'API à utiliser.
Réponse
Renvoie une ressource Interaction.
Annuler l'interaction
Exemple de réponse
{ "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "agent": "deep-research-pro-preview-12-2025", "status": "cancelled", "object": "interaction", "created": "2025-11-26T12:25:15Z", "updated": "2025-11-26T12:25:15Z", "role": "model" }
Ressources
Interaction
Ressource Interaction.
Champs
model ModelOption (facultatif)
Nom du `Model` utilisé pour générer l'interaction.
Valeurs possibles :
-
gemini-2.5-proNotre modèle polyvalent de pointe, qui excelle dans les tâches de codage et de raisonnement complexes.
-
gemini-2.5-flashNotre premier modèle de raisonnement hybride, qui accepte une fenêtre de contexte d'un million de jetons et dispose de budgets de réflexion.
-
gemini-2.5-flash-preview-09-2025Dernier modèle basé sur le modèle 2.5 Flash. 2.5 Flash Preview est idéal pour les tâches de traitement à grande échelle, à faible latence et à volume élevé qui nécessitent une réflexion, ainsi que pour les cas d'utilisation agentiques.
-
gemini-2.5-flash-liteNotre modèle le plus petit et le plus économique, conçu pour une utilisation à grande échelle.
-
gemini-2.5-flash-lite-preview-09-2025Dernier modèle basé sur Gemini 2.5 Flash-Lite, optimisé pour la rentabilité, le débit élevé et la qualité élevée.
-
gemini-2.5-flash-preview-native-audio-dialogNos modèles audio natifs sont optimisés pour des sorties audio de meilleure qualité, avec un rythme, une voix, une verbosité et une humeur plus naturels.
-
gemini-2.5-flash-image-previewNotre modèle natif de génération d'images, optimisé pour la vitesse, la flexibilité et la compréhension contextuelle. Les entrées et sorties de texte sont facturées au même prix que Gemini 2.5 Flash.
-
gemini-2.5-pro-preview-ttsNotre modèle audio de synthèse vocale 2.5 Pro est optimisé pour générer des voix puissantes et à faible latence, afin d'obtenir des résultats plus naturels et des requêtes plus faciles à orienter.
-
gemini-3-pro-previewNotre modèle le plus intelligent, doté de capacités de raisonnement et de compréhension multimodale de pointe, ainsi que de puissantes fonctionnalités de vibe coding et agentiques.
agent AgentOption (facultatif)
Nom de l'agent utilisé pour générer l'interaction.
Valeurs possibles :
-
deep-research-pro-preview-12-2025Agent Gemini Deep Research
Uniquement en sortie. Identifiant unique de la fin de l'interaction.
Uniquement en sortie. État de l'interaction.
Valeurs possibles :
-
in_progress -
requires_action -
completed -
failed -
cancelled
Uniquement en sortie. Heure à laquelle la réponse a été créée, au format ISO 8601 (AAAA-MM-JJThh:mm:ssZ).
Uniquement en sortie. Heure à laquelle la réponse a été mise à jour pour la dernière fois au format ISO 8601 (AAAA-MM-JJThh:mm:ssZ).
Uniquement en sortie. Rôle de l'interaction.
Uniquement en sortie. Réponses du modèle.
Uniquement en sortie. Type d'objet de l'interaction. Toujours défini sur "interaction".
Toujours défini sur "interaction".
usage Usage (facultatif)
Uniquement en sortie. Statistiques sur l'utilisation des jetons de la demande d'interaction.
Champs
Nombre de jetons dans l'invite (contexte).
input_tokens_by_modality ModalityTokens (facultatif)
Répartition de l'utilisation des jetons d'entrée par modalité.
Champs
modality ResponseModality (facultatif)
Modalité associée au nombre de jetons.
Valeurs possibles :
-
text -
image -
audio
Nombre de jetons pour la modalité.
Nombre de jetons dans la partie mise en cache de la requête (le contenu mis en cache).
cached_tokens_by_modality ModalityTokens (facultatif)
Répartition de l'utilisation des jetons mis en cache par modalité.
Champs
modality ResponseModality (facultatif)
Modalité associée au nombre de jetons.
Valeurs possibles :
-
text -
image -
audio
Nombre de jetons pour la modalité.
Nombre total de jetons dans toutes les réponses générées.
output_tokens_by_modality ModalityTokens (facultatif)
Répartition de l'utilisation des jetons de sortie par modalité.
Champs
modality ResponseModality (facultatif)
Modalité associée au nombre de jetons.
Valeurs possibles :
-
text -
image -
audio
Nombre de jetons pour la modalité.
Nombre de jetons présents dans la ou les invites d'utilisation d'outils.
tool_use_tokens_by_modality ModalityTokens (facultatif)
Répartition de l'utilisation des jetons d'utilisation des outils par modalité.
Champs
modality ResponseModality (facultatif)
Modalité associée au nombre de jetons.
Valeurs possibles :
-
text -
image -
audio
Nombre de jetons pour la modalité.
Nombre de jetons de pensées pour les modèles à raisonnement.
Nombre total de jetons pour la requête d'interaction (requête + réponses + autres jetons internes).
ID de l'interaction précédente, le cas échéant.
Exemples
Exemple
{ "created": "2025-12-04T15:01:45Z", "id": "v1_ChdXS0l4YWZXTk9xbk0xZThQczhEcmlROBIXV0tJeGFmV05PcW5NMWU4UHM4RHJpUTg", "model": "gemini-2.5-flash", "object": "interaction", "outputs": [ { "text": "Hello! I'm doing well, functioning as expected. Thank you for asking! How are you doing today?", "type": "text" } ], "role": "model", "status": "completed", "updated": "2025-12-04T15:01:45Z", "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 7 } ], "total_cached_tokens": 0, "total_input_tokens": 7, "total_output_tokens": 23, "total_reasoning_tokens": 49, "total_tokens": 79, "total_tool_use_tokens": 0 } }
Modèles de données
Contenu
Contenu de la réponse.
Types possibles
Discriminant polymorphe : type
TextContent
Bloc de contenu textuel.
Contenu textuel.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "text".
annotations Annotation (optional)
Informations de citation pour le contenu généré par le modèle.
Champs
Début du segment de la réponse attribué à cette source. L'index indique le début du segment, mesuré en octets.
Fin du segment attribué (exclusif).
Source attribuée à une partie du texte. Il peut s'agir d'une URL, d'un titre ou d'un autre identifiant.
ImageContent
Bloc de contenu d'image.
Aucune description fournie.
Aucune description fournie.
mime_type ImageMimeTypeOption (facultatif)
Aucune description fournie.
Valeurs possibles :
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "image".
resolution MediaResolution (optional)
Résolution du contenu multimédia.
Valeurs possibles :
-
low -
medium -
high
AudioContent
Bloc de contenu audio.
Aucune description fournie.
Aucune description fournie.
mime_type AudioMimeTypeOption (facultatif)
Aucune description fournie.
Valeurs possibles :
-
audio/wav -
audio/mp3 -
audio/aiff -
audio/aac -
audio/ogg -
audio/flac
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "audio".
DocumentContent
Bloc de contenu d'un document.
Aucune description fournie.
Aucune description fournie.
Aucune description fournie.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "document".
VideoContent
Bloc de contenu vidéo.
Aucune description fournie.
Aucune description fournie.
mime_type VideoMimeTypeOption (facultatif)
Aucune description fournie.
Valeurs possibles :
-
video/mp4 -
video/mpeg -
video/mov -
video/avi -
video/x-flv -
video/mpg -
video/webm -
video/wmv -
video/3gpp
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "video".
resolution MediaResolution (optional)
Résolution du contenu multimédia.
Valeurs possibles :
-
low -
medium -
high
ThoughtContent
Bloc de contenu de réflexion.
Signature permettant de faire correspondre la source du backend à inclure dans la génération.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "thought".
summary ThoughtSummary (facultatif)
Un résumé de la pensée.
FunctionCallContent
Bloc de contenu d'appel d'outil de fonction.
Nom de l'outil à appeler.
Arguments à transmettre à la fonction.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "function_call".
ID unique pour cet appel d'outil spécifique.
FunctionResultContent
Bloc de contenu de résultat d'outil de fonction.
Nom de l'outil appelé.
Indique si l'appel d'outil a entraîné une erreur.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "function_result".
Résultat de l'appel d'outil.
ID correspondant à l'ID du bloc d'appel de fonction.
CodeExecutionCallContent
Contenu d'exécution de code.
arguments CodeExecutionCallArguments (facultatif)
Arguments à transmettre à l'exécution du code.
Champs
Langage de programmation du code.
Valeurs possibles :
-
python
Code à exécuter.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "code_execution_call".
ID unique pour cet appel d'outil spécifique.
CodeExecutionResultContent
Contenu du résultat de l'exécution du code.
Sortie de l'exécution du code.
Indique si l'exécution du code a entraîné une erreur.
Hachage de signature pour la validation du backend.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "code_execution_result".
ID correspondant à celui du bloc d'appel d'exécution du code.
UrlContextCallContent
Contenu du contexte de l'URL.
arguments UrlContextCallArguments (facultatif)
Arguments à transmettre au contexte de l'URL.
Champs
URL à récupérer.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "url_context_call".
ID unique pour cet appel d'outil spécifique.
UrlContextResultContent
Contenu du résultat du contexte de l'URL.
Signature du résultat du contexte de l'URL.
result UrlContextResult (facultatif)
Résultats du contexte de l'URL.
Champs
URL récupérée.
État de la récupération de l'URL.
Valeurs possibles :
-
success -
error -
paywall -
unsafe
Indique si le contexte de l'URL a entraîné une erreur.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "url_context_result".
ID correspondant à l'ID du bloc d'appel de contexte d'URL.
GoogleSearchCallContent
Contenu de la recherche Google.
arguments GoogleSearchCallArguments (facultatif)
Arguments à transmettre à la recherche Google.
Champs
Requêtes de recherche sur le Web pour la recherche sur le Web de suivi.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "google_search_call".
ID unique pour cet appel d'outil spécifique.
GoogleSearchResultContent
Contenu des résultats de recherche Google.
Signature du résultat de recherche Google.
result GoogleSearchResult (facultatif)
Résultats de la recherche Google.
Champs
Référence URI du résultat de recherche.
Titre du résultat de recherche.
Extrait de contenu Web pouvant être intégré à une page Web ou à une WebView d'application.
Indique si la recherche Google a généré une erreur.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "google_search_result".
ID correspondant à l'ID du bloc d'appel de la recherche Google.
McpServerToolCallContent
Contenu de l'appel d'outil MCPServer.
Nom de l'outil appelé.
Nom du serveur MCP utilisé.
Objet JSON des arguments de la fonction.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "mcp_server_tool_call".
ID unique pour cet appel d'outil spécifique.
McpServerToolResultContent
Contenu du résultat de l'outil MCPServer.
Nom de l'outil appelé pour cet appel d'outil spécifique.
Nom du serveur MCP utilisé.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "mcp_server_tool_result".
Résultat de l'appel d'outil.
ID correspondant à l'ID du bloc d'appel d'outil du serveur MCP.
FileSearchResultContent
Contenu des résultats de recherche de fichiers.
result FileSearchResult (facultatif)
Résultats de la recherche de fichiers.
Champs
Titre du résultat de recherche.
Texte du résultat de recherche.
Nom du magasin de recherche de fichiers.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "file_search_result".
Exemples
Texte
{ "type": "text", "text": "Hello, how are you?" }
Image
{ "type": "image", "data": "BASE64_ENCODED_IMAGE", "mime_type": "image/png" }
Audio
{ "type": "audio", "data": "BASE64_ENCODED_AUDIO", "mime_type": "audio/wav" }
Document
{ "type": "document", "data": "BASE64_ENCODED_DOCUMENT", "mime_type": "application/pdf" }
Vidéo
{ "type": "video", "uri": "https://www.youtube.com/watch?v=9hE5-98ZeCg" }
Réflexion
{ "type": "thought", "summary": [ { "type": "text", "text": "The user is asking about the weather. I should use the get_weather tool." } ], "signature": "CoMDAXLI2nynRYojJIy6B1Jh9os2crpWLfB0+19xcLsGG46bd8wjkF/6RNlRUdvHrXyjsHkG0BZFcuO/bPOyA6Xh5jANNgx82wPHjGExN8A4ZQn56FlMwyZoqFVQz0QyY1lfibFJ2zU3J87uw26OewzcuVX0KEcs+GIsZa3EA6WwqhbsOd3wtZB3Ua2Qf98VAWZTS5y/tWpql7jnU3/CU7pouxQr/Bwft3hwnJNesQ9/dDJTuaQ8Zprh9VRWf1aFFjpIueOjBRrlT3oW6/y/eRl/Gt9BQXCYTqg/38vHFUU4Wo/d9dUpvfCe/a3o97t2Jgxp34oFKcsVb4S5WJrykIkw+14DzVnTpCpbQNFckqvFLuqnJCkL0EQFtunBXI03FJpPu3T1XU6id8S7ojoJQZSauGUCgmaLqUGdMrd08oo81ecoJSLs51Re9N/lISGmjWFPGpqJLoGq6uo4FHz58hmeyXCgHG742BHz2P3MiH1CXHUT2J8mF6zLhf3SR9Qb3lkrobAh" }
Appel de fonction
{ "type": "function_call", "name": "get_weather", "id": "gth23981", "arguments": { "location": "Boston, MA" } }
Résultat de la fonction
{ "type": "function_result", "name": "get_weather", "call_id": "gth23981", "result": { "weather": "sunny" } }
Appel d'exécution de code
{ "type": "code_execution_call", "id": "call_123456", "arguments": { "language": "python", "code": "print('hello world')" } }
Résultat de l'exécution du code
{ "type": "code_execution_result", "call_id": "call_123456", "result": "hello world\n" }
Appel de contexte d'URL
{ "type": "url_context_call", "id": "call_123456", "arguments": { "urls": [ "https://www.example.com" ] } }
Résultat du contexte de l'URL
{ "type": "url_context_result", "call_id": "call_123456", "result": [ { "url": "https://www.example.com", "status": "SUCCESS" } ] }
Appel depuis la recherche Google
{ "type": "google_search_call", "id": "call_123456", "arguments": { "queries": [ "weather in Boston" ] } }
Résultat de recherche Google
{ "type": "google_search_result", "call_id": "call_123456", "result": [ { "url": "https://www.google.com/search?q=weather+in+Boston", "title": "Weather in Boston" } ] }
Appel d'outil du serveur MCP
{ "type": "mcp_server_tool_call", "id": "call_123456", "name": "get_forecast", "server_name": "weather_server", "arguments": { "city": "London" } }
Résultat de l'outil de serveur MCP
{ "type": "mcp_server_tool_result", "name": "get_forecast", "server_name": "weather_server", "call_id": "call_123456", "result": "sunny" }
Résultat de recherche de fichier
{ "type": "file_search_result", "result": [ { "text": "search result chunk", "file_search_store": "file_search_store" } ] }
Outil
Types possibles
Discriminant polymorphe : type
Fonction
Outil pouvant être utilisé par le modèle.
Nom de la fonction.
Description de la fonction.
Schéma JSON pour les paramètres de la fonction.
Aucune description fournie.
Toujours défini sur "function".
GoogleSearch
Outil que le modèle peut utiliser pour effectuer des recherches sur Google.
Aucune description fournie.
Toujours défini sur "google_search".
CodeExecution
Outil que le modèle peut utiliser pour exécuter du code.
Aucune description fournie.
Toujours défini sur "code_execution".
UrlContext
Outil que le modèle peut utiliser pour récupérer le contexte d'une URL.
Aucune description fournie.
Toujours défini sur "url_context".
ComputerUse
Outil que le modèle peut utiliser pour interagir avec l'ordinateur.
Aucune description fournie.
Toujours défini sur "computer_use".
Environnement exploité.
Valeurs possibles :
-
browser
Liste des fonctions prédéfinies exclues de l'appel de modèle.
McpServer
Un MCPServer est un serveur qui peut être appelé par le modèle pour effectuer des actions.
Aucune description fournie.
Toujours défini sur "mcp_server".
Nom du MCPServer.
URL complète du point de terminaison MCPServer. Exemple : "https://api.example.com/mcp"
Facultatif : Champs pour les en-têtes d'authentification, les délais d'attente, etc., si nécessaire.
allowed_tools AllowedTools (facultatif)
Outils autorisés.
Champs
mode ToolChoiceType (facultatif)
Mode de choix de l'outil.
Valeurs possibles :
-
auto -
any -
none -
validated
Noms des outils autorisés.
FileSearch
Outil que le modèle peut utiliser pour rechercher des fichiers.
Noms des magasins de fichiers à rechercher.
Nombre de blocs de récupération sémantique à récupérer.
Filtre de métadonnées à appliquer aux documents et aux blocs de récupération sémantique.
Aucune description fournie.
Toujours défini sur "file_search".
Exemples
Fonction
GoogleSearch
CodeExecution
UrlContext
ComputerUse
McpServer
FileSearch
CANNOT TRANSLATE
Champs
L'auteur de ce tour. Doit être "user" pour l'entrée ou "model" pour la sortie du modèle.
Contenu du tour.
Exemples
Tour de l'utilisateur
{ "role": "user", "content": [ { "type": "text", "text": "user turn" } ] }
Tour de modèle
{ "role": "model", "content": [ { "type": "text", "text": "model turn" } ] }
InteractionSseEvent
Types possibles
Discriminant polymorphe : event_type
InteractionEvent
Aucune description fournie.
Valeurs possibles :
-
interaction.start -
interaction.complete
Aucune description fournie.
Jeton event_id à utiliser pour reprendre le flux d'interaction à partir de cet événement.
InteractionStatusUpdate
Aucune description fournie.
Aucune description fournie.
Valeurs possibles :
-
in_progress -
requires_action -
completed -
failed -
cancelled
Aucune description fournie.
Toujours défini sur "interaction.status_update".
Jeton event_id à utiliser pour reprendre le flux d'interaction à partir de cet événement.
ContentStart
Aucune description fournie.
Aucune description fournie.
Aucune description fournie.
Toujours défini sur "content.start".
Jeton event_id à utiliser pour reprendre le flux d'interaction à partir de cet événement.
ContentDelta
Aucune description fournie.
Aucune description fournie.
Toujours défini sur "content.delta".
Jeton event_id à utiliser pour reprendre le flux d'interaction à partir de cet événement.
delta object (facultatif)
Aucune description fournie.
Types possibles
Discriminateur polymorphe : type
TextDelta
Aucune description fournie.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "text".
annotations Annotation (optional)
Informations de citation pour le contenu généré par le modèle.
Champs
Début du segment de la réponse attribué à cette source. L'index indique le début du segment, mesuré en octets.
Fin du segment attribué (exclusif).
Source attribuée à une partie du texte. Il peut s'agir d'une URL, d'un titre ou d'un autre identifiant.
ImageDelta
Aucune description fournie.
Aucune description fournie.
mime_type ImageMimeTypeOption (facultatif)
Aucune description fournie.
Valeurs possibles :
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "image".
resolution MediaResolution (optional)
Résolution du contenu multimédia.
Valeurs possibles :
-
low -
medium -
high
AudioDelta
Aucune description fournie.
Aucune description fournie.
mime_type AudioMimeTypeOption (facultatif)
Aucune description fournie.
Valeurs possibles :
-
audio/wav -
audio/mp3 -
audio/aiff -
audio/aac -
audio/ogg -
audio/flac
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "audio".
DocumentDelta
Aucune description fournie.
Aucune description fournie.
Aucune description fournie.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "document".
VideoDelta
Aucune description fournie.
Aucune description fournie.
mime_type VideoMimeTypeOption (facultatif)
Aucune description fournie.
Valeurs possibles :
-
video/mp4 -
video/mpeg -
video/mov -
video/avi -
video/x-flv -
video/mpg -
video/webm -
video/wmv -
video/3gpp
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "video".
resolution MediaResolution (facultatif)
Résolution du contenu multimédia.
Valeurs possibles :
-
low -
medium -
high
ThoughtSummaryDelta
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "thought_summary".
Aucune description fournie.
ThoughtSignatureDelta
Signature permettant de faire correspondre la source du backend à inclure dans la génération.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "thought_signature".
FunctionCallDelta
Aucune description fournie.
Aucune description fournie.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "function_call".
ID unique pour cet appel d'outil spécifique.
FunctionResultDelta
Aucune description fournie.
Aucune description fournie.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "function_result".
Delta du résultat de l'appel d'outil.
ID correspondant à l'ID du bloc d'appel de fonction.
CodeExecutionCallDelta
arguments CodeExecutionCallArguments (facultatif)
Aucune description fournie.
Champs
Langage de programmation du code.
Valeurs possibles :
-
python
Code à exécuter.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "code_execution_call".
ID unique pour cet appel d'outil spécifique.
CodeExecutionResultDelta
Aucune description fournie.
Aucune description fournie.
Aucune description fournie.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "code_execution_result".
ID correspondant à l'ID du bloc d'appel de fonction.
UrlContextCallDelta
arguments UrlContextCallArguments (facultatif)
Aucune description fournie.
Champs
URL à récupérer.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "url_context_call".
ID unique pour cet appel d'outil spécifique.
UrlContextResultDelta
Aucune description fournie.
result UrlContextResult (facultatif)
Aucune description fournie.
Champs
URL récupérée.
État de la récupération de l'URL.
Valeurs possibles :
-
success -
error -
paywall -
unsafe
Aucune description fournie.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "url_context_result".
ID correspondant à l'ID du bloc d'appel de fonction.
GoogleSearchCallDelta
arguments GoogleSearchCallArguments (facultatif)
Aucune description fournie.
Champs
Requêtes de recherche sur le Web pour la recherche sur le Web de suivi.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "google_search_call".
ID unique pour cet appel d'outil spécifique.
GoogleSearchResultDelta
Aucune description fournie.
result GoogleSearchResult (facultatif)
Aucune description fournie.
Champs
Référence URI du résultat de recherche.
Titre du résultat de recherche.
Extrait de contenu Web pouvant être intégré à une page Web ou à une WebView d'application.
Aucune description fournie.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "google_search_result".
ID correspondant à l'ID du bloc d'appel de fonction.
McpServerToolCallDelta
Aucune description fournie.
Aucune description fournie.
Aucune description fournie.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "mcp_server_tool_call".
ID unique pour cet appel d'outil spécifique.
McpServerToolResultDelta
Aucune description fournie.
Aucune description fournie.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "mcp_server_tool_result".
Delta du résultat de l'appel d'outil.
ID correspondant à l'ID du bloc d'appel de fonction.
FileSearchResultDelta
result FileSearchResult (facultatif)
Aucune description fournie.
Champs
Titre du résultat de recherche.
Texte du résultat de recherche.
Nom du magasin de recherche de fichiers.
Utilisé comme discriminant de type OpenAPI pour le contenu oneof.
Toujours défini sur "file_search_result".
ContentStop
Aucune description fournie.
Aucune description fournie.
Toujours défini sur "content.stop".
Jeton event_id à utiliser pour reprendre le flux d'interaction à partir de cet événement.
ErrorEvent
Aucune description fournie.
Toujours défini sur "error".
error Error (facultatif)
Aucune description fournie.
Champs
URI qui identifie le type d'erreur.
Message d'erreur lisible par l'utilisateur.
Jeton event_id à utiliser pour reprendre le flux d'interaction à partir de cet événement.
Exemples
Début de l'interaction
{ "event_type": "interaction.start", "interaction": { "id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM", "model": "gemini-2.5-flash", "object": "interaction", "status": "in_progress" } }
Interaction terminée
{ "event_type": "interaction.complete", "interaction": { "created": "2025-12-09T18:45:40Z", "id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM", "model": "gemini-2.5-flash", "object": "interaction", "outputs": [ { "signature": "CoMDAXLI2nynRYojJIy6B1Jh9os2crpWLfB0+19xcLsGG46bd8wjkF/6RNlRUdvHrXyjsHkG0BZFcuO/bPOyA6Xh5jANNgx82wPHjGExN8A4ZQn56FlMwyZoqFVQz0QyY1lfibFJ2zU3J87uw26OewzcuVX0KEcs+GIsZa3EA6WwqhbsOd3wtZB3Ua2Qf98VAWZTS5y/tWpql7jnU3/CU7pouxQr/Bwft3hwnJNesQ9/dDJTuaQ8Zprh9VRWf1aFFjpIueOjBRrlT3oW6/y/eRl/Gt9BQXCYTqg/38vHFUU4Wo/d9dUpvfCe/a3o97t2Jgxp34oFKcsVb4S5WJrykIkw+14DzVnTpCpbQNFckqvFLuqnJCkL0EQFtunBXI03FJpPu3T1XU6id8S7ojoJQZSauGUCgmaLqUGdMrd08oo81ecoJSLs51Re9N/lISGmjWFPGpqJLoGq6uo4FHz58hmeyXCgHG742BHz2P3MiH1CXHUT2J8mF6zLhf3SR9Qb3lkrobAh", "type": "thought" }, { "text": "Elara\u2019s life was a symphony of quiet moments. A librarian, she found solace in the hushed aisles, the scent of aged paper, and the predictable rhythm of her days. Her small apartment, meticulously ordered, reflected this internal calm, save", "type": "text" }, { "text": " for one beloved anomaly: a chipped porcelain teacup, inherited from her grandmother, which held her morning Earl Grey.\n\nOne Tuesday, stirring her tea, Elara paused. At the bottom, nestled against the porcelain, was a star.", "type": "text" }, { "text": " Not a star-shaped tea leaf, but a miniature, perfectly formed celestial body, radiating a faint, cool luminescence. Before she could gasp, it dissolved, leaving only the amber swirl of her brew. She dismissed it as a trick of", "type": "text" }, { "text": " tired eyes.\n\nBut the next morning, a gossamer-thin feather, smaller than an eyelash and shimmering with iridescent hues, floated on the surface. It vanished the moment she tried to touch it. A week later, a single,", "type": "text" }, { "text": " impossibly delicate bloom, like spun moonbeam, unfolded in her cup before fading into nothingness.\n\nThese weren't illusions. Each day, Elara\u2019s chipped teacup offered a fleeting, exquisite secret. A tiny, perfect", "type": "text" }, { "text": " crystal, a miniature spiral nebula, a fragment of rainbow caught in liquid form. They never lingered, never accumulated, simply *were* and then *weren't*, leaving behind a residue of quiet wonder.\n\nElara never spoke", "type": "text" }, { "text": " of it. It was her private wellspring, a daily reminder that magic could exist in the smallest, most overlooked corners of the world. Her routine remained unchanged, her external life a picture of calm, but inside, a secret garden blo", "type": "text" }, { "text": "omed. Each dawn brought not just tea, but the silent promise of extraordinary beauty, waiting patiently in a chipped teacup.", "type": "text" } ], "role": "model", "status": "completed", "updated": "2025-12-09T18:45:40Z", "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 11 } ], "total_cached_tokens": 0, "total_input_tokens": 11, "total_output_tokens": 364, "total_reasoning_tokens": 1120, "total_tokens": 1495, "total_tool_use_tokens": 0 } } }
Mise à jour de l'état de l'interaction
{ "event_type": "interaction.status_update", "interaction_id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM", "status": "in_progress" }
Début du contenu
{ "event_type": "content.start", "content": { "type": "text" }, "index": 1 }
Delta de contenu
{ "event_type": "content.delta", "delta": { "type": "text", "text": "Elara\u2019s life was a symphony of quiet moments. A librarian, she found solace in the hushed aisles, the scent of aged paper, and the predictable rhythm of her days. Her small apartment, meticulously ordered, reflected this internal calm, save" }, "index": 1 }
Arrêt du contenu
{ "event_type": "content.stop", "index": 1 }
Événement d'erreur
{ "event_type": "error", "error": { "message": "Failed to get completed interaction: Result not found.", "code": "not_found" } }