Gemini API

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

post https://generativelanguage.googleapis.com/v1beta/interactions

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-pro

    Notre modèle polyvalent de pointe, qui excelle dans les tâches de codage et de raisonnement complexes.

  • gemini-2.5-flash

    Notre 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-2025

    Dernier 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-lite

    Notre modèle le plus petit et le plus économique, conçu pour une utilisation à grande échelle.

  • gemini-2.5-flash-lite-preview-09-2025

    Dernier 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-dialog

    Nos 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-preview

    Notre 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-tts

    Notre 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-preview

    Notre 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.

Modèle qui complétera votre requête.\n\nPour en savoir plus, consultez [modèles](https://ai.google.dev/gemini-api/docs/models).

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-2025

    Agent Gemini Deep Research

Agent avec lequel interagir.

input Content ou tableau (Content) ou tableau (Turn) ou chaîne  (obligatoire)

Entrées de l'interaction (communes au modèle et à l'agent).

system_instruction string  (facultatif)

Instruction système pour l'interaction.

tools array (Tool)  (facultatif)

Liste des déclarations d'outils que le modèle peut appeler lors de l'interaction.

response_format object  (facultatif)

Force la réponse générée à être un objet JSON conforme au schéma JSON spécifié dans ce champ.

response_mime_type string  (facultatif)

Type MIME de la réponse. Obligatoire si response_format est défini.

stream boolean  (facultatif)

Uniquement en entrée. Indique si l'interaction sera diffusée en streaming.

store boolean  (facultatif)

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.

background boolean  (facultatif)

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.

Paramètres de configuration pour les interactions avec le modèle.

Champs

temperature number  (facultatif)

Contrôle le caractère aléatoire de la sortie.

top_p number  (facultatif)

Probabilité cumulée maximale des jetons à prendre en compte lors de l'échantillonnage.

seed integer  (facultatif)

Graine utilisée dans le décodage pour la reproductibilité.

stop_sequences array (string)  (optional)

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.

Configuration du choix de l'outil.

Types possibles

ToolChoiceType

Ce type ne comporte aucun champ spécifique.

ToolChoiceConfig

allowed_tools AllowedTools  (facultatif)

Aucune description fournie.

Configuration des outils autorisés.

Champs

mode ToolChoiceType  (facultatif)

Mode de choix de l'outil.

Valeurs possibles :

  • auto
  • any
  • none
  • validated

tools array (string)  (facultatif)

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

max_output_tokens integer  (facultatif)

Nombre maximal de jetons à inclure dans la réponse.

speech_config SpeechConfig  (facultatif)

Configuration pour l'interaction vocale.

Configuration de l'interaction vocale.

Champs

voice string  (facultatif)

La voix de l'orateur.

language string  (facultatif)

Langue du discours.

speaker string  (facultatif)

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.

type string  (facultatif)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "dynamic".

DeepResearchAgentConfig

Configuration de l'agent Deep Research.

type string  (facultatif)

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

previous_interaction_id string  (facultatif)

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

get https://generativelanguage.googleapis.com/v1beta/interactions/{id}

Récupère tous les détails d'une interaction en fonction de son `Interaction.id`.

Paramètres de chemin / de requête

id chaîne  (obligatoire)

Identifiant unique de l'interaction à récupérer.

stream boolean  (facultatif)

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

last_event_id string  (facultatif)

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".

api_version string  (facultatif)

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

delete https://generativelanguage.googleapis.com/v1beta/interactions/{id}

Supprime l'interaction par ID.

Paramètres de chemin / de requête

id chaîne  (obligatoire)

Identifiant unique de l'interaction à supprimer.

api_version string  (facultatif)

Version de l'API à utiliser.

Réponse

Si l'opération réussit, la réponse est vide.

Supprimer une interaction

Annuler une interaction

post https://generativelanguage.googleapis.com/v1beta/interactions/{id}/cancel

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

id chaîne  (obligatoire)

Identifiant unique de l'interaction à récupérer.

api_version string  (facultatif)

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-pro

    Notre modèle polyvalent de pointe, qui excelle dans les tâches de codage et de raisonnement complexes.

  • gemini-2.5-flash

    Notre 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-2025

    Dernier 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-lite

    Notre modèle le plus petit et le plus économique, conçu pour une utilisation à grande échelle.

  • gemini-2.5-flash-lite-preview-09-2025

    Dernier 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-dialog

    Nos 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-preview

    Notre 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-tts

    Notre 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-preview

    Notre 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.

Modèle qui complétera votre requête.\n\nPour en savoir plus, consultez [modèles](https://ai.google.dev/gemini-api/docs/models).

agent AgentOption  (facultatif)

Nom de l'agent utilisé pour générer l'interaction.

Valeurs possibles :

  • deep-research-pro-preview-12-2025

    Agent Gemini Deep Research

Agent avec lequel interagir.

id chaîne  (facultatif)

Uniquement en sortie. Identifiant unique de la fin de l'interaction.

status enum (string)  (facultatif)

Uniquement en sortie. État de l'interaction.

Valeurs possibles :

  • in_progress
  • requires_action
  • completed
  • failed
  • cancelled
created string  (facultatif)

Uniquement en sortie. Heure à laquelle la réponse a été créée, au format ISO 8601 (AAAA-MM-JJThh:mm:ssZ).

updated string  (facultatif)

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).

role string  (facultatif)

Uniquement en sortie. Rôle de l'interaction.

outputs array (Content)  (facultatif)

Uniquement en sortie. Réponses du modèle.

objet chaîne  (facultatif)

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.

Statistiques sur l'utilisation des jetons de la demande d'interaction.

Champs

total_input_tokens integer  (optional)

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é.

Nombre de jetons pour une seule modalité de réponse.

Champs

modality ResponseModality  (facultatif)

Modalité associée au nombre de jetons.

Valeurs possibles :

  • text
  • image
  • audio

tokens integer  (facultatif)

Nombre de jetons pour la modalité.

total_cached_tokens integer  (optional)

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é.

Nombre de jetons pour une seule modalité de réponse.

Champs

modality ResponseModality  (facultatif)

Modalité associée au nombre de jetons.

Valeurs possibles :

  • text
  • image
  • audio

tokens integer  (facultatif)

Nombre de jetons pour la modalité.

total_output_tokens integer  (facultatif)

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é.

Nombre de jetons pour une seule modalité de réponse.

Champs

modality ResponseModality  (facultatif)

Modalité associée au nombre de jetons.

Valeurs possibles :

  • text
  • image
  • audio

tokens integer  (facultatif)

Nombre de jetons pour la modalité.

total_tool_use_tokens integer  (optional)

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é.

Nombre de jetons pour une seule modalité de réponse.

Champs

modality ResponseModality  (facultatif)

Modalité associée au nombre de jetons.

Valeurs possibles :

  • text
  • image
  • audio

tokens integer  (facultatif)

Nombre de jetons pour la modalité.

total_reasoning_tokens integer  (optional)

Nombre de jetons de pensées pour les modèles à raisonnement.

total_tokens integer  (optional)

Nombre total de jetons pour la requête d'interaction (requête + réponses + autres jetons internes).

previous_interaction_id string  (facultatif)

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.

text string  (facultatif)

Contenu textuel.

type string  (obligatoire)

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.

Informations de citation pour le contenu généré par le modèle.

Champs

start_index integer  (facultatif)

Début du segment de la réponse attribué à cette source. L'index indique le début du segment, mesuré en octets.

end_index integer  (facultatif)

Fin du segment attribué (exclusif).

source string  (facultatif)

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.

data string  (facultatif)

Aucune description fournie.

uri string  (facultatif)

Aucune description fournie.

mime_type ImageMimeTypeOption  (facultatif)

Aucune description fournie.

Valeurs possibles :

  • image/png
  • image/jpeg
  • image/webp
  • image/heic
  • image/heif

Type MIME de l'image.

type chaîne  (obligatoire)

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.

data string  (facultatif)

Aucune description fournie.

uri string  (facultatif)

Aucune description fournie.

mime_type AudioMimeTypeOption  (facultatif)

Aucune description fournie.

Valeurs possibles :

  • audio/wav
  • audio/mp3
  • audio/aiff
  • audio/aac
  • audio/ogg
  • audio/flac

Type MIME du contenu audio.

type string  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "audio".

DocumentContent

Bloc de contenu d'un document.

data string  (facultatif)

Aucune description fournie.

uri string  (facultatif)

Aucune description fournie.

mime_type string  (facultatif)

Aucune description fournie.

type string  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "document".

VideoContent

Bloc de contenu vidéo.

data string  (facultatif)

Aucune description fournie.

uri string  (facultatif)

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

Type MIME de la vidéo.

type chaîne  (obligatoire)

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 string  (facultatif)

Signature permettant de faire correspondre la source du backend à inclure dans la génération.

type chaîne  (obligatoire)

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.

Un résumé de la pensée.

FunctionCallContent

Bloc de contenu d'appel d'outil de fonction.

name string  (obligatoire)

Nom de l'outil à appeler.

arguments object  (obligatoire)

Arguments à transmettre à la fonction.

type chaîne  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "function_call".

id chaîne  (obligatoire)

ID unique pour cet appel d'outil spécifique.

FunctionResultContent

Bloc de contenu de résultat d'outil de fonction.

name string  (facultatif)

Nom de l'outil appelé.

is_error boolean  (facultatif)

Indique si l'appel d'outil a entraîné une erreur.

type chaîne  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "function_result".

result objet ou chaîne  (obligatoire)

Résultat de l'appel d'outil.

call_id string  (obligatoire)

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.

Arguments à transmettre à l'exécution du code.

Champs

language enum (string)  (facultatif)

Langage de programmation du code.

Valeurs possibles :

  • python
code string  (facultatif)

Code à exécuter.

type chaîne  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "code_execution_call".

id chaîne  (facultatif)

ID unique pour cet appel d'outil spécifique.

CodeExecutionResultContent

Contenu du résultat de l'exécution du code.

result string  (facultatif)

Sortie de l'exécution du code.

is_error boolean  (facultatif)

Indique si l'exécution du code a entraîné une erreur.

signature string  (facultatif)

Hachage de signature pour la validation du backend.

type string  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "code_execution_result".

call_id string  (facultatif)

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.

Arguments à transmettre au contexte de l'URL.

Champs

urls array (string)  (optional)

URL à récupérer.

type string  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "url_context_call".

id chaîne  (facultatif)

ID unique pour cet appel d'outil spécifique.

UrlContextResultContent

Contenu du résultat du contexte de l'URL.

signature string  (facultatif)

Signature du résultat du contexte de l'URL.

result UrlContextResult  (facultatif)

Résultats du contexte de l'URL.

Résultat du contexte de l'URL.

Champs

url string  (optional)

URL récupérée.

status enum (string)  (facultatif)

État de la récupération de l'URL.

Valeurs possibles :

  • success
  • error
  • paywall
  • unsafe
is_error boolean  (facultatif)

Indique si le contexte de l'URL a entraîné une erreur.

type string  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "url_context_result".

call_id string  (facultatif)

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.

Arguments à transmettre à la recherche Google.

Champs

queries array (string)  (facultatif)

Requêtes de recherche sur le Web pour la recherche sur le Web de suivi.

type string  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "google_search_call".

id chaîne  (facultatif)

ID unique pour cet appel d'outil spécifique.

GoogleSearchResultContent

Contenu des résultats de recherche Google.

signature string  (facultatif)

Signature du résultat de recherche Google.

result GoogleSearchResult  (facultatif)

Résultats de la recherche Google.

Résultat de la recherche Google.

Champs

url string  (optional)

Référence URI du résultat de recherche.

title string  (facultatif)

Titre du résultat de recherche.

rendered_content string  (facultatif)

Extrait de contenu Web pouvant être intégré à une page Web ou à une WebView d'application.

is_error boolean  (facultatif)

Indique si la recherche Google a généré une erreur.

type chaîne  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "google_search_result".

call_id string  (facultatif)

ID correspondant à l'ID du bloc d'appel de la recherche Google.

McpServerToolCallContent

Contenu de l'appel d'outil MCPServer.

name string  (obligatoire)

Nom de l'outil appelé.

server_name string  (required)

Nom du serveur MCP utilisé.

arguments object  (obligatoire)

Objet JSON des arguments de la fonction.

type chaîne  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "mcp_server_tool_call".

id chaîne  (obligatoire)

ID unique pour cet appel d'outil spécifique.

McpServerToolResultContent

Contenu du résultat de l'outil MCPServer.

name string  (facultatif)

Nom de l'outil appelé pour cet appel d'outil spécifique.

server_name string  (facultatif)

Nom du serveur MCP utilisé.

type chaîne  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "mcp_server_tool_result".

result objet ou chaîne  (obligatoire)

Résultat de l'appel d'outil.

call_id string  (obligatoire)

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.

Résultat de la recherche de fichiers.

Champs

title string  (facultatif)

Titre du résultat de recherche.

text string  (facultatif)

Texte du résultat de recherche.

file_search_store string  (facultatif)

Nom du magasin de recherche de fichiers.

type chaîne  (obligatoire)

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.

name string  (facultatif)

Nom de la fonction.

description string  (facultatif)

Description de la fonction.

parameters object  (facultatif)

Schéma JSON pour les paramètres de la fonction.

type string  (obligatoire)

Aucune description fournie.

Toujours défini sur "function".

GoogleSearch

Outil que le modèle peut utiliser pour effectuer des recherches sur Google.

type chaîne  (obligatoire)

Aucune description fournie.

Toujours défini sur "google_search".

CodeExecution

Outil que le modèle peut utiliser pour exécuter du code.

type chaîne  (obligatoire)

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.

type chaîne  (obligatoire)

Aucune description fournie.

Toujours défini sur "url_context".

ComputerUse

Outil que le modèle peut utiliser pour interagir avec l'ordinateur.

type chaîne  (obligatoire)

Aucune description fournie.

Toujours défini sur "computer_use".

environment enum (string)  (optional)

Environnement exploité.

Valeurs possibles :

  • browser
excludedPredefinedFunctions array (string)  (facultatif)

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.

type chaîne  (obligatoire)

Aucune description fournie.

Toujours défini sur "mcp_server".

name string  (facultatif)

Nom du MCPServer.

url string  (optional)

URL complète du point de terminaison MCPServer. Exemple : "https://api.example.com/mcp"

headers object  (facultatif)

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.

Configuration des outils autorisés.

Champs

mode ToolChoiceType  (facultatif)

Mode de choix de l'outil.

Valeurs possibles :

  • auto
  • any
  • none
  • validated

tools array (string)  (facultatif)

Noms des outils autorisés.

FileSearch

Outil que le modèle peut utiliser pour rechercher des fichiers.

file_search_store_names array (string)  (optional)

Noms des magasins de fichiers à rechercher.

top_k integer  (optional)

Nombre de blocs de récupération sémantique à récupérer.

metadata_filter string  (optional)

Filtre de métadonnées à appliquer aux documents et aux blocs de récupération sémantique.

type string  (obligatoire)

Aucune description fournie.

Toujours défini sur "file_search".

Exemples

Fonction

GoogleSearch

CodeExecution

UrlContext

ComputerUse

McpServer

FileSearch

CANNOT TRANSLATE

Champs

role string  (facultatif)

L'auteur de ce tour. Doit être "user" pour l'entrée ou "model" pour la sortie du modèle.

content array (Content) or string  (optional)

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

event_type enum (string)  (facultatif)

Aucune description fournie.

Valeurs possibles :

  • interaction.start
  • interaction.complete
interaction Interaction  (facultatif)

Aucune description fournie.

event_id string  (facultatif)

Jeton event_id à utiliser pour reprendre le flux d'interaction à partir de cet événement.

InteractionStatusUpdate

interaction_id string  (facultatif)

Aucune description fournie.

status enum (string)  (facultatif)

Aucune description fournie.

Valeurs possibles :

  • in_progress
  • requires_action
  • completed
  • failed
  • cancelled
event_type string  (facultatif)

Aucune description fournie.

Toujours défini sur "interaction.status_update".

event_id string  (facultatif)

Jeton event_id à utiliser pour reprendre le flux d'interaction à partir de cet événement.

ContentStart

index integer  (facultatif)

Aucune description fournie.

content Content  (facultatif)

Aucune description fournie.

event_type string  (facultatif)

Aucune description fournie.

Toujours défini sur "content.start".

event_id string  (facultatif)

Jeton event_id à utiliser pour reprendre le flux d'interaction à partir de cet événement.

ContentDelta

index integer  (facultatif)

Aucune description fournie.

event_type string  (facultatif)

Aucune description fournie.

Toujours défini sur "content.delta".

event_id string  (facultatif)

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

text string  (facultatif)

Aucune description fournie.

type string  (obligatoire)

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.

Informations de citation pour le contenu généré par le modèle.

Champs

start_index integer  (facultatif)

Début du segment de la réponse attribué à cette source. L'index indique le début du segment, mesuré en octets.

end_index integer  (facultatif)

Fin du segment attribué (exclusif).

source string  (facultatif)

Source attribuée à une partie du texte. Il peut s'agir d'une URL, d'un titre ou d'un autre identifiant.

ImageDelta

data string  (facultatif)

Aucune description fournie.

uri string  (facultatif)

Aucune description fournie.

mime_type ImageMimeTypeOption  (facultatif)

Aucune description fournie.

Valeurs possibles :

  • image/png
  • image/jpeg
  • image/webp
  • image/heic
  • image/heif

Type MIME de l'image.

type chaîne  (obligatoire)

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

data string  (facultatif)

Aucune description fournie.

uri string  (facultatif)

Aucune description fournie.

mime_type AudioMimeTypeOption  (facultatif)

Aucune description fournie.

Valeurs possibles :

  • audio/wav
  • audio/mp3
  • audio/aiff
  • audio/aac
  • audio/ogg
  • audio/flac

Type MIME du contenu audio.

type string  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "audio".

DocumentDelta

data string  (facultatif)

Aucune description fournie.

uri string  (facultatif)

Aucune description fournie.

mime_type string  (facultatif)

Aucune description fournie.

type string  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "document".

VideoDelta

data string  (facultatif)

Aucune description fournie.

uri string  (facultatif)

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

Type MIME de la vidéo.

type chaîne  (obligatoire)

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

type string  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "thought_summary".

content ImageContent ou TextContent  (facultatif)

Aucune description fournie.

ThoughtSignatureDelta

signature string  (facultatif)

Signature permettant de faire correspondre la source du backend à inclure dans la génération.

type chaîne  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "thought_signature".

FunctionCallDelta

name string  (facultatif)

Aucune description fournie.

arguments object  (facultatif)

Aucune description fournie.

type string  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "function_call".

id chaîne  (facultatif)

ID unique pour cet appel d'outil spécifique.

FunctionResultDelta

name string  (facultatif)

Aucune description fournie.

is_error boolean  (facultatif)

Aucune description fournie.

type string  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "function_result".

result objet ou chaîne  (facultatif)

Delta du résultat de l'appel d'outil.

call_id string  (facultatif)

ID correspondant à l'ID du bloc d'appel de fonction.

CodeExecutionCallDelta

arguments CodeExecutionCallArguments  (facultatif)

Aucune description fournie.

Arguments à transmettre à l'exécution du code.

Champs

language enum (string)  (facultatif)

Langage de programmation du code.

Valeurs possibles :

  • python
code string  (facultatif)

Code à exécuter.

type chaîne  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "code_execution_call".

id chaîne  (facultatif)

ID unique pour cet appel d'outil spécifique.

CodeExecutionResultDelta

result string  (facultatif)

Aucune description fournie.

is_error boolean  (facultatif)

Aucune description fournie.

signature string  (facultatif)

Aucune description fournie.

type string  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "code_execution_result".

call_id string  (facultatif)

ID correspondant à l'ID du bloc d'appel de fonction.

UrlContextCallDelta

arguments UrlContextCallArguments  (facultatif)

Aucune description fournie.

Arguments à transmettre au contexte de l'URL.

Champs

urls array (string)  (optional)

URL à récupérer.

type string  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "url_context_call".

id chaîne  (facultatif)

ID unique pour cet appel d'outil spécifique.

UrlContextResultDelta

signature string  (facultatif)

Aucune description fournie.

result UrlContextResult  (facultatif)

Aucune description fournie.

Résultat du contexte de l'URL.

Champs

url string  (optional)

URL récupérée.

status enum (string)  (facultatif)

État de la récupération de l'URL.

Valeurs possibles :

  • success
  • error
  • paywall
  • unsafe
is_error boolean  (facultatif)

Aucune description fournie.

type string  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "url_context_result".

call_id string  (facultatif)

ID correspondant à l'ID du bloc d'appel de fonction.

GoogleSearchCallDelta

arguments GoogleSearchCallArguments  (facultatif)

Aucune description fournie.

Arguments à transmettre à la recherche Google.

Champs

queries array (string)  (facultatif)

Requêtes de recherche sur le Web pour la recherche sur le Web de suivi.

type string  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "google_search_call".

id chaîne  (facultatif)

ID unique pour cet appel d'outil spécifique.

GoogleSearchResultDelta

signature string  (facultatif)

Aucune description fournie.

result GoogleSearchResult  (facultatif)

Aucune description fournie.

Résultat de la recherche Google.

Champs

url string  (optional)

Référence URI du résultat de recherche.

title string  (facultatif)

Titre du résultat de recherche.

rendered_content string  (facultatif)

Extrait de contenu Web pouvant être intégré à une page Web ou à une WebView d'application.

is_error boolean  (facultatif)

Aucune description fournie.

type string  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "google_search_result".

call_id string  (facultatif)

ID correspondant à l'ID du bloc d'appel de fonction.

McpServerToolCallDelta

name string  (facultatif)

Aucune description fournie.

server_name string  (facultatif)

Aucune description fournie.

arguments object  (facultatif)

Aucune description fournie.

type string  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "mcp_server_tool_call".

id chaîne  (facultatif)

ID unique pour cet appel d'outil spécifique.

McpServerToolResultDelta

name string  (facultatif)

Aucune description fournie.

server_name string  (facultatif)

Aucune description fournie.

type string  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "mcp_server_tool_result".

result objet ou chaîne  (facultatif)

Delta du résultat de l'appel d'outil.

call_id string  (facultatif)

ID correspondant à l'ID du bloc d'appel de fonction.

FileSearchResultDelta

result FileSearchResult  (facultatif)

Aucune description fournie.

Résultat de la recherche de fichiers.

Champs

title string  (facultatif)

Titre du résultat de recherche.

text string  (facultatif)

Texte du résultat de recherche.

file_search_store string  (facultatif)

Nom du magasin de recherche de fichiers.

type chaîne  (obligatoire)

Utilisé comme discriminant de type OpenAPI pour le contenu oneof.

Toujours défini sur "file_search_result".

ContentStop

index integer  (facultatif)

Aucune description fournie.

event_type string  (facultatif)

Aucune description fournie.

Toujours défini sur "content.stop".

event_id string  (facultatif)

Jeton event_id à utiliser pour reprendre le flux d'interaction à partir de cet événement.

ErrorEvent

event_type string  (facultatif)

Aucune description fournie.

Toujours défini sur "error".

error Error  (facultatif)

Aucune description fournie.

Message d'erreur provenant d'une interaction.

Champs

code string  (facultatif)

URI qui identifie le type d'erreur.

message string  (facultatif)

Message d'erreur lisible par l'utilisateur.

event_id string  (facultatif)

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