The Gemini Interactions API allows developers to build generative AI applications using Gemini models. Gemini is our most capable model, built from the ground up to be multimodal. It can generalize and seamlessly understand, operate across, and combine different types of information including language, images, audio, video, and code. You can use the Gemini API for use cases like reasoning across text and images, content generation, dialogue agents, summarization and classification systems, and more.
Creating an interaction
Creates a new interaction.
Request body
The request body contains data with the following structure:
model ModelOption (optional)
The name of the `Model` used for generating the interaction.
Required if `agent` is not provided.
Possible values
-
gemma-4-26b-a4b-itGemma 4 26B A4B IT
-
gemma-4-31b-itGemma 4 31B IT
-
gemini-flash-latestLatest release of Gemini Flash
-
gemini-flash-lite-latestLatest release of Gemini Flash-Lite
-
gemini-pro-latestLatest release of Gemini Pro
-
gemini-2.5-flashOur first hybrid reasoning model which supports a 1M token context window and has thinking budgets.
-
gemini-2.5-proOur state-of-the-art multipurpose model, which excels at coding and complex reasoning tasks.
-
gemini-2.5-flash-liteOur smallest and most cost effective model, built for at scale usage.
-
gemini-3.5-flash-liteGemini 3.5 Flash-Lite - Our fastest, most cost-effective 3.5 model for high-throughput execution.
-
gemini-2.5-flash-imageOur native image generation model, optimized for speed, flexibility, and contextual understanding. Text input and output is priced the same as 2.5 Flash.
-
gemini-3-flash-previewOur most intelligent model built for speed, combining frontier intelligence with superior search and grounding.
-
gemini-3.1-pro-previewOur latest SOTA reasoning model with unprecedented depth and nuance, and powerful multimodal understanding and coding capabilities.
-
gemini-3.1-pro-preview-customtoolsGemini 3.1 Pro Preview optimized for custom tool usage
-
gemini-3.1-flash-liteOur most cost-efficient model, optimized for high-volume agentic tasks, translation, and simple data processing.
-
gemini-3.1-flash-lite-imageGemini 3.1 Flash Lite Image.
-
gemini-3-pro-imageGemini 3 Pro Image
-
nano-banana-pro-previewGemini 3 Pro Image Preview
-
gemini-3.1-flash-imageGemini 3.1 Flash Image.
-
gemini-nano-banana-2.1Gemini Nano Banana 2.1.
-
gemini-3.1-flash-tts-previewGemini 3.1 Flash TTS: Powerful, low-latency speech generation. Enjoy natural outputs, steerable prompts, and new expressive audio tags for precise narration control.
-
gemini-3.5-flashGemini 3.5 Flash - Our earlier Flash model, built for speed and foundational performance across routine, high-throughput workloads.
-
gemini-3.6-flashGemini 3.6 Flash - Our previous generation Flash model, balancing speed and multimodal capabilities across general agentic and everyday tasks.
-
gemini-3.7-flashGemini 3.7 Flash - Our high-speed, efficient Flash model built for everyday coding, agentic tool use, and reliable multi-step execution.
-
gemini-3.8-flashGemini 3.8 Flash - Our most intelligent Flash model, engineered for long-horizon software engineering, autonomous agents, and complex enterprise workflows.
-
gemini-3.8-flash-ttsGemini 3.8 Flash TTS - Flagship TTS model for Voice Design and dual-speaker screenplay control. Prompt custom vocal personas, direct line-by-line delivery, and add vocal bursts.
-
gemini-3.8-flash-lite-ttsGemini 3.8 Flash Lite TTS - High-speed and cost-efficient, ideal for rapid dubbing, media localization, and high-throughput voice agents. Direct replacement for gemini-3.1-flash-tts-preview.
-
lyria-3-clip-previewOur low-latency, music generation model optimized for high-fidelity audio clips and precise rhythmic control.
-
lyria-3-pro-previewOur advanced, full-song generative model with deep compositional understanding, optimized for precise structural control and complex transitions across diverse musical styles.
-
gemini-robotics-er-1.6-previewGemini Robotics-ER 1.6 Preview
-
gemini-robotics-er-2-previewGemini Robotics Embodied Reasoning 2 Preview
-
lyria-3.5Our flagship music generation model, optimized for full-length songs with complex structural coherence.
-
gemini-omni-1.1-flashOur high-performance multimodal model designed for fast, conversational video generation, editing, and cinematic control.
-
gemini-omni-flash-previewPreview release of our multimodal model for conversational video generation, editing, and cinematic control.
agent AgentOption (optional)
The name of the `Agent` used for generating the interaction.
Required if `model` is not provided.
Possible values
-
deep-research-pro-preview-12-2025Gemini Deep Research Agent
-
deep-research-preview-04-2026Gemini Deep Research Agent
-
deep-research-max-preview-04-2026Gemini Deep Research Max Agent
-
antigravity-preview-05-2026Use the Antigravity managed agent to perform multi-step tasks that require reasoning, file operations, and tool use.
The inputs for the interaction (common to both Model and Agent).
generation_config GenerationConfig (optional)
Model Configuration
Configuration parameters for the model interaction.
Alternative to `agent_config`. Only applicable when `model` is set.
Fields
Seed used in decoding for reproducibility.
A list of character sequences that will stop output interaction.
The tool choice configuration.
Possible values:
-
autoAuto tool choice.
-
anyAny tool choice.
-
noneNo tool choice.
-
validatedValidated tool choice.
thinking_level ThinkingLevel (optional)
The level of thought tokens that the model should generate.
Possible values
-
minimalLittle to no thinking.
-
lowLow thinking level.
-
mediumMedium thinking level.
-
highHigh thinking level.
thinking_summaries ThinkingSummaries (optional)
Whether to include thought summaries in the response.
Possible values
-
autoAuto thinking summaries.
-
noneNo thinking summaries.
The maximum number of tokens to include in the response.
video_config VideoConfig (optional)
Configuration for video generation.
Fields
Optional task mode for video generation. If not specified, the model automatically determines the appropriate mode based on the provided text prompt and input media.
Possible values:
-
text_to_videoGenerates video solely from a text prompt.
-
image_to_videoGenerates video from one or two source images. The first image defines the starting frame, and the optional second image defines the ending frame.
-
reference_to_videoGenerates video using reference media (such as images, audio, or video).
-
editModifies an existing input video.
-
extendExtends an existing input video.
transcription_config TranscriptionConfig (optional)
Optional. Configuration for speech recognition (transcription). If present, ASR is enabled.
Fields
Optional. BCP-47 language codes providing hints about the languages present in the audio. If omitted or empty, defaults to automatic language detection.
Optional. A list of custom vocabulary phrases to bias the speech recognition model toward recognizing specific terms.
mode TranscriptionMode or enum (string) (optional)
Discriminated transcription mode options or enum.
Possible Types
SmartTranscriptionMode
Configuration for smart transcription mode.
No description provided.
Always set to "smart".
VerbatimTranscriptionMode
Configuration for verbatim transcription mode.
No description provided.
Always set to "verbatim".
Optional. The granularity of timestamps to include in the transcription output. Supported values: "word". If empty, no timestamps are generated.
Optional. Configures speaker diarization. Supported values: "speaker".
structured_speech_config SpeakerConfig or array (SpeechConfig) (optional)
Speech and multi-speaker configuration.
Fields
speakers array (SpeechConfig) (optional)
Individual speaker configurations.
Fields
The voice of the speaker.
The language of the speech.
The speaker's name, it should match the speaker name given in the prompt.
Agent Configuration
Configuration for the agent.
Alternative to `generation_config`. Only applicable when `agent` is set.
System instruction for the interaction.
A list of tool declarations the model may call during interaction.
Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field.
The ID of the previous interaction, if any.
The environment configuration for the interaction. Can be an object specifying remote environment sources or a string referencing an existing environment ID.
service_tier ServiceTier (optional)
The service tier for the interaction.
Possible values
-
flexFlex service tier.
-
standardStandard service tier.
-
priorityPriority service tier.
webhook_config WebhookConfig (optional)
Optional. Webhook configuration for receiving notifications when the interaction completes.
Fields
Optional. If set, these webhook URIs will be used for webhook events instead of the registered webhooks.
Optional. The user metadata that will be returned on each event emission to the webhooks.
safety_settings array (SafetySetting) (optional)
Safety settings for the interaction.
Fields
type HarmCategory (required)
Required. The type of harm category to be blocked.
Possible values
-
hate_speechContent that promotes violence or incites hatred against individuals or groups based on certain attributes.
-
dangerous_contentContent that promotes, facilitates, or enables dangerous activities.
-
harassmentAbusive, threatening, or content intended to bully, torment, or ridicule.
-
sexually_explicitContent that contains sexually explicit material.
-
jailbreakPrompts designed to bypass safety filters.
Required. The threshold for blocking content. If the harm probability exceeds this threshold, the content will be blocked.
Possible values:
-
block_low_and_aboveBlock content with a low harm probability or higher.
-
block_medium_and_aboveBlock content with a medium harm probability or higher.
-
block_only_highBlock content with a high harm probability.
-
offTurn off the safety filter entirely.
Optional. The method for blocking content. If not specified, the default behavior is to use the probability score.
Possible values:
-
severityThe harm block method uses both probability and severity scores.
-
probabilityThe harm block method uses the probability score.
The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints) and can only contain lowercase letters, numeric characters, underscores, and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter.
Input only. Whether the interaction will be streamed.
Input only. Whether to store the response and request for later retrieval.
Input only. Whether to run the model interaction in the background.
Response
Returns an Interaction resource.
Simple Request
Example Response
{ "created": "2025-11-26T12:25:15Z", "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "model": "gemini-3.6-flash", "object": "interaction", "status": "completed", "steps": [ { "type": "model_output", "content": [ { "type": "text", "text": "Hello! I'm functioning perfectly and ready to assist you.\n\nHow are you doing today?" } ] } ], "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_thought_tokens": 22, "total_tokens": 49, "total_tool_use_tokens": 0 } }
Multi-turn
Example Response
{ "created": "2025-11-26T12:22:47Z", "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "model": "gemini-3.6-flash", "object": "interaction", "status": "completed", "steps": [ { "type": "model_output", "content": [ { "type": "text", "text": "The capital of France is Paris." } ] } ], "updated": "2025-11-26T12:22:47Z", "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 50 } ], "total_cached_tokens": 0, "total_input_tokens": 50, "total_output_tokens": 10, "total_thought_tokens": 0, "total_tokens": 60, "total_tool_use_tokens": 0 } }
Image Input
Example Response
{ "created": "2025-11-26T12:22:47Z", "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "model": "gemini-3.6-flash", "object": "interaction", "status": "completed", "steps": [ { "type": "model_output", "content": [ { "type": "text", "text": "A white humanoid robot with glowing blue eyes stands holding a red skateboard." } ] } ], "updated": "2025-11-26T12:22:47Z", "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_thought_tokens": 0, "total_tokens": 288, "total_tool_use_tokens": 0 } }
Function Calling
Example Response
{ "created": "2025-11-26T12:22:47Z", "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "model": "gemini-3.6-flash", "object": "interaction", "status": "requires_action", "steps": [ { "name": "get_weather", "type": "function_call", "arguments": { "location": "Boston, MA" }, "id": "gth23981" } ], "updated": "2025-11-26T12:22:47Z", "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 100 } ], "total_cached_tokens": 0, "total_input_tokens": 100, "total_output_tokens": 25, "total_thought_tokens": 0, "total_tokens": 125, "total_tool_use_tokens": 50 } }
Deep Research
Example Response
{ "agent": "deep-research-pro-preview-12-2025", "created": "2025-11-26T12:22:47Z", "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "object": "interaction", "status": "completed", "steps": [ { "type": "model_output", "content": [ { "type": "text", "text": "Here is a comprehensive research report on the current state of cancer research..." } ] } ], "updated": "2025-11-26T12:22:47Z", "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 20 } ], "total_cached_tokens": 0, "total_input_tokens": 20, "total_output_tokens": 1000, "total_thought_tokens": 500, "total_tokens": 1520, "total_tool_use_tokens": 0 } }
Antigravity Agent
Example Response
{ "agent": "antigravity-preview-05-2026", "created": "2025-11-26T12:22:47Z", "environment_id": "env_abc123", "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "object": "interaction", "status": "completed", "steps": [ { "type": "model_output", "content": [ { "type": "text", "text": "I've summarized the top 5 Hacker News stories and saved the results to /workspace/summary.md." } ] } ], "updated": "2025-11-26T12:22:47Z", "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 50 } ], "total_cached_tokens": 0, "total_input_tokens": 50, "total_output_tokens": 500, "total_thought_tokens": 200, "total_tokens": 750, "total_tool_use_tokens": 0 } }
Reuse Environment
Example Response
{ "agent": "antigravity-preview-05-2026", "created": "2025-11-26T12:23:00Z", "environment_id": "env_abc123", "id": "v1_Chd2ZTJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkwMTIzNDU2Nzg", "object": "interaction", "status": "completed", "steps": [ { "type": "model_output", "content": [ { "type": "text", "text": "I've updated /workspace/hello.py to accept a name argument and greet the user." } ] } ], "updated": "2025-11-26T12:23:00Z", "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 80 } ], "total_cached_tokens": 0, "total_input_tokens": 80, "total_output_tokens": 200, "total_thought_tokens": 100, "total_tokens": 380, "total_tool_use_tokens": 0 } }
With Sources
Custom Agent
Canceling an interaction
Cancels an interaction by id. This only applies to background interactions that are still running.
Path / Query Parameters
API version for request routing.
The unique identifier of the interaction to cancel.
Response
Returns an Interaction resource.
Cancel Interaction
Example Response
{ "created": "2025-11-26T12:25:15Z", "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "model": "gemini-3.6-flash", "object": "interaction", "status": "cancelled", "updated": "2025-11-26T12:25:15Z" }
Retrieving an interaction
Retrieves the full details of a single interaction based on its `Interaction.id`.
Path / Query Parameters
API version for request routing.
The unique identifier of the interaction to retrieve.
Optional. If set, resumes the interaction stream from the next chunk after the event marked by the event id. Can only be used if `stream` is true.
If set to true, the generated content will be streamed incrementally.
Defaults to: False
Response
Returns an Interaction resource.
Get Interaction
Example Response
{ "created": "2025-11-26T12:25:15Z", "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "model": "gemini-3.6-flash", "object": "interaction", "status": "completed", "steps": [ { "type": "model_output", "content": [ { "type": "text", "text": "I'm doing great, thank you for asking! How can I help you today?" } ] } ], "updated": "2025-11-26T12:25:15Z" }
Deleting an interaction
Deletes the interaction by id.
Path / Query Parameters
API version for request routing.
The unique identifier of the interaction to delete.
Required. The name of the interaction to delete.
Response
If successful, the response is empty.
Delete
Resources
Interaction
The Interaction resource.
Fields
Required. Output only. A unique identifier for the interaction completion.
Required. Output only. The status of the interaction.
Possible values:
-
in_progressThe interaction is in progress.
-
requires_actionThe interaction requires action/input from the user.
-
completedThe interaction is completed.
-
failedThe interaction failed.
-
cancelledThe interaction was cancelled.
-
incompleteThe interaction is completed, but contains incomplete results (e.g. hitting max_tokens).
Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
Required. Output only. The time at which the response was last updated in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
Required. Output only. The steps that make up the interaction, when included in the response.
model ModelOption (optional)
The name of the `Model` used for generating the interaction.
Possible values
-
gemma-4-26b-a4b-itGemma 4 26B A4B IT
-
gemma-4-31b-itGemma 4 31B IT
-
gemini-flash-latestLatest release of Gemini Flash
-
gemini-flash-lite-latestLatest release of Gemini Flash-Lite
-
gemini-pro-latestLatest release of Gemini Pro
-
gemini-2.5-flashOur first hybrid reasoning model which supports a 1M token context window and has thinking budgets.
-
gemini-2.5-proOur state-of-the-art multipurpose model, which excels at coding and complex reasoning tasks.
-
gemini-2.5-flash-liteOur smallest and most cost effective model, built for at scale usage.
-
gemini-3.5-flash-liteGemini 3.5 Flash-Lite - Our fastest, most cost-effective 3.5 model for high-throughput execution.
-
gemini-2.5-flash-imageOur native image generation model, optimized for speed, flexibility, and contextual understanding. Text input and output is priced the same as 2.5 Flash.
-
gemini-3-flash-previewOur most intelligent model built for speed, combining frontier intelligence with superior search and grounding.
-
gemini-3.1-pro-previewOur latest SOTA reasoning model with unprecedented depth and nuance, and powerful multimodal understanding and coding capabilities.
-
gemini-3.1-pro-preview-customtoolsGemini 3.1 Pro Preview optimized for custom tool usage
-
gemini-3.1-flash-liteOur most cost-efficient model, optimized for high-volume agentic tasks, translation, and simple data processing.
-
gemini-3.1-flash-lite-imageGemini 3.1 Flash Lite Image.
-
gemini-3-pro-imageGemini 3 Pro Image
-
nano-banana-pro-previewGemini 3 Pro Image Preview
-
gemini-3.1-flash-imageGemini 3.1 Flash Image.
-
gemini-nano-banana-2.1Gemini Nano Banana 2.1.
-
gemini-3.1-flash-tts-previewGemini 3.1 Flash TTS: Powerful, low-latency speech generation. Enjoy natural outputs, steerable prompts, and new expressive audio tags for precise narration control.
-
gemini-3.5-flashGemini 3.5 Flash - Our earlier Flash model, built for speed and foundational performance across routine, high-throughput workloads.
-
gemini-3.6-flashGemini 3.6 Flash - Our previous generation Flash model, balancing speed and multimodal capabilities across general agentic and everyday tasks.
-
gemini-3.7-flashGemini 3.7 Flash - Our high-speed, efficient Flash model built for everyday coding, agentic tool use, and reliable multi-step execution.
-
gemini-3.8-flashGemini 3.8 Flash - Our most intelligent Flash model, engineered for long-horizon software engineering, autonomous agents, and complex enterprise workflows.
-
gemini-3.8-flash-ttsGemini 3.8 Flash TTS - Flagship TTS model for Voice Design and dual-speaker screenplay control. Prompt custom vocal personas, direct line-by-line delivery, and add vocal bursts.
-
gemini-3.8-flash-lite-ttsGemini 3.8 Flash Lite TTS - High-speed and cost-efficient, ideal for rapid dubbing, media localization, and high-throughput voice agents. Direct replacement for gemini-3.1-flash-tts-preview.
-
lyria-3-clip-previewOur low-latency, music generation model optimized for high-fidelity audio clips and precise rhythmic control.
-
lyria-3-pro-previewOur advanced, full-song generative model with deep compositional understanding, optimized for precise structural control and complex transitions across diverse musical styles.
-
gemini-robotics-er-1.6-previewGemini Robotics-ER 1.6 Preview
-
gemini-robotics-er-2-previewGemini Robotics Embodied Reasoning 2 Preview
-
lyria-3.5Our flagship music generation model, optimized for full-length songs with complex structural coherence.
-
gemini-omni-1.1-flashOur high-performance multimodal model designed for fast, conversational video generation, editing, and cinematic control.
-
gemini-omni-flash-previewPreview release of our multimodal model for conversational video generation, editing, and cinematic control.
System instruction for the interaction.
A list of tool declarations the model may call during interaction.
The input for the interaction.
usage Usage (optional)
Output only. Statistics on the interaction request's token usage.
Fields
Number of tokens in the prompt (context).
input_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of input token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Number of tokens in the cached part of the prompt (the cached content).
cached_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of cached token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Total number of tokens across all the generated responses.
output_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of output token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Number of tokens present in tool-use prompt(s).
tool_use_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of tool-use token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Number of tokens of thoughts for thinking models.
Total token count for the interaction request (prompt + responses + other internal tokens).
grounding_tool_count array (GroundingToolCount) (optional)
Grounding tool count.
Fields
The grounding tool type associated with the count.
Possible values:
-
google_searchGrounding with Google Web Search and Image Search, & Web Grounding for Enterprise.
-
google_mapsGrounding with Google Maps.
The number of grounding tool counts.
Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field.
The ID of the previous interaction, if any.
The environment configuration for the interaction. Can be an object specifying remote environment sources or a string referencing an existing environment ID.
Output only. The environment ID for the interaction. Only populated if environment config is set in the request.
service_tier ServiceTier (optional)
The service tier for the interaction.
Possible values
-
flexFlex service tier.
-
standardStandard service tier.
-
priorityPriority service tier.
webhook_config WebhookConfig (optional)
Optional. Webhook configuration for receiving notifications when the interaction completes.
Fields
Optional. If set, these webhook URIs will be used for webhook events instead of the registered webhooks.
Optional. The user metadata that will be returned on each event emission to the webhooks.
safety_settings array (SafetySetting) (optional)
Safety settings for the interaction.
Fields
type HarmCategory (required)
Required. The type of harm category to be blocked.
Possible values
-
hate_speechContent that promotes violence or incites hatred against individuals or groups based on certain attributes.
-
dangerous_contentContent that promotes, facilitates, or enables dangerous activities.
-
harassmentAbusive, threatening, or content intended to bully, torment, or ridicule.
-
sexually_explicitContent that contains sexually explicit material.
-
jailbreakPrompts designed to bypass safety filters.
Required. The threshold for blocking content. If the harm probability exceeds this threshold, the content will be blocked.
Possible values:
-
block_low_and_aboveBlock content with a low harm probability or higher.
-
block_medium_and_aboveBlock content with a medium harm probability or higher.
-
block_only_highBlock content with a high harm probability.
-
offTurn off the safety filter entirely.
Optional. The method for blocking content. If not specified, the default behavior is to use the probability score.
Possible values:
-
severityThe harm block method uses both probability and severity scores.
-
probabilityThe harm block method uses the probability score.
The labels with user-defined metadata for the request. Label keys and values can be no longer than 63 characters (Unicode codepoints) and can only contain lowercase letters, numeric characters, underscores, and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter.
errors array (Error) (optional)
Output only. Diagnostic faults / platform errors recorded on the interaction.
Fields
A URI that identifies the error type.
A human-readable error message.
agent AgentOption (optional)
The name of the `Agent` used for generating the interaction.
Possible values
-
deep-research-pro-preview-12-2025Gemini Deep Research Agent
-
deep-research-preview-04-2026Gemini Deep Research Agent
-
deep-research-max-preview-04-2026Gemini Deep Research Max Agent
-
antigravity-preview-05-2026Use the Antigravity managed agent to perform multi-step tasks that require reasoning, file operations, and tool use.
Configuration parameters for the agent interaction.
Max total tokens for the agent run.
Examples
Example
{ "created": "2025-12-04T15:01:45Z", "id": "v1_ChdXS0l4YWZXTk9xbk0xZThQczhEcmlROBIXV0tJeGFmV05PcW5NMWU4UHM4RHJpUTg", "model": "gemini-3.6-flash", "object": "interaction", "status": "completed", "steps": [ { "type": "model_output", "content": [ { "type": "text", "text": "Hello! I'm doing well, functioning as expected. Thank you for asking! How are you doing today?" } ] } ], "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_thought_tokens": 49, "total_tokens": 79, "total_tool_use_tokens": 0 } }
Data Models
Content
The content of the response.
Possible Types
AudioContent
An audio content block.
No description provided.
Always set to "audio".
The audio content.
The URI of the audio.
The number of audio channels.
The sample rate of the audio.
The mime type of the audio.
Possible values:
-
audio/wavWAV audio format
-
audio/mp3MP3 audio format
-
audio/aiffAIFF audio format
-
audio/aacAAC audio format
-
audio/oggOGG audio format
-
audio/flacFLAC audio format
-
audio/mpegMPEG audio format
-
audio/m4aM4A audio format
-
audio/l16L16 audio format
-
audio/opusOPUS audio format
-
audio/alawALAW audio format
-
audio/mulawMULAW audio format
-
audio/webmWEBM audio format
DocumentContent
A document content block.
No description provided.
Always set to "document".
The document content.
The URI of the document.
The mime type of the document.
Possible values:
-
application/pdfPDF document format
-
text/csvCSV document format
ImageContent
An image content block.
No description provided.
Always set to "image".
The image content.
The URI of the image.
resolution MediaResolution (optional)
The resolution of the media.
Possible values
-
lowLow resolution.
-
mediumMedium resolution.
-
highHigh resolution.
-
ultra_highUltra high resolution.
The mime type of the image.
Possible values:
-
image/pngPNG image format
-
image/jpegJPEG image format
-
image/webpWebP image format
-
image/heicHEIC image format
-
image/heifHEIF image format
-
image/gifGIF image format
-
image/bmpBMP image format
-
image/tiffTIFF image format
TextContent
A text content block.
Required. The text content.
No description provided.
Always set to "text".
annotations array (Annotation) (optional)
Citation information for model-generated content.
Possible Types
FileCitation
A file citation annotation.
No description provided.
Always set to "file_citation".
The URI of the file.
The name of the file.
Source attributed for a portion of the text.
User provided metadata about the retrieved context.
Page number of the cited document, if applicable.
Media ID in-case of image citations, if applicable.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
End of the attributed segment, exclusive.
PlaceCitation
A place citation annotation.
No description provided.
Always set to "place_citation".
The ID of the place, in `places/{place_id}` format.
Title of the place.
URI reference of the place.
review_snippets array (ReviewSnippet) (optional)
Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
Fields
Title of the review.
A link that corresponds to the user review on Google Maps.
The ID of the review snippet.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
End of the attributed segment, exclusive.
SpeechAnnotation
Speech annotation for text content.
No description provided.
Always set to "speech_metadata".
The speaker to associate with this turn.
Style instruction for the speech synthesis.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
End of the attributed segment, exclusive.
UrlCitation
A URL citation annotation.
No description provided.
Always set to "url_citation".
The URL.
The title of the URL.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
End of the attributed segment, exclusive.
WordInfo
Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution.
No description provided.
Always set to "word_info".
The transcribed word.
Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
End of the attributed segment, exclusive.
VideoContent
A video content block.
No description provided.
Always set to "video".
The video content.
The URI of the video.
resolution MediaResolution (optional)
The resolution of the media.
Possible values
-
lowLow resolution.
-
mediumMedium resolution.
-
highHigh resolution.
-
ultra_highUltra high resolution.
processing MediaProcessing or enum (string) (optional)
How the model processes this video for understanding.
Can be a string ("static" | "agentic") or a StaticMediaProcessing object:
-
agentic: Model-driven dynamic navigation. -
static: Fixed-rate frame extraction. All frames placed in context. Can be passed as the string"static", or as an object with the following fields:type string (required)No description provided.
Always set to
"static".start_offset string (optional)Optional. Segment start time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "10.5s". Must be non-negative.
end_offset string (optional)Optional. Segment end time. Specified as a decimal number of seconds followed by an 's' suffix, e.g., "30s". Must be non-negative and greater than `start_offset` if `start_offset` is set.
fps number (optional)Optional. Video frame-rate sampling density.
A user-defined name for this content block. Can be referenced by the model in the final response.
The mime type of the video.
Possible values:
-
video/mp4MP4 video format
-
video/mpegMPEG video format
-
video/mpgMPG video format
-
video/movMOV video format
-
video/aviAVI video format
-
video/x-flvFLV video format
-
video/webmWebM video format
-
video/wmvWMV video format
-
video/3gpp3GPP video format
Examples
Audio
{ "type": "audio", "data": "BASE64_ENCODED_AUDIO", "mime_type": "audio/wav" }
Document
{ "type": "document", "data": "BASE64_ENCODED_DOCUMENT", "mime_type": "application/pdf" }
Image
{ "type": "image", "data": "BASE64_ENCODED_IMAGE", "mime_type": "image/png" }
Text
{ "type": "text", "text": "Hello, how are you?" }
Video
{ "type": "video", "uri": "https://www.youtube.com/watch?v=9hE5-98ZeCg" }
Tool
A tool that can be used by the model.
Possible Types
CodeExecution
A tool that can be used by the model to execute code.
No description provided.
Always set to "code_execution".
ComputerUse
A tool that can be used by the model to interact with the computer.
No description provided.
Always set to "computer_use".
The environment being operated.
Possible values:
-
browserOperates in a web browser.
-
mobileOperates in a mobile environment.
-
desktopOperates in a desktop environment.
The list of predefined functions that are excluded from the model call.
Whether enable the prompt injection detection check on computer-use request.
Optional. Disabled safety policies for computer use.
Possible values:
-
financial_transactionsSafety policy for financial transactions.
-
sensitive_data_modificationSafety policy for sensitive data modification.
-
communication_toolSafety policy for communication tools (e.g. Gmail, Chat, Meet).
-
account_creationSafety policy for account creation.
-
data_modificationSafety policy for data modification.
-
user_consent_managementSafety policy for user consent management.
-
legal_terms_and_agreementsSafety policy for legal terms and agreements.
FileSearch
A tool that can be used by the model to search files.
No description provided.
Always set to "file_search".
The file search store names to search.
The number of semantic retrieval chunks to retrieve.
Metadata filter to apply to the semantic retrieval documents and chunks.
Function
A tool that can be used by the model.
No description provided.
Always set to "function".
The name of the function.
A description of the function.
The JSON Schema for the function's parameters. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced.
GoogleMaps
A tool that can be used by the model to call Google Maps.
No description provided.
Always set to "google_maps".
Whether to return a widget context token in the tool call result of the response.
The latitude of the user's location.
The longitude of the user's location.
GoogleSearch
A tool that can be used by the model to search Google.
No description provided.
Always set to "google_search".
The types of search grounding to enable.
Possible values:
-
web_searchSetting this field enables web search. Only text results are returned.
-
image_searchSetting this field enables image search. Image bytes are returned.
McpServer
A MCPServer is a server that can be called by the model to perform actions.
No description provided.
Always set to "mcp_server".
The name of the MCPServer.
The full URL for the MCPServer endpoint. Example: "https://api.example.com/mcp"
Optional: Fields for authentication headers, timeouts, etc., if needed.
allowed_tools array (AllowedTools) (optional)
The allowed tools.
Fields
The mode of the tool choice.
Possible values:
-
autoAuto tool choice.
-
anyAny tool choice.
-
noneNo tool choice.
-
validatedValidated tool choice.
The names of the allowed tools.
UrlContext
A tool that can be used by the model to fetch URL context.
No description provided.
Always set to "url_context".
Examples
CodeExecution
ComputerUse
FileSearch
Function
GoogleMaps
GoogleSearch
McpServer
UrlContext
InteractionSseEvent
Possible Types
ErrorEvent
No description provided.
Always set to "error".
error Error (optional)
No description provided.
Fields
A URI that identifies the error type.
A human-readable error message.
The event_id token to be used to resume the interaction stream, from this event.
InteractionCompletedEvent
Signals that the Interaction completed. Sent when the Interaction receives Complete/Cancel or naturally terminates. No more input can be sent to the Interaction after this.
interaction InteractionSseEventInteraction (required)
Required. Partial completed interaction resource emitted at the end of the stream.
Fields
Required. Output only. A unique identifier for the interaction completion.
Required. Output only. The status of the interaction.
Possible values:
-
in_progressThe interaction is in progress.
-
requires_actionThe interaction requires action/input from the user.
-
completedThe interaction is completed.
-
failedThe interaction failed.
-
cancelledThe interaction was cancelled.
-
incompleteThe interaction is completed, but contains incomplete results (e.g. hitting max_tokens).
The model that will complete your prompt.
Output only. The time at which the response was created in ISO 8601 format.
Output only. The time at which the response was last updated in ISO 8601 format.
usage Usage (optional)
Output only. Statistics on the interaction request's token usage.
Fields
Number of tokens in the prompt (context).
input_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of input token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Number of tokens in the cached part of the prompt (the cached content).
cached_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of cached token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Total number of tokens across all the generated responses.
output_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of output token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Number of tokens present in tool-use prompt(s).
tool_use_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of tool-use token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Number of tokens of thoughts for thinking models.
Total token count for the interaction request (prompt + responses + other internal tokens).
grounding_tool_count array (GroundingToolCount) (optional)
Grounding tool count.
Fields
The grounding tool type associated with the count.
Possible values:
-
google_searchGrounding with Google Web Search and Image Search, & Web Grounding for Enterprise.
-
google_mapsGrounding with Google Maps.
The number of grounding tool counts.
service_tier ServiceTier (optional)
The service tier for the interaction.
Possible values
-
flexFlex service tier.
-
standardStandard service tier.
-
priorityPriority service tier.
Output only. The steps that make up the interaction, if included in this event.
The agent to interact with.
Opaque token to resume a long decode. Output: set when status is INCOMPLETE and decoding can be resumed. Input: pass the latest token back unchanged in CreateInteraction to continue decoding.
Output only. The resource type.
No description provided.
Always set to "interaction.completed".
The event_id token to be used to resume the interaction stream, from this event.
InteractionCreatedEvent
Server response confirming that a new interaction was created.
interaction InteractionSseEventInteraction (required)
Required. Partial interaction resource emitted when the stream is created.
Fields
Required. Output only. A unique identifier for the interaction completion.
Required. Output only. The status of the interaction.
Possible values:
-
in_progressThe interaction is in progress.
-
requires_actionThe interaction requires action/input from the user.
-
completedThe interaction is completed.
-
failedThe interaction failed.
-
cancelledThe interaction was cancelled.
-
incompleteThe interaction is completed, but contains incomplete results (e.g. hitting max_tokens).
The model that will complete your prompt.
Output only. The time at which the response was created in ISO 8601 format.
Output only. The time at which the response was last updated in ISO 8601 format.
usage Usage (optional)
Output only. Statistics on the interaction request's token usage.
Fields
Number of tokens in the prompt (context).
input_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of input token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Number of tokens in the cached part of the prompt (the cached content).
cached_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of cached token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Total number of tokens across all the generated responses.
output_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of output token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Number of tokens present in tool-use prompt(s).
tool_use_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of tool-use token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Number of tokens of thoughts for thinking models.
Total token count for the interaction request (prompt + responses + other internal tokens).
grounding_tool_count array (GroundingToolCount) (optional)
Grounding tool count.
Fields
The grounding tool type associated with the count.
Possible values:
-
google_searchGrounding with Google Web Search and Image Search, & Web Grounding for Enterprise.
-
google_mapsGrounding with Google Maps.
The number of grounding tool counts.
service_tier ServiceTier (optional)
The service tier for the interaction.
Possible values
-
flexFlex service tier.
-
standardStandard service tier.
-
priorityPriority service tier.
Output only. The steps that make up the interaction, if included in this event.
The agent to interact with.
Opaque token to resume a long decode. Output: set when status is INCOMPLETE and decoding can be resumed. Input: pass the latest token back unchanged in CreateInteraction to continue decoding.
Output only. The resource type.
No description provided.
Always set to "interaction.created".
The event_id token to be used to resume the interaction stream, from this event.
InteractionStatusUpdate
No description provided.
No description provided.
Possible values:
-
in_progressThe interaction is in progress.
-
requires_actionThe interaction requires action/input from the user.
-
completedThe interaction is completed.
-
failedThe interaction failed.
-
cancelledThe interaction was cancelled.
-
incompleteThe interaction is completed, but contains incomplete results (e.g. hitting max_tokens).
No description provided.
Always set to "interaction.status_update".
An optional opaque continuation token used to resume decoding from the latest checkpoint after a disconnected stream.
usage Usage (optional)
Model usage statistics up to this checkpoint.
Fields
Number of tokens in the prompt (context).
input_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of input token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Number of tokens in the cached part of the prompt (the cached content).
cached_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of cached token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Total number of tokens across all the generated responses.
output_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of output token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Number of tokens present in tool-use prompt(s).
tool_use_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of tool-use token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Number of tokens of thoughts for thinking models.
Total token count for the interaction request (prompt + responses + other internal tokens).
grounding_tool_count array (GroundingToolCount) (optional)
Grounding tool count.
Fields
The grounding tool type associated with the count.
Possible values:
-
google_searchGrounding with Google Web Search and Image Search, & Web Grounding for Enterprise.
-
google_mapsGrounding with Google Maps.
The number of grounding tool counts.
The event_id token to be used to resume the interaction stream, from this event.
StepDelta
No description provided.
delta StepDeltaData (required)
No description provided.
Possible Types
ArgumentsDelta
No description provided.
Always set to "arguments_delta".
No description provided.
AudioDelta
No description provided.
Always set to "audio".
No description provided.
Possible values:
-
audio/wavWAV audio format
-
audio/mp3MP3 audio format
-
audio/aiffAIFF audio format
-
audio/aacAAC audio format
-
audio/oggOGG audio format
-
audio/flacFLAC audio format
-
audio/mpegMPEG audio format
-
audio/m4aM4A audio format
-
audio/l16L16 audio format
-
audio/opusOPUS audio format
-
audio/alawALAW audio format
-
audio/mulawMULAW audio format
-
audio/webmWEBM audio format
No description provided.
No description provided.
The sample rate of the audio.
The number of audio channels.
CodeExecutionCallDelta
arguments CodeExecutionCallArguments (required)
No description provided.
Fields
Programming language of the `code`.
Possible values:
-
pythonPython >= 3.10, with numpy and simpy available.
-
bashBash. Only available for Gemini 3.0 model or above.
The code to be executed.
No description provided.
Always set to "code_execution_call".
A signature hash for backend validation.
CodeExecutionResultDelta
No description provided.
No description provided.
Always set to "code_execution_result".
No description provided.
A signature hash for backend validation.
DocumentDelta
No description provided.
Always set to "document".
No description provided.
Possible values:
-
application/pdfPDF document format
-
text/csvCSV document format
No description provided.
No description provided.
FileSearchCallDelta
No description provided.
Always set to "file_search_call".
A signature hash for backend validation.
FileSearchResultDelta
result array (FileSearchResult) (required)
No description provided.
No description provided.
Always set to "file_search_result".
A signature hash for backend validation.
FunctionResultDelta
No description provided.
No description provided.
Always set to "function_result".
No description provided.
No description provided.
GoogleMapsCallDelta
No description provided.
Always set to "google_maps_call".
arguments GoogleMapsCallArguments (optional)
The arguments to pass to the Google Maps tool.
Fields
The queries to be executed.
A signature hash for backend validation.
GoogleMapsResultDelta
No description provided.
Always set to "google_maps_result".
result array (GoogleMapsResult) (optional)
The results of the Google Maps.
Fields
places array (Places) (optional)
The places that were found.
Fields
The ID of the place, in `places/{place_id}` format.
Title of the place.
URI reference of the place.
review_snippets array (ReviewSnippet) (optional)
Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
Fields
Title of the review.
A link that corresponds to the user review on Google Maps.
The ID of the review snippet.
Resource name of the Google Maps widget context token.
A signature hash for backend validation.
GoogleSearchCallDelta
arguments GoogleSearchCallArguments (required)
No description provided.
Fields
Web search queries for the following-up web search.
No description provided.
Always set to "google_search_call".
A signature hash for backend validation.
GoogleSearchResultDelta
result array (GoogleSearchResult) (required)
No description provided.
Fields
Web content snippet that can be embedded in a web page or an app webview.
No description provided.
Always set to "google_search_result".
No description provided.
A signature hash for backend validation.
ImageDelta
No description provided.
Always set to "image".
No description provided.
Possible values:
-
image/pngPNG image format
-
image/jpegJPEG image format
-
image/webpWebP image format
-
image/heicHEIC image format
-
image/heifHEIF image format
-
image/gifGIF image format
-
image/bmpBMP image format
-
image/tiffTIFF image format
No description provided.
No description provided.
resolution MediaResolution (optional)
The resolution of the media.
Possible values
-
lowLow resolution.
-
mediumMedium resolution.
-
highHigh resolution.
-
ultra_highUltra high resolution.
McpServerToolCallDelta
No description provided.
No description provided.
No description provided.
No description provided.
Always set to "mcp_server_tool_call".
McpServerToolResultDelta
No description provided.
No description provided.
Always set to "mcp_server_tool_result".
No description provided.
No description provided.
ProcessingCallDelta
Streaming delta for a server-initiated media processing step.
No description provided.
Always set to "processing_call".
A signature hash for backend validation.
ProcessingResultDelta
Streaming delta for the result of a server-initiated media processing step.
No description provided.
Always set to "processing_result".
A signature hash for backend validation.
TextAnnotationDelta
No description provided.
Always set to "text_annotation_delta".
annotations array (Annotation) (optional)
Citation information for model-generated content.
Possible Types
FileCitation
A file citation annotation.
No description provided.
Always set to "file_citation".
The URI of the file.
The name of the file.
Source attributed for a portion of the text.
User provided metadata about the retrieved context.
Page number of the cited document, if applicable.
Media ID in-case of image citations, if applicable.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
End of the attributed segment, exclusive.
PlaceCitation
A place citation annotation.
No description provided.
Always set to "place_citation".
The ID of the place, in `places/{place_id}` format.
Title of the place.
URI reference of the place.
review_snippets array (ReviewSnippet) (optional)
Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
Fields
Title of the review.
A link that corresponds to the user review on Google Maps.
The ID of the review snippet.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
End of the attributed segment, exclusive.
SpeechAnnotation
Speech annotation for text content.
No description provided.
Always set to "speech_metadata".
The speaker to associate with this turn.
Style instruction for the speech synthesis.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
End of the attributed segment, exclusive.
UrlCitation
A URL citation annotation.
No description provided.
Always set to "url_citation".
The URL.
The title of the URL.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
End of the attributed segment, exclusive.
WordInfo
Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution.
No description provided.
Always set to "word_info".
The transcribed word.
Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
End of the attributed segment, exclusive.
TextDelta
No description provided.
No description provided.
Always set to "text".
ThoughtSignatureDelta
No description provided.
Always set to "thought_signature".
Signature to match the backend source to be part of the generation.
ThoughtSummaryDelta
No description provided.
Always set to "thought_summary".
A new summary item to be added to the thought.
UrlContextCallDelta
arguments UrlContextCallArguments (required)
No description provided.
Fields
The URLs to fetch.
No description provided.
Always set to "url_context_call".
A signature hash for backend validation.
UrlContextResultDelta
result array (UrlContextResult) (required)
No description provided.
Fields
The URL that was fetched.
The status of the URL retrieval.
Possible values:
-
successUrl retrieval is successful.
-
errorUrl retrieval is failed due to error.
-
paywallUrl retrieval is failed because the content is behind paywall.
-
unsafeUrl retrieval is failed because the content is unsafe.
No description provided.
Always set to "url_context_result".
No description provided.
A signature hash for backend validation.
VideoDelta
No description provided.
Always set to "video".
No description provided.
Possible values:
-
video/mp4MP4 video format
-
video/mpegMPEG video format
-
video/mpgMPG video format
-
video/movMOV video format
-
video/aviAVI video format
-
video/x-flvFLV video format
-
video/webmWebM video format
-
video/wmvWMV video format
-
video/3gpp3GPP video format
-
video/jpeg2000JPEG 2000 video format
No description provided.
No description provided.
resolution MediaResolution (optional)
The resolution of the media.
Possible values
-
lowLow resolution.
-
mediumMedium resolution.
-
highHigh resolution.
-
ultra_highUltra high resolution.
No description provided.
Always set to "step.delta".
The event_id token to be used to resume the interaction stream, from this event.
metadata StepDeltaMetadata (optional)
No description provided.
Fields
total_usage Usage (optional)
Statistics on the interaction request's token usage.
Fields
Number of tokens in the prompt (context).
input_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of input token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Number of tokens in the cached part of the prompt (the cached content).
cached_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of cached token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Total number of tokens across all the generated responses.
output_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of output token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Number of tokens present in tool-use prompt(s).
tool_use_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of tool-use token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Number of tokens of thoughts for thinking models.
Total token count for the interaction request (prompt + responses + other internal tokens).
grounding_tool_count array (GroundingToolCount) (optional)
Grounding tool count.
Fields
The grounding tool type associated with the count.
Possible values:
-
google_searchGrounding with Google Web Search and Image Search, & Web Grounding for Enterprise.
-
google_mapsGrounding with Google Maps.
The number of grounding tool counts.
StepStart
No description provided.
No description provided.
No description provided.
Always set to "step.start".
The event_id token to be used to resume the interaction stream, from this event.
StepStop
No description provided.
No description provided.
Always set to "step.stop".
usage Usage (optional)
Cumulative model usage stats from the start of the session.
Fields
Number of tokens in the prompt (context).
input_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of input token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Number of tokens in the cached part of the prompt (the cached content).
cached_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of cached token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Total number of tokens across all the generated responses.
output_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of output token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Number of tokens present in tool-use prompt(s).
tool_use_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of tool-use token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Number of tokens of thoughts for thinking models.
Total token count for the interaction request (prompt + responses + other internal tokens).
grounding_tool_count array (GroundingToolCount) (optional)
Grounding tool count.
Fields
The grounding tool type associated with the count.
Possible values:
-
google_searchGrounding with Google Web Search and Image Search, & Web Grounding for Enterprise.
-
google_mapsGrounding with Google Maps.
The number of grounding tool counts.
step_usage Usage (optional)
Model usage stats for this specific step.
Fields
Number of tokens in the prompt (context).
input_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of input token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Number of tokens in the cached part of the prompt (the cached content).
cached_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of cached token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Total number of tokens across all the generated responses.
output_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of output token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Number of tokens present in tool-use prompt(s).
tool_use_tokens_by_modality array (ModalityTokens) (optional)
A breakdown of tool-use token usage by modality.
Fields
modality ResponseModality (optional)
The modality associated with the token count.
Possible values
-
textIndicates the model should return text.
-
imageIndicates the model should return images.
-
audioIndicates the model should return audio.
-
videoIndicates the model should return video.
-
documentIndicates the model should return documents.
Number of tokens for the modality.
Number of tokens of thoughts for thinking models.
Total token count for the interaction request (prompt + responses + other internal tokens).
grounding_tool_count array (GroundingToolCount) (optional)
Grounding tool count.
Fields
The grounding tool type associated with the count.
Possible values:
-
google_searchGrounding with Google Web Search and Image Search, & Web Grounding for Enterprise.
-
google_mapsGrounding with Google Maps.
The number of grounding tool counts.
The event_id token to be used to resume the interaction stream, from this event.
Examples
Error Event
{ "error": { "code": "not_found", "message": "Failed to get completed interaction: Result not found." }, "event_type": "error" }
Interaction Completed
{ "event_id": "evt_123", "event_type": "interaction.completed", "interaction": { "created": "2025-12-04T15:01:45Z", "id": "v1_ChdXS0l4YWZXTk9xbk0xZThQczhEcmlROBIXV0tJeGFmV05PcW5NMWU4UHM4RHJpUTg", "model": "gemini-3.6-flash", "status": "completed", "updated": "2025-12-04T15:01:45Z" } }
Interaction Completed
{ "event_id": "evt_123", "event_type": "interaction.completed", "interaction": { "created": "2025-12-04T15:01:45Z", "id": "v1_ChdXS0l4YWZXTk9xbk0xZThQczhEcmlROBIXV0tJeGFmV05PcW5NMWU4UHM4RHJpUTg", "model": "gemini-3-flash-preview", "object": "interaction", "status": "completed", "updated": "2025-12-04T15:01:45Z" } }
Interaction Created
{ "event_id": "evt_123", "event_type": "interaction.created", "interaction": { "created": "2025-12-04T15:01:45Z", "id": "v1_ChdXS0l4YWZXTk9xbk0xZThQczhEcmlROBIXV0tJeGFmV05PcW5NMWU4UHM4RHJpUTg", "model": "gemini-3.6-flash", "status": "in_progress", "updated": "2025-12-04T15:01:45Z" } }
Interaction Created
{ "event_id": "evt_123", "event_type": "interaction.created", "interaction": { "id": "v1_ChdXS0l4YWZXTk9xbk0xZThQczhEcmlROBIXV0tJeGFmV05PcW5NMWU4UHM4RHJpUTg", "model": "gemini-3-flash-preview", "object": "interaction", "status": "in_progress" } }
Interaction Status Update
{ "event_type": "interaction.status_update", "interaction_id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM", "status": "in_progress" }
Step Delta
{ "delta": { "type": "text", "text": "Hello" }, "event_type": "step.delta", "index": 0 }
Step Start
{ "event_type": "step.start", "index": 0, "step": { "type": "model_output" } }
Step Stop
{ "event_type": "step.stop", "index": 0 }
ResponseFormat
Possible Types
AudioResponseFormat
Configuration for audio output format.
No description provided.
Always set to "audio".
The MIME type of the audio output.
Possible values:
-
audio/mp3MP3 audio format.
-
audio/ogg_opusOGG Opus audio format.
-
audio/l16Raw PCM (L16) audio format.
-
audio/wavWAV audio format.
-
audio/alawA-law audio format.
-
audio/mulawMu-law audio format.
The delivery mode for the audio output.
Possible values:
-
inlineAudio data is returned inline in the response.
-
uriAudio data is returned as a URI.
Sample rate in Hz.
Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
ImageResponseFormat
Configuration for image output format.
No description provided.
Always set to "image".
The MIME type of the image output.
Possible values:
-
image/jpegJPEG image format.
The delivery mode for the image output.
Possible values:
-
inlineImage data is returned inline in the response.
-
uriImage data is returned as a URI.
The aspect ratio for the image output.
Possible values:
-
1:11:1 aspect ratio.
-
2:32:3 aspect ratio.
-
3:23:2 aspect ratio.
-
3:43:4 aspect ratio.
-
4:34:3 aspect ratio.
-
4:54:5 aspect ratio.
-
5:45:4 aspect ratio.
-
9:169:16 aspect ratio.
-
16:916:9 aspect ratio.
-
21:921:9 aspect ratio.
-
1:81:8 aspect ratio.
-
8:18:1 aspect ratio.
-
1:41:4 aspect ratio.
-
4:14:1 aspect ratio.
The size of the image output.
Possible values:
-
512512px image size.
-
1K1K image size.
-
2K2K image size.
-
4K4K image size.
TextResponseFormat
Configuration for text output format.
No description provided.
Always set to "text".
The MIME type of the text output.
Possible values:
-
application/jsonJSON output format.
-
text/plainPlain text output format.
The JSON schema that the output should conform to. Only applicable when mime_type is application/json. Supports a subset of JSON Schema. `minLength`, `maxLength`, `minProperties`, `maxProperties`, `uniqueItems`, `contains`, `minContains`, and `maxContains` are ignored and not enforced; validate these in your application. `minItems` and `maxItems` are enforced. Schemas that are too complex to enforce (for example, large `maxItems` on nested arrays) return a 400 INVALID_ARGUMENT error.
VideoResponseFormat
Configuration for video output format.
No description provided.
Always set to "video".
The delivery mode for the video output.
Possible values:
-
inlineVideo data is returned inline in the response.
-
uriVideo data is returned as a URI.
The aspect ratio for the video output.
Possible values:
-
16:916:9 aspect ratio.
-
9:169:16 aspect ratio.
The duration for the video output.
The video output resolution. Defaults to 720p.
Possible values:
-
360p360p resolution.
-
720p720p resolution.
-
1080p1080p resolution.
-
4k4K resolution.
Examples
Audio Output
{ "type": "audio", "sample_rate": 24000 }
Image Output
{ "type": "image", "aspect_ratio": "16:9", "image_size": "1K", "mime_type": "image/jpeg" }
Text Output (JSON Schema)
{ "type": "text", "mime_type": "application/json", "schema": { "type": "object", "properties": { "ingredients": { "type": "array", "items": { "type": "string" } }, "recipe_name": { "type": "string" } }, "required": [ "ingredients", "recipe_name" ] } }
Video Output
{ "type": "video", "aspect_ratio": "16:9", "delivery": "inline" }
Step
A step in the interaction.
Possible Types
CodeExecutionCallStep
Code execution call step.
arguments CodeExecutionCallStepArguments (required)
Required. The arguments to pass to the code execution.
Fields
Programming language of the `code`.
Possible values:
-
pythonPython >= 3.10, with numpy and simpy available.
-
bashBash. Only available for Gemini 3.0 model or above.
The code to be executed.
Required. A unique ID for this specific tool call.
No description provided.
Always set to "code_execution_call".
A signature hash for backend validation.
CodeExecutionResultStep
Code execution result step.
Required. The output of the code execution.
Required. ID to match the ID from the function call block.
No description provided.
Always set to "code_execution_result".
Whether the code execution resulted in an error.
A signature hash for backend validation.
FileSearchCallStep
File Search call step.
Required. A unique ID for this specific tool call.
No description provided.
Always set to "file_search_call".
A signature hash for backend validation.
FileSearchResultStep
File Search result step.
Required. ID to match the ID from the function call block.
No description provided.
Always set to "file_search_result".
A signature hash for backend validation.
FunctionCallStep
A function tool call step.
Required. The name of the tool to call.
Required. The arguments to pass to the function.
Required. A unique ID for this specific tool call.
No description provided.
Always set to "function_call".
FunctionResultStep
Result of a function tool call.
Required. The result of the tool call.
Required. ID to match the ID from the function call block.
No description provided.
Always set to "function_result".
The name of the tool that was called.
Whether the tool call resulted in an error.
GoogleMapsCallStep
Google Maps call step.
Required. A unique ID for this specific tool call.
No description provided.
Always set to "google_maps_call".
arguments GoogleMapsCallStepArguments (optional)
The arguments to pass to the Google Maps tool.
Fields
The queries to be executed.
A signature hash for backend validation.
GoogleMapsResultStep
Google Maps result step.
result array (GoogleMapsResultItem) (required)
No description provided.
Fields
places array (GoogleMapsResultPlaces) (optional)
No description provided.
Fields
No description provided.
No description provided.
No description provided.
review_snippets array (ReviewSnippet) (optional)
No description provided.
Fields
Title of the review.
A link that corresponds to the user review on Google Maps.
The ID of the review snippet.
No description provided.
Required. ID to match the ID from the function call block.
No description provided.
Always set to "google_maps_result".
A signature hash for backend validation.
GoogleSearchCallStep
Google Search call step.
arguments GoogleSearchCallStepArguments (required)
Required. The arguments to pass to Google Search.
Fields
Web search queries for the following-up web search.
Required. A unique ID for this specific tool call.
No description provided.
Always set to "google_search_call".
The type of search grounding enabled.
Possible values:
-
web_searchSetting this field enables web search. Only text results are returned.
-
image_searchSetting this field enables image search. Image bytes are returned.
A signature hash for backend validation.
GoogleSearchResultStep
Google Search result step.
result array (GoogleSearchResultItem) (required)
Required. The results of the Google Search.
Fields
Web content snippet that can be embedded in a web page or an app webview.
Required. ID to match the ID from the function call block.
No description provided.
Always set to "google_search_result".
Whether the Google Search resulted in an error.
A signature hash for backend validation.
McpServerToolCallStep
MCPServer tool call step.
Required. The name of the tool which was called.
Required. The name of the used MCP server.
Required. The JSON object of arguments for the function.
Required. A unique ID for this specific tool call.
No description provided.
Always set to "mcp_server_tool_call".
McpServerToolResultStep
MCPServer tool result step.
Required. The output from the MCP server call. Can be simple text or rich content.
Required. ID to match the ID from the function call block.
No description provided.
Always set to "mcp_server_tool_result".
Name of the tool which is called for this specific tool call.
The name of the used MCP server.
ModelOutputStep
Output generated by the model.
No description provided.
Always set to "model_output".
No description provided.
ProcessingCallStep
A server-initiated processing step for media analysis (e.g. video understanding).
Required. A unique ID for this specific tool call.
No description provided.
Always set to "processing_call".
A signature hash for backend validation.
ProcessingResultStep
The result of a server-initiated media processing step.
Required. ID to match the ID from the function call block.
No description provided.
Always set to "processing_result".
A signature hash for backend validation.
ThoughtStep
A thought step.
No description provided.
Always set to "thought".
A signature hash for backend validation.
A summary of the thought.
UrlContextCallStep
URL context call step.
arguments UrlContextCallArguments (required)
Required. The arguments to pass to the URL context.
Fields
The URLs to fetch.
Required. A unique ID for this specific tool call.
No description provided.
Always set to "url_context_call".
A signature hash for backend validation.
UrlContextResultStep
URL context result step.
result array (UrlContextResult) (required)
Required. The results of the URL context.
Fields
The URL that was fetched.
The status of the URL retrieval.
Possible values:
-
successUrl retrieval is successful.
-
errorUrl retrieval is failed due to error.
-
paywallUrl retrieval is failed because the content is behind paywall.
-
unsafeUrl retrieval is failed because the content is unsafe.
Required. ID to match the ID from the function call block.
No description provided.
Always set to "url_context_result".
Whether the URL context resulted in an error.
A signature hash for backend validation.
UserInputStep
Input provided by the user.
No description provided.
Always set to "user_input".
No description provided.
Examples
CodeExecutionCallStep
{ "type": "code_execution_call", "arguments": { "code": "print(sum(range(1, 11)))" }, "id": "code_call_71021" }
CodeExecutionResultStep
{ "type": "code_execution_result", "call_id": "code_call_71021", "result": "55\n" }
FileSearchCallStep
{ "type": "file_search_call", "id": "file_call_88192" }
FileSearchResultStep
{ "type": "file_search_result", "call_id": "file_call_88192" }
FunctionCallStep
{ "name": "get_weather", "type": "function_call", "arguments": { "location": "Boston, MA" }, "id": "call_98231" }
FunctionResultStep
{ "name": "get_weather", "type": "function_result", "call_id": "call_98231", "result": [ { "type": "text", "text": "{\"weather\":\"sunny\"}" } ] }
GoogleMapsCallStep
{ "type": "google_maps_call", "arguments": { "latitude": 37.7749, "longitude": -122.4194 }, "id": "maps_call_39201" }
GoogleMapsResultStep
{ "type": "google_maps_result", "call_id": "maps_call_39201", "result": [ { "name": "Golden Gate Park", "place_id": "ChIJIQBpAG2ahYAR9R7bNdTLg8M", "rating": 4.8 } ] }
GoogleSearchCallStep
{ "type": "google_search_call", "arguments": { "query": "Who won the men's 100m in Paris 2024?" }, "id": "search_call_19201" }
GoogleSearchResultStep
{ "type": "google_search_result", "call_id": "search_call_19201", "result": [ { "title": "Paris 2024 Olympics: Noah Lyles wins men's 100m gold", "url": "https://olympics.com/en/news/paris-2024-noah-lyles-wins-mens-100m-gold", "snippet": "American Noah Lyles won the Olympic men's 100m gold medal in a photo finish." } ] }
McpServerToolCallStep
{ "name": "calculate_tax", "type": "mcp_server_tool_call", "arguments": { "income": 120000, "state": "CA" }, "id": "mcp_call_29012", "server_name": "financial_mcp_server" }
McpServerToolResultStep
{ "name": "calculate_tax", "type": "mcp_server_tool_result", "call_id": "mcp_call_29012", "result": { "tax_due": 32400 }, "server_name": "financial_mcp_server" }
ModelOutputStep
{ "type": "model_output", "content": [ { "type": "text", "text": "The capital of France is Paris." } ] }
ProcessingCallStep
No examples available for this type.
ProcessingResultStep
No examples available for this type.
ThoughtStep
{ "type": "thought", "signature": "thought_sig_abcd1234", "summary": [ { "type": "text", "text": "The model is searching Google for the capital of France." } ] }
UrlContextCallStep
{ "type": "url_context_call", "arguments": { "urls": [ "https://www.example.com" ] }, "id": "url_call_10219" }
UrlContextResultStep
{ "type": "url_context_result", "call_id": "url_call_10219", "result": [ { "title": "Example Domain", "url": "https://www.example.com", "snippet": "This domain is for use in illustrative examples in documents." } ] }
UserInputStep
{ "type": "user_input", "content": [ { "type": "text", "text": "What is the capital of France?" } ] }
EnvironmentConfig
Configuration for a custom environment.
Fields
No description provided.
Always set to "remote".
sources array (Source) (optional)
No description provided.
Fields
No description provided.
Possible values:
-
gcsA Cloud Storage bucket.
-
inlineInline content.
-
repositoryA generic repository. The protocol prefix in the source URL identifies the provider (e.g., github://, gcs://).
The source of the environment. For Cloud Storage, this is the Cloud Storage path. For GitHub, this is the GitHub path.
Where the source should appear in the environment.
The inline content if `type` is `INLINE`.
Optional encoding for inline content (e.g. `base64`).
Network configuration for the environment.
Possible values:
-
disabledAll network egress is blocked.
Optional. The environment ID for the interaction. If specified, the request will update the existing environment instead of creating a new one.
env object or string (optional)
Environment variables to set in the sandbox environment.
Possible Types
object
string
A direct string value.
Examples
Inline Sources
{ "type": "remote", "sources": [ { "type": "inline", "content": "You are a data analyst. Always include visualizations and export results as PDF.", "target": ".agents/AGENTS.md" }, { "type": "inline", "content": "---\nname: slide-maker\ndescription: Create HTML slide decks\n---\n# Slide Maker\n\nWhen asked to create a presentation:\n1. Analyze the input data\n2. Create an HTML slide deck with reveal.js\n3. Save to /workspace/output/slides.html", "target": ".agents/skills/slide-maker/SKILL.md" } ] }
External Sources
{ "type": "remote", "sources": [ { "type": "repository", "source": "https://github.com/my-org/my-skills.git", "target": ".agents/skills" }, { "type": "gcs", "source": "gs://my-bucket/my-folder", "target": "/workspace/data" } ] }
Network Allowlist
{ "type": "remote", "network": { "allowlist": [ { "domain": "pypi.org" }, { "domain": "*.github.com" } ] } }
Proxy Credentials
{ "type": "remote", "network": { "allowlist": [ { "domain": "api.github.com", "transform": { "Authorization": "Bearer YOUR_GITHUB_TOKEN" } } ] } }
EnvironmentNetworkEgressAllowlist
Network egress configuration for the environment.
Fields
List of allowed domains and their configurations. Set to `"disabled"` to block all network egress.
Possible values:
-
disabledAll network egress is blocked.
Examples
Network Allowlist
{ "allowlist": [ { "domain": "github.com", "transform": [ { "Authorization": "Bearer your-token" } ] }, { "domain": "*.googleapis.com" } ] }
ToolChoiceConfig
The tool choice configuration containing allowed tools.
Fields
allowed_tools AllowedTools (optional)
The allowed tools.
Fields
The mode of the tool choice.
Possible values:
-
autoAuto tool choice.
-
anyAny tool choice.
-
noneNo tool choice.
-
validatedValidated tool choice.
The names of the allowed tools.
Examples
Example
{ "allowed_tools": { "mode": "any", "tools": [ "my_tool" ] } }
ImageContent
An image content block.
Fields
No description provided.
Always set to "image".
The image content.
The URI of the image.
resolution MediaResolution (optional)
The resolution of the media.
Possible values
-
lowLow resolution.
-
mediumMedium resolution.
-
highHigh resolution.
-
ultra_highUltra high resolution.
The mime type of the image.
Possible values:
-
image/pngPNG image format
-
image/jpegJPEG image format
-
image/webpWebP image format
-
image/heicHEIC image format
-
image/heifHEIF image format
-
image/gifGIF image format
-
image/bmpBMP image format
-
image/tiffTIFF image format
Examples
Image
{ "type": "image", "data": "BASE64_ENCODED_IMAGE", "mime_type": "image/png" }
TextContent
A text content block.
Fields
Required. The text content.
No description provided.
Always set to "text".
annotations array (Annotation) (optional)
Citation information for model-generated content.
Possible Types
FileCitation
A file citation annotation.
No description provided.
Always set to "file_citation".
The URI of the file.
The name of the file.
Source attributed for a portion of the text.
User provided metadata about the retrieved context.
Page number of the cited document, if applicable.
Media ID in-case of image citations, if applicable.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
End of the attributed segment, exclusive.
PlaceCitation
A place citation annotation.
No description provided.
Always set to "place_citation".
The ID of the place, in `places/{place_id}` format.
Title of the place.
URI reference of the place.
review_snippets array (ReviewSnippet) (optional)
Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
Fields
Title of the review.
A link that corresponds to the user review on Google Maps.
The ID of the review snippet.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
End of the attributed segment, exclusive.
SpeechAnnotation
Speech annotation for text content.
No description provided.
Always set to "speech_metadata".
The speaker to associate with this turn.
Style instruction for the speech synthesis.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
End of the attributed segment, exclusive.
UrlCitation
A URL citation annotation.
No description provided.
Always set to "url_citation".
The URL.
The title of the URL.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
End of the attributed segment, exclusive.
WordInfo
Word-level ASR annotation for transcription output. Carries the word text, optional timing, and optional speaker attribution.
No description provided.
Always set to "word_info".
The transcribed word.
Start offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
End offset in time of the word relative to the start of the audio. Present when timestamp_granularities contains "word".
Optional. Speaker label for this word (e.g. "spk_1", "spk_2"). Present when diarization_mode is set in TranscriptionConfig.
Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
End of the attributed segment, exclusive.
Examples
Text
{ "type": "text", "text": "Hello, how are you?" }