API взаимодействия Gemini — это экспериментальный API, позволяющий разработчикам создавать приложения генеративного ИИ с использованием моделей Gemini. Gemini — наша самая мощная модель, разработанная с нуля для мультимодального взаимодействия. Она способна обобщать и беспрепятственно понимать, обрабатывать и комбинировать различные типы информации, включая язык, изображения, аудио, видео и код. Вы можете использовать API Gemini для таких задач, как рассуждения на основе текста и изображений, генерация контента, диалоговые агенты, системы суммирования и классификации и многое другое.
Создание взаимодействия
Создает новое взаимодействие.
Текст запроса
Тело запроса содержит данные следующей структуры:
модель ModelOption (необязательно)
Название модели, использованной для генерации взаимодействия.
Обязательно, если параметр `agent` не указан.
Возможные значения:
-
gemini-2.5-proНаша передовая многоцелевая модель, превосходно справляющаяся с задачами программирования и сложным логическим мышлением.
-
gemini-2.5-flashНаша первая гибридная модель рассуждений, поддерживающая контекстное окно в 1 миллион токенов и имеющая бюджеты мышления.
-
gemini-2.5-flash-preview-09-2025Новейшая модель, основанная на версии 2.5 Flash. Версия 2.5 Flash Preview лучше всего подходит для крупномасштабной обработки, задач с низкой задержкой и большим объемом данных, требующих аналитического мышления, а также для сценариев использования агентных вычислений.
-
gemini-2.5-flash-liteНаша самая компактная и экономичная модель, предназначенная для масштабного использования.
-
gemini-2.5-flash-lite-preview-09-2025Новейшая модель на базе Gemini 2.5 Flash lite, оптимизированная для экономичности, высокой производительности и высокого качества.
-
gemini-2.5-flash-preview-native-audio-dialogНаши собственные аудиомодели оптимизированы для более высокого качества звука с улучшенным темпом, естественностью голоса, детализацией и передачей настроения.
-
gemini-2.5-flash-image-previewНаша собственная модель генерации изображений, оптимизированная для скорости, гибкости и контекстного понимания. Стоимость ввода и вывода текста такая же, как у 2,5-дюймовой версии Flash.
-
gemini-2.5-pro-preview-ttsНаша аудиомодель преобразования текста в речь 2.5 Pro оптимизирована для мощного генерирования речи с низкой задержкой, что обеспечивает более естественный результат и упрощает управление голосовыми подсказками.
-
gemini-3-pro-previewНаша самая интеллектуальная модель с передовыми методами рассуждения и многомодальным пониманием, а также мощными возможностями агентного и эмоциональных кодирований.
агент AgentOption (необязательно)
Имя агента, использованного для генерации взаимодействия.
Обязательно, если параметр `model` не указан.
Возможные значения:
-
deep-research-pro-preview-12-2025Агент по глубоким исследованиям компании Gemini
Входные данные для взаимодействия (общие для модели и агента).
Системная инструкция для взаимодействия.
Список объявлений инструментов, которые модель может вызывать во время взаимодействия.
Обеспечивает, чтобы сгенерированный ответ представлял собой объект JSON, соответствующий схеме JSON, указанной в этом поле.
MIME-тип ответа. Это необходимо, если задан параметр response_format.
Только ввод данных. Будет ли взаимодействие передаваться в потоковом режиме.
Только ввод. Следует ли сохранять ответ и запрос для последующего получения.
Следует ли запускать взаимодействие с моделью в фоновом режиме.
generation_config GenerationConfig (необязательно)
Конфигурация модели
Параметры конфигурации для взаимодействия модели.
Альтернатива `agent_config`. Применимо только при заданном `model`.
Поля
Управляет степенью случайности выходных данных.
Максимальная кумулятивная вероятность токенов, которые следует учитывать при выборке.
Исходные данные используются при декодировании для обеспечения воспроизводимости.
Список последовательностей символов, которые прекратят взаимодействие с выводом.
tool_choice ToolChoice (необязательно)
Выбор инструмента для взаимодействия.
Возможные типы
ToolChoiceType
Этот тип не имеет конкретных полей.
ToolChoiceConfig
allowed_tools AllowedTools (необязательно)
Описание отсутствует.
Поля
режим ToolChoiceType (необязательно)
Способ выбора инструмента.
Возможные значения:
-
auto -
any -
none -
validated
Названия разрешенных инструментов.
thinking_level ThinkingLevel (необязательно)
Уровень мыслительных токенов, которые должна генерировать модель.
Возможные значения:
-
low -
high
thinking_summaries ThinkingSummaries (необязательно)
Стоит ли включать в ответ краткое изложение мыслей?
Возможные значения:
-
auto -
none
Максимальное количество токенов, которые можно включить в ответ.
speech_config SpeechConfig (необязательно)
Настройка для речевого взаимодействия.
Поля
Голос говорящего.
Язык речи.
Имя выступающего должно совпадать с именем выступающего, указанным в задании.
объект agent_config (необязательно)
Конфигурация агента
Настройки агента.
Альтернатива `generation_config`. Применимо только при заданном `agent`.
Возможные типы
Полиморфный дискриминатор: type
DynamicAgentConfig
Настройка для динамических агентов.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "dynamic" .
DeepResearchAgentConfig
Настройки агента Deep Research.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "deep-research" .
thinking_summaries ThinkingSummaries (необязательно)
Стоит ли включать в ответ краткое изложение мыслей?
Возможные значения:
-
auto -
none
Идентификатор предыдущего взаимодействия, если таковое имелось.
response_modalities ResponseModality (необязательно)
Требуемые форматы ответа (ТЕКСТ, ИЗОБРАЖЕНИЕ, АУДИО).
Возможные значения:
-
text -
image -
audio
Ответ
Возвращает ресурс " Взаимодействие" .
Простая просьба
Пример ответа
{ "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 } }
Многооборотный
Пример ответа
{ "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 } }
Ввод изображения
Пример ответа
{ "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 } }
Вызов функции
Пример ответа
{ "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 } }
Глубокое исследование
Пример ответа
{ "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 } }
Получение информации о взаимодействии
Получает полную информацию об одном взаимодействии на основе его `Interaction.id`.
Путь / Параметры запроса
Уникальный идентификатор взаимодействия, который необходимо получить.
Если установить значение true, сгенерированный контент будет передаваться потоком инкрементально.
Значение по умолчанию: False
Необязательный параметр. Если задан, возобновляет поток взаимодействия со следующего фрагмента после события, отмеченного идентификатором события. Может использоваться только в том случае, если `stream` имеет значение true.
Какую версию API использовать?
Ответ
Возвращает ресурс " Взаимодействие" .
Получить взаимодействие
Пример ответа
{ "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?" } ] }
Удаление взаимодействия
Удаляет взаимодействие по идентификатору.
Путь / Параметры запроса
Уникальный идентификатор взаимодействия, которое необходимо удалить.
Какую версию API использовать?
Ответ
В случае успеха ответ будет пустым.
Удалить взаимодействие
Отмена взаимодействия
Отменяет взаимодействие по идентификатору. Это относится только к фоновым взаимодействиям, которые все еще выполняются.
Путь / Параметры запроса
Уникальный идентификатор взаимодействия, который необходимо получить.
Какую версию API использовать?
Ответ
Возвращает ресурс " Взаимодействие" .
Отменить взаимодействие
Пример ответа
{ "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" }
Ресурсы
Взаимодействие
Ресурс "Взаимодействие".
Поля
модель ModelOption (необязательно)
Название модели, использованной для генерации взаимодействия.
Возможные значения:
-
gemini-2.5-proНаша передовая многоцелевая модель, превосходно справляющаяся с задачами программирования и сложным логическим мышлением.
-
gemini-2.5-flashНаша первая гибридная модель рассуждений, поддерживающая контекстное окно в 1 миллион токенов и имеющая бюджеты мышления.
-
gemini-2.5-flash-preview-09-2025Новейшая модель, основанная на версии 2.5 Flash. Версия 2.5 Flash Preview лучше всего подходит для крупномасштабной обработки, задач с низкой задержкой и большим объемом данных, требующих аналитического мышления, а также для сценариев использования агентных вычислений.
-
gemini-2.5-flash-liteНаша самая компактная и экономичная модель, предназначенная для масштабного использования.
-
gemini-2.5-flash-lite-preview-09-2025Новейшая модель на базе Gemini 2.5 Flash lite, оптимизированная для экономичности, высокой производительности и высокого качества.
-
gemini-2.5-flash-preview-native-audio-dialogНаши собственные аудиомодели оптимизированы для более высокого качества звука с улучшенным темпом, естественностью голоса, детализацией и передачей настроения.
-
gemini-2.5-flash-image-previewНаша собственная модель генерации изображений, оптимизированная для скорости, гибкости и контекстного понимания. Стоимость ввода и вывода текста такая же, как у 2,5-дюймовой версии Flash.
-
gemini-2.5-pro-preview-ttsНаша аудиомодель преобразования текста в речь 2.5 Pro оптимизирована для мощного генерирования речи с низкой задержкой, что обеспечивает более естественный результат и упрощает управление голосовыми подсказками.
-
gemini-3-pro-previewНаша самая интеллектуальная модель с передовыми методами рассуждения и многомодальным пониманием, а также мощными возможностями агентного и эмоциональных кодирований.
агент AgentOption (необязательно)
Имя агента, использованного для генерации взаимодействия.
Возможные значения:
-
deep-research-pro-preview-12-2025Агент по глубоким исследованиям компании Gemini
Только для вывода. Уникальный идентификатор завершения взаимодействия.
Только вывод. Статус взаимодействия.
Возможные значения:
-
in_progress -
requires_action -
completed -
failed -
cancelled
Только вывод. Время создания ответа в формате ISO 8601 (ГГГГ-ММ-ДДЧч:мм:ссЗ).
Только вывод. Время последнего обновления ответа в формате ISO 8601 (ГГГГ-ММ-ДДТч:мм:ссЗ).
Только вывод. Роль взаимодействия.
Только выходные данные. Ответы от модели.
Только вывод. Тип объекта взаимодействия. Всегда устанавливайте значение `interaction`.
Всегда устанавливайте значение "interaction" .
Использование (необязательно )
Только вывод. Статистика использования токенов в запросе на взаимодействие.
Поля
Количество токенов в подсказке (контексте).
input_tokens_by_modality ModalityTokens (необязательно)
Анализ использования входных токенов в зависимости от модальности ввода.
Поля
модальность ResponseModality (необязательно)
Способ отображения количества токенов.
Возможные значения:
-
text -
image -
audio
Количество токенов для данного режима.
Количество токенов в кэшированной части запроса (кэшированное содержимое).
cached_tokens_by_modality ModalityTokens (необязательно)
Анализ использования кэшированных токенов по способам доступа.
Поля
модальность ResponseModality (необязательно)
Способ отображения количества токенов.
Возможные значения:
-
text -
image -
audio
Количество токенов для данного режима.
Общее количество токенов во всех сгенерированных ответах.
output_tokens_by_modality ModalityTokens (необязательно)
Анализ использования выходных токенов по видам модальностей.
Поля
модальность ResponseModality (необязательно)
Способ отображения количества токенов.
Возможные значения:
-
text -
image -
audio
Количество токенов для данного режима.
Количество токенов, присутствующих в подсказках использования инструмента.
tool_use_tokens_by_modality ModalityTokens (необязательно)
Анализ использования токенов инструментов в зависимости от модальности.
Поля
модальность ResponseModality (необязательно)
Способ отображения количества токенов.
Возможные значения:
-
text -
image -
audio
Количество токенов для данного режима.
Количество токенов мыслей для моделей мышления.
Общее количество токенов для запроса на взаимодействие (запрос + ответы + другие внутренние токены).
Идентификатор предыдущего взаимодействия, если таковое имелось.
Примеры
Пример
{ "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 } }
Модели данных
Содержание
Содержание ответа.
Возможные типы
Полиморфный дискриминатор: type
Текстовое содержимое
Блок текстового содержимого.
Текстовое содержание.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "text" .
Аннотации (необязательно )
Информация об источниках для контента, сгенерированного моделью.
Поля
Начало сегмента ответа, который относится к данному источнику. Индекс указывает начало сегмента, измеряемое в байтах.
Конец выделенного сегмента, без учета каких-либо ограничений.
Указан источник части текста. Это может быть URL-адрес, заголовок или другой идентификатор.
ImageContent
Блок с графическим содержимым.
Описание отсутствует.
Описание отсутствует.
mime_type ImageMimeTypeOption (необязательно)
Описание отсутствует.
Возможные значения:
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "image" .
разрешение MediaResolution (необязательно)
Разрешение средств массовой информации.
Возможные значения:
-
low -
medium -
high
Аудиоконтент
Блок аудиоконтента.
Описание отсутствует.
Описание отсутствует.
mime_type AudioMimeTypeOption (необязательно)
Описание отсутствует.
Возможные значения:
-
audio/wav -
audio/mp3 -
audio/aiff -
audio/aac -
audio/ogg -
audio/flac
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "audio" .
Содержимое документа
Блок содержимого документа.
Описание отсутствует.
Описание отсутствует.
Описание отсутствует.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "document" .
Видеоконтент
Блок видеоконтента.
Описание отсутствует.
Описание отсутствует.
mime_type VideoMimeTypeOption (необязательно)
Описание отсутствует.
Возможные значения:
-
video/mp4 -
video/mpeg -
video/mov -
video/avi -
video/x-flv -
video/mpg -
video/webm -
video/wmv -
video/3gpp
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "video" .
разрешение MediaResolution (необязательно)
Разрешение средств массовой информации.
Возможные значения:
-
low -
medium -
high
ThoughtContent
Блок мыслей.
Подпись должна соответствовать исходному коду бэкэнда и быть включена в процесс генерации.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливать значение "thought" .
Краткое содержание. Краткое изложение мыслей (необязательно).
Краткое изложение мысли.
FunctionCallContent
Блок содержимого вызова инструмента функции.
Название вызываемого инструмента.
Аргументы, передаваемые функции.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "function_call" .
Уникальный идентификатор для данного вызова инструмента.
FunctionResultContent
Блок содержимого результатов работы функционального инструмента.
Название вызванного инструмента.
Вызвал ли вызов инструмента ошибку?
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "function_result" .
Результат вызова инструмента.
Идентификатор, соответствующий идентификатору из блока вызова функции.
CodeExecutionCallContent
Содержимое выполнения кода.
аргументы CodeExecutionCallArguments (необязательно)
Аргументы, передаваемые для выполнения кода.
Поля
Язык программирования кода.
Возможные значения:
-
python
Код, который необходимо выполнить.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "code_execution_call" .
Уникальный идентификатор для данного вызова инструмента.
CodeExecutionResultContent
Содержимое результата выполнения кода.
Результат выполнения кода.
Выполнился ли код с ошибкой?
Хэш подписи для проверки данных на стороне бэкэнда.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "code_execution_result" .
Идентификатор, соответствующий идентификатору из блока вызова выполнения кода.
UrlContextCallContent
Содержимое контекста URL.
arguments UrlContextCallArguments (optional)
Аргументы, передаваемые в контекст URL.
Поля
URL-адреса для загрузки.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "url_context_call" .
Уникальный идентификатор для данного вызова инструмента.
UrlContextResultContent
Содержимое результата контекста URL.
Подпись результата контекста URL.
результат UrlContextResult (необязательно)
Результаты анализа контекста URL.
Поля
URL-адрес, который был получен.
Статус получения URL-адреса.
Возможные значения:
-
success -
error -
paywall -
unsafe
Указывалось, привела ли контекстная информация URL к ошибке.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "url_context_result" .
Идентификатор, соответствующий идентификатору из блока вызова контекста URL.
GoogleSearchCallContent
Контент поиска Google.
arguments GoogleSearchCallArguments (необязательно)
Аргументы, которые необходимо передать в поиск Google.
Поля
Поисковые запросы в интернете для последующего поиска.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "google_search_call" .
Уникальный идентификатор для данного вызова инструмента.
GoogleSearchResultContent
Содержание результатов поиска Google.
Подпись результата поиска Google.
результат GoogleSearchResult (необязательно)
Результаты поиска Google.
Поля
URI-ссылка на результат поиска.
Заголовок результата поиска.
Фрагмент веб-контента, который можно встроить в веб-страницу или веб-представление приложения.
Вызвал ли поиск в Google ошибку.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "google_search_result" .
Идентификатор, соответствующий идентификатору из блока вызова поиска Google.
McpServerToolCallContent
Содержимое вызова инструмента MCPServer.
Название инструмента, который был вызван.
Название используемого MCP-сервера.
JSON-объект с аргументами для функции.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "mcp_server_tool_call" .
Уникальный идентификатор для данного вызова инструмента.
McpServerToolResultContent
Содержимое результатов работы инструмента MCPServer.
Название инструмента, который вызывается для данного конкретного вызова инструмента.
Название используемого MCP-сервера.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "mcp_server_tool_result" .
Результат вызова инструмента.
Идентификатор, соответствующий идентификатору из блока вызова инструмента сервера MCP.
FileSearchResultContent
Содержимое результатов поиска файлов.
результат FileSearchResult (необязательно)
Результаты поиска файлов.
Поля
Заголовок результата поиска.
Текст результата поиска.
Название хранилища для поиска файлов.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "file_search_result" .
Примеры
Текст
{ "type": "text", "text": "Hello, how are you?" }
Изображение
{ "type": "image", "data": "BASE64_ENCODED_IMAGE", "mime_type": "image/png" }
Аудио
{ "type": "audio", "data": "BASE64_ENCODED_AUDIO", "mime_type": "audio/wav" }
Документ
{ "type": "document", "data": "BASE64_ENCODED_DOCUMENT", "mime_type": "application/pdf" }
Видео
{ "type": "video", "uri": "https://www.youtube.com/watch?v=9hE5-98ZeCg" }
Мысль
{ "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" }
Вызов функции
{ "type": "function_call", "name": "get_weather", "id": "gth23981", "arguments": { "location": "Boston, MA" } }
Результат выполнения функции
{ "type": "function_result", "name": "get_weather", "call_id": "gth23981", "result": { "weather": "sunny" } }
Вызов выполнения кода
{ "type": "code_execution_call", "id": "call_123456", "arguments": { "language": "python", "code": "print('hello world')" } }
Результат выполнения кода
{ "type": "code_execution_result", "call_id": "call_123456", "result": "hello world\n" }
Вызов контекста URL
{ "type": "url_context_call", "id": "call_123456", "arguments": { "urls": [ "https://www.example.com" ] } }
Результат контекста URL
{ "type": "url_context_result", "call_id": "call_123456", "result": [ { "url": "https://www.example.com", "status": "SUCCESS" } ] }
Поисковый звонок Google
{ "type": "google_search_call", "id": "call_123456", "arguments": { "queries": [ "weather in Boston" ] } }
Результаты поиска Google
{ "type": "google_search_result", "call_id": "call_123456", "result": [ { "url": "https://www.google.com/search?q=weather+in+Boston", "title": "Weather in Boston" } ] }
Вызов инструмента сервера Mcp
{ "type": "mcp_server_tool_call", "id": "call_123456", "name": "get_forecast", "server_name": "weather_server", "arguments": { "city": "London" } }
Результат работы инструмента Mcp Server
{ "type": "mcp_server_tool_result", "name": "get_forecast", "server_name": "weather_server", "call_id": "call_123456", "result": "sunny" }
Результаты поиска файлов
{ "type": "file_search_result", "result": [ { "text": "search result chunk", "file_search_store": "file_search_store" } ] }
Инструмент
Возможные типы
Полиморфный дискриминатор: type
Функция
Инструмент, который может быть использован моделью.
Название функции.
Описание функции.
JSON-схема для параметров функции.
Описание отсутствует.
Всегда устанавливайте значение "function" .
GoogleПоиск
Инструмент, который модель может использовать для поиска в Google.
Описание отсутствует.
Всегда устанавливайте значение "google_search" .
Выполнение кода
Инструмент, который может использоваться моделью для выполнения кода.
Описание отсутствует.
Всегда устанавливайте значение "code_execution" .
UrlContext
Инструмент, который может использоваться моделью для получения контекста URL-адреса.
Описание отсутствует.
Всегда устанавливайте значение "url_context" .
Использование компьютера
Инструмент, который модель может использовать для взаимодействия с компьютером.
Описание отсутствует.
Всегда устанавливайте значение "computer_use" .
Рабочая среда.
Возможные значения:
-
browser
Список предопределенных функций, исключенных из вызова модели.
McpServer
MCPServer — это сервер, который может быть вызван моделью для выполнения действий.
Описание отсутствует.
Всегда устанавливайте значение "mcp_server" .
Имя MCPServer.
Полный URL-адрес конечной точки MCPServer. Пример: "https://api.example.com/mcp"
Необязательно: поля для заголовков аутентификации, тайм-аутов и т. д., если необходимо.
allowed_tools AllowedTools (необязательно)
Разрешенные инструменты.
Поля
режим ToolChoiceType (необязательно)
Способ выбора инструмента.
Возможные значения:
-
auto -
any -
none -
validated
Названия разрешенных инструментов.
Поиск файлов
Инструмент, который может использоваться моделью для поиска файлов.
Названия хранилищ файлов для поиска.
Количество фрагментов семантического поиска, которые необходимо извлечь.
Фильтр метаданных, применяемый к документам и фрагментам, полученным в результате семантического поиска.
Описание отсутствует.
Всегда устанавливайте значение "file_search" .
Примеры
Функция
GoogleПоиск
Выполнение кода
UrlContext
Использование компьютера
McpServer
Поиск файлов
Повернуть
Поля
Автор этого хода. Для ввода данных должен быть пользователь, для вывода данных — модель.
Содержание хода.
Примеры
Поворот пользователя
{ "role": "user", "content": [ { "type": "text", "text": "user turn" } ] }
Модель Поворот
{ "role": "model", "content": [ { "type": "text", "text": "model turn" } ] }
InteractionSseEvent
Возможные типы
Полиморфный дискриминатор: event_type
Событие взаимодействия
Описание отсутствует.
Возможные значения:
-
interaction.start -
interaction.complete
Описание отсутствует.
Токен event_id, который будет использоваться для возобновления потока взаимодействия с этого события.
InteractionStatusUpdate
Описание отсутствует.
Описание отсутствует.
Возможные значения:
-
in_progress -
requires_action -
completed -
failed -
cancelled
Описание отсутствует.
Всегда устанавливайте значение "interaction.status_update" .
Токен event_id, который будет использоваться для возобновления потока взаимодействия с этого события.
ContentStart
Описание отсутствует.
Описание отсутствует.
Описание отсутствует.
Всегда устанавливайте значение "content.start" .
Токен event_id, который будет использоваться для возобновления потока взаимодействия с этого события.
ContentDelta
Описание отсутствует.
Описание отсутствует.
Всегда устанавливайте значение "content.delta" .
Токен event_id, который будет использоваться для возобновления потока взаимодействия с этого события.
объект дельта (необязательно)
Описание отсутствует.
Возможные типы
Полиморфный дискриминатор: type
ТекстДельта
Описание отсутствует.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "text" .
Аннотации (необязательно )
Информация об источниках для контента, сгенерированного моделью.
Поля
Начало сегмента ответа, который относится к данному источнику. Индекс указывает начало сегмента, измеряемое в байтах.
Конец выделенного сегмента, без учета каких-либо ограничений.
Указан источник части текста. Это может быть URL-адрес, заголовок или другой идентификатор.
ImageDelta
Описание отсутствует.
Описание отсутствует.
mime_type ImageMimeTypeOption (необязательно)
Описание отсутствует.
Возможные значения:
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "image" .
разрешение MediaResolution (необязательно)
Разрешение средств массовой информации.
Возможные значения:
-
low -
medium -
high
AudioDelta
Описание отсутствует.
Описание отсутствует.
mime_type AudioMimeTypeOption (необязательно)
Описание отсутствует.
Возможные значения:
-
audio/wav -
audio/mp3 -
audio/aiff -
audio/aac -
audio/ogg -
audio/flac
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "audio" .
ДокументДельта
Описание отсутствует.
Описание отсутствует.
Описание отсутствует.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "document" .
ВидеоДельта
Описание отсутствует.
Описание отсутствует.
mime_type VideoMimeTypeOption (необязательно)
Описание отсутствует.
Возможные значения:
-
video/mp4 -
video/mpeg -
video/mov -
video/avi -
video/x-flv -
video/mpg -
video/webm -
video/wmv -
video/3gpp
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "video" .
разрешение MediaResolution (необязательно)
Разрешение средств массовой информации.
Возможные значения:
-
low -
medium -
high
ThoughtSummaryDelta
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "thought_summary" .
Описание отсутствует.
ThoughtSignatureDelta
Подпись должна соответствовать исходному коду бэкэнда и быть включена в процесс генерации.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "thought_signature" .
FunctionCallDelta
Описание отсутствует.
Описание отсутствует.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "function_call" .
Уникальный идентификатор для данного вызова инструмента.
FunctionResultDelta
Описание отсутствует.
Описание отсутствует.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "function_result" .
Разница в результатах вызова инструмента.
Идентификатор, соответствующий идентификатору из блока вызова функции.
CodeExecutionCallDelta
аргументы CodeExecutionCallArguments (необязательно)
Описание отсутствует.
Поля
Язык программирования кода.
Возможные значения:
-
python
Код, который необходимо выполнить.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "code_execution_call" .
Уникальный идентификатор для данного вызова инструмента.
CodeExecutionResultDelta
Описание отсутствует.
Описание отсутствует.
Описание отсутствует.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "code_execution_result" .
Идентификатор, соответствующий идентификатору из блока вызова функции.
UrlContextCallDelta
arguments UrlContextCallArguments (optional)
Описание отсутствует.
Поля
URL-адреса для загрузки.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "url_context_call" .
Уникальный идентификатор для данного вызова инструмента.
UrlContextResultDelta
Описание отсутствует.
результат UrlContextResult (необязательно)
Описание отсутствует.
Поля
URL-адрес, который был получен.
Статус получения URL-адреса.
Возможные значения:
-
success -
error -
paywall -
unsafe
Описание отсутствует.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "url_context_result" .
Идентификатор, соответствующий идентификатору из блока вызова функции.
GoogleSearchCallDelta
arguments GoogleSearchCallArguments (необязательно)
Описание отсутствует.
Поля
Поисковые запросы в интернете для последующего поиска.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "google_search_call" .
Уникальный идентификатор для данного вызова инструмента.
GoogleSearchResultDelta
Описание отсутствует.
результат GoogleSearchResult (необязательно)
Описание отсутствует.
Поля
URI-ссылка на результат поиска.
Заголовок результата поиска.
Фрагмент веб-контента, который можно встроить в веб-страницу или веб-представление приложения.
Описание отсутствует.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "google_search_result" .
Идентификатор, соответствующий идентификатору из блока вызова функции.
McpServerToolCallDelta
Описание отсутствует.
Описание отсутствует.
Описание отсутствует.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "mcp_server_tool_call" .
Уникальный идентификатор для данного вызова инструмента.
McpServerToolResultDelta
Описание отсутствует.
Описание отсутствует.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "mcp_server_tool_result" .
Разница в результатах вызова инструмента.
Идентификатор, соответствующий идентификатору из блока вызова функции.
FileSearchResultDelta
результат FileSearchResult (необязательно)
Описание отсутствует.
Поля
Заголовок результата поиска.
Текст результата поиска.
Название хранилища для поиска файлов.
Используется в качестве дискриминатора типа OpenAPI для содержимого oneof.
Всегда устанавливайте значение "file_search_result" .
КонтентСтоп
Описание отсутствует.
Описание отсутствует.
Всегда устанавливайте значение "content.stop" .
Токен event_id, который будет использоваться для возобновления потока взаимодействия с этого события.
ErrorEvent
Описание отсутствует.
Всегда устанавливайте значение "error" .
ошибка Ошибка (необязательно)
Описание отсутствует.
Поля
URI, определяющий тип ошибки.
Удобочитаемое сообщение об ошибке.
Токен event_id, который будет использоваться для возобновления потока взаимодействия с этого события.
Примеры
Начало взаимодействия
{ "event_type": "interaction.start", "interaction": { "id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM", "model": "gemini-2.5-flash", "object": "interaction", "status": "in_progress" } }
Взаимодействие завершено
{ "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 } } }
Обновление статуса взаимодействия
{ "event_type": "interaction.status_update", "interaction_id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM", "status": "in_progress" }
Начало контента
{ "event_type": "content.start", "content": { "type": "text" }, "index": 1 }
Содержание Дельта
{ "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 }
Содержание Остановить
{ "event_type": "content.stop", "index": 1 }
Событие ошибки
{ "event_type": "error", "error": { "message": "Failed to get completed interaction: Result not found.", "code": "not_found" } }