Gemini Environments API

Среды обеспечивают изолированные контексты выполнения для безопасного запуска кода агента, инструментов и служб.

Создать среду

ссылка: https://generativelanguage.googleapis.com/v1beta/environments

Создаёт среду.

Текст запроса

Тело запроса содержит данные следующей структуры:

network EnvironmentNetworkEgressAllowlist или enum (строка) (необязательно)

Настройка сети для данной среды.

Конфигурация исходящего сетевого трафика для песочницы. Принимает объект с массивом 'allowlist' для ограничения трафика или строку 'disabled' для отключения всего сетевого доступа. Полное исключение позволяет разрешить весь исходящий трафик без внедрения заголовков.

Возможные типы

объект

Настройки исходящей сети для песочницы. При указании ограничивает доступ песочницы к внешним доменам. Полное исключение позволяет разрешить весь исходящий трафик без внедрения заголовков.

Массив разрешенных записей (AllowlistEntry) (необязательно)

Список разрешенных исходящих доменов. Разрешены только запросы к перечисленным доменам. Используйте [{'domain': '*'}], чтобы разрешить все домены, но при этом добавить заголовки только к определенным из них.

Правило, содержащее один домен в списке разрешенных, с возможностью добавления заголовка.

Поля

строка домена (необязательно)

Домен, разрешающий исходящие запросы. Поддерживаются подстановочные знаки (например, '*.googleapis.com'). Используйте '*' для разрешения всех доменов.

преобразование массива (объекта) или объекта (необязательно)

Заголовки для добавления во все исходящие запросы, соответствующие этому домену. Принимает один словарь или список словарей. Исходящий прокси добавляет их автоматически.

нить

Отключает всю сеть.

Возможные значения

  • disabled

    Отключает всю сеть.

массив источников (Источник) (необязательно)

Источники, которые будут установлены в окружающей среде.

Источник, предназначенный для установки в окружающую среду.

Поля

строка содержимого (необязательно)

Встроенное содержимое, если `type` имеет значение `INLINE`.

строка кодировки (необязательно)

Дополнительная кодировка для встроенного контента (например, `base64`).

исходная строка (необязательно)

Источник среды. Для Cloud Storage это путь к Cloud Storage. Для GitHub это путь к GitHub.

Целевая строка (необязательно)

Где должен отображаться исходный код в окружающей среде.

тип перечисления (строка) (необязательно)

Описание отсутствует.

Возможные значения:

  • gcs

    Сегмент облачного хранилища.

  • inline

    Встроенный контент.

  • repository

    Универсальный репозиторий. Префикс протокола в URL-адресе источника идентифицирует поставщика (например, github://, gcs://).

Ответ

В случае успеха тело ответа содержит данные следующей структуры:

созданная строка (необязательно)

Только для вывода. Время создания среды в формате ISO 8601 (ГГГГ-ММ-ДДЧч:мм:ссЗ).

строка file_count (необязательно)

Только вывод. Количество файлов в среде, только вывод.

строка идентификатора (необязательно)

Обязательно. Только для вывода. Идентификатор среды.

строка last_accessed (необязательно)

Только вывод. Время последнего доступа к среде в формате ISO 8601 (ГГГГ-ММ-ДДЧч:мм:ссЗ).

network EnvironmentNetworkEgressAllowlist или enum (строка) (необязательно)

Настройка сети для данной среды.

Конфигурация исходящего сетевого трафика для песочницы. Принимает объект с массивом 'allowlist' для ограничения трафика или строку 'disabled' для отключения всего сетевого доступа. Полное исключение позволяет разрешить весь исходящий трафик без внедрения заголовков.

Возможные типы

объект

Настройки исходящей сети для песочницы. При указании ограничивает доступ песочницы к внешним доменам. Полное исключение позволяет разрешить весь исходящий трафик без внедрения заголовков.

Массив разрешенных записей (AllowlistEntry) (необязательно)

Список разрешенных исходящих доменов. Разрешены только запросы к перечисленным доменам. Используйте [{'domain': '*'}], чтобы разрешить все домены, но при этом добавить заголовки только к определенным из них.

Правило, содержащее один домен в списке разрешенных, с возможностью добавления заголовка.

Поля

строка домена (необязательно)

Домен, разрешающий исходящие запросы. Поддерживаются подстановочные знаки (например, '*.googleapis.com'). Используйте '*' для разрешения всех доменов.

преобразование массива (объекта) или объекта (необязательно)

Заголовки для добавления во все исходящие запросы, соответствующие этому домену. Принимает один словарь или список словарей. Исходящий прокси добавляет их автоматически.

нить

Отключает всю сеть.

Возможные значения

  • disabled

    Отключает всю сеть.

size_bytes строка (необязательно)

Только для вывода. Общий размер файлов окружения в байтах, только для вывода.

массив источников (Источник) (необязательно)

Источники, которые будут установлены в окружающей среде.

Источник, предназначенный для установки в окружающую среду.

Поля

строка содержимого (необязательно)

Встроенное содержимое, если `type` имеет значение `INLINE`.

строка кодировки (необязательно)

Дополнительная кодировка для встроенного контента (например, `base64`).

исходная строка (необязательно)

Источник среды. Для Cloud Storage это путь к Cloud Storage. Для GitHub это путь к GitHub.

Целевая строка (необязательно)

Где должен отображаться исходный код в окружающей среде.

тип перечисления (строка) (необязательно)

Описание отсутствует.

Возможные значения:

  • gcs

    Сегмент облачного хранилища.

  • inline

    Встроенный контент.

  • repository

    Универсальный репозиторий. Префикс протокола в URL-адресе источника идентифицирует поставщика (например, github://, gcs://).

перечисление статуса (строка) (необязательно)

Только вывод. Состояние контейнера среды.

Возможные значения:

  • active

    Только вывод. Состояние контейнера среды.

  • expired

    Только вывод. Состояние контейнера среды.

обновленная строка (необязательно)

Только для вывода. Время последнего обновления среды в формате ISO 8601 (ГГГГ-ММ-ДДЧч:мм:ссЗ).

Создать среду

Пример ответа

{
  "created": "2026-08-19T00:00:00Z",
  "id": "env_abc123",
  "last_accessed": "2026-08-19T00:00:00Z",
  "sources": [
    {
      "type": "inline",
      "content": "print('Hello, World!')",
      "target": "main.py"
    }
  ],
  "status": "active",
  "updated": "2026-08-19T00:00:00Z"
}

ListEnvironments

получить https://generativelanguage.googleapis.com/v1beta/environments

Отображает список сред.

Путь / Параметры запроса

page_size — целое число (необязательно)

Необязательный параметр. Максимальное количество возвращаемых сред.\nЕсли не указано, по умолчанию — 50. Максимальное значение — 1000.

строка page_token (необязательно)

Необязательный параметр. Токен пагинации.

Ответ

В случае успеха тело ответа содержит данные следующей структуры:

массив переменных окружения ( Environment ) (необязательно)

Окружающая среда, относящаяся к предоставленному проекту.

строка next_page_token (необязательно)

Токен пагинации.

Список сред

Пример ответа

{
  "environments": [
    {
      "created": "2026-08-19T00:00:00Z",
      "id": "env_abc123",
      "last_accessed": "2026-08-19T00:00:00Z",
      "status": "active",
      "updated": "2026-08-19T00:00:00Z"
    }
  ]
}

GetEnvironmentFiles

получить https://generativelanguage.googleapis.com/v1beta/environments/{environment}/files/{path}

Извлекает метаданные файлов или содержимое каталогов из снимка среды. Для прямой загрузки содержимого файла передайте параметр ?alt=media или воспользуйтесь вспомогательной функцией files.download.

Путь / Параметры запроса

page_size — целое число (необязательно)

Необязательно. Максимальное количество записей для отображения на странице (для списка каталога).

строка page_token (необязательно)

Необязательно. Токен пагинации для отображения списка файлов в каталоге.

рекурсивное логическое значение (необязательно)

Необязательный параметр. Если значение равно true и путь является каталогом, рекурсивно выводит список всех файлов.

Ответ

В случае успеха тело ответа содержит данные следующей структуры:

массив файлов (EnvironmentFile) (необязательно)

Если запрошенный путь — это каталог, здесь содержится его содержимое. Если запрошенный путь — это файл, здесь содержится одна запись с метаданными файла. Если указан alt=media, это пустое поле (контент предоставляется через `blob`).

Метаданные для файла или каталога в рамках среды.

Поля

созданная строка (необязательно)

Только вывод. Время создания файла/каталога.

строка mime_type (необязательно)

Только вывод. MIME-тип файла (например, "text/python", "image/png"). Для каталогов поле пустое. NOLINT

измененная строка (необязательно)

Только вывод. Время изменения файла/каталога.

строковое имя (необязательно)

Только вывод. Имя файла или каталога (например, "main.py" или "src").

строка пути (необязательно)

Только вывод. Полный относительный путь в среде (например, "workspace/src/main.py").

size_bytes строка (необязательно)

Только вывод. Размер файла/каталога в байтах. NOLINT

тип перечисления (строка) (необязательно)

Только вывод. Тип записи.

Возможные значения:

  • file

    Обычный файл.

  • directory

    Справочник.

строка next_page_token (необязательно)

Токен пагинации для списка файлов в каталоге. NOLINT

Список файлов в среде

Пример ответа

{
  "files": [
    {
      "name": "src",
      "type": "directory",
      "created": "2026-08-19T00:00:00Z",
      "modified": "2026-08-19T00:00:00Z",
      "path": "src"
    },
    {
      "name": "main.py",
      "type": "file",
      "created": "2026-08-19T00:00:00Z",
      "mime_type": "text/x-python",
      "modified": "2026-08-19T00:00:00Z",
      "path": "main.py",
      "size_bytes": "22"
    }
  ]
}

Получить метаданные файла

Пример ответа

{
  "files": [
    {
      "name": "main.py",
      "type": "file",
      "created": "2026-08-19T00:00:00Z",
      "mime_type": "text/x-python",
      "modified": "2026-08-19T00:00:00Z",
      "path": "main.py",
      "size_bytes": "22"
    }
  ]
}

Скачать содержимое файла

Пример ответа

{
  "files": [
    {
      "name": "main.py",
      "type": "file",
      "mime_type": "text/x-python",
      "path": "main.py",
      "size_bytes": "22"
    }
  ]
}

GetEnvironment

получить https://generativelanguage.googleapis.com/v1beta/environments/{id}

Получает среду.

Ответ

В случае успеха тело ответа содержит данные следующей структуры:

созданная строка (необязательно)

Только для вывода. Время создания среды в формате ISO 8601 (ГГГГ-ММ-ДДЧч:мм:ссЗ).

строка file_count (необязательно)

Только вывод. Количество файлов в среде, только вывод.

строка идентификатора (необязательно)

Обязательно. Только для вывода. Идентификатор среды.

строка last_accessed (необязательно)

Только вывод. Время последнего доступа к среде в формате ISO 8601 (ГГГГ-ММ-ДДЧч:мм:ссЗ).

network EnvironmentNetworkEgressAllowlist или enum (строка) (необязательно)

Настройка сети для данной среды.

Конфигурация исходящего сетевого трафика для песочницы. Принимает объект с массивом 'allowlist' для ограничения трафика или строку 'disabled' для отключения всего сетевого доступа. Полное исключение позволяет разрешить весь исходящий трафик без внедрения заголовков.

Возможные типы

объект

Настройки исходящей сети для песочницы. При указании ограничивает доступ песочницы к внешним доменам. Полное исключение позволяет разрешить весь исходящий трафик без внедрения заголовков.

Массив разрешенных записей (AllowlistEntry) (необязательно)

Список разрешенных исходящих доменов. Разрешены только запросы к перечисленным доменам. Используйте [{'domain': '*'}], чтобы разрешить все домены, но при этом добавить заголовки только к определенным из них.

Правило, содержащее один домен в списке разрешенных, с возможностью добавления заголовка.

Поля

строка домена (необязательно)

Домен, разрешающий исходящие запросы. Поддерживаются подстановочные знаки (например, '*.googleapis.com'). Используйте '*' для разрешения всех доменов.

преобразование массива (объекта) или объекта (необязательно)

Заголовки для добавления во все исходящие запросы, соответствующие этому домену. Принимает один словарь или список словарей. Исходящий прокси добавляет их автоматически.

нить

Отключает всю сеть.

Возможные значения

  • disabled

    Отключает всю сеть.

size_bytes строка (необязательно)

Только для вывода. Общий размер файлов окружения в байтах, только для вывода.

массив источников (Источник) (необязательно)

Источники, которые будут установлены в окружающей среде.

Источник, предназначенный для установки в окружающую среду.

Поля

строка содержимого (необязательно)

Встроенное содержимое, если `type` имеет значение `INLINE`.

строка кодировки (необязательно)

Дополнительная кодировка для встроенного контента (например, `base64`).

исходная строка (необязательно)

Источник среды. Для Cloud Storage это путь к Cloud Storage. Для GitHub это путь к GitHub.

Целевая строка (необязательно)

Где должен отображаться исходный код в окружающей среде.

тип перечисления (строка) (необязательно)

Описание отсутствует.

Возможные значения:

  • gcs

    Сегмент облачного хранилища.

  • inline

    Встроенный контент.

  • repository

    Универсальный репозиторий. Префикс протокола в URL-адресе источника идентифицирует поставщика (например, github://, gcs://).

перечисление статуса (строка) (необязательно)

Только вывод. Состояние контейнера среды.

Возможные значения:

  • active

    Только вывод. Состояние контейнера среды.

  • expired

    Только вывод. Состояние контейнера среды.

обновленная строка (необязательно)

Только для вывода. Время последнего обновления среды в формате ISO 8601 (ГГГГ-ММ-ДДЧч:мм:ссЗ).

Получить окружающую среду

Пример ответа

{
  "created": "2026-08-19T00:00:00Z",
  "id": "env_abc123",
  "last_accessed": "2026-08-19T00:00:00Z",
  "sources": [
    {
      "type": "inline",
      "content": "print('Hello, World!')",
      "target": "main.py"
    }
  ],
  "status": "active",
  "updated": "2026-08-19T00:00:00Z"
}

DeleteEnvironment

удалить https://generativelanguage.googleapis.com/v1beta/environments/{id}

Удаляет среду.

Ответ

В случае успеха ответ будет пустым.

Удалить среду

Ресурсы

Среда

Среда выполнения для агента.

Поля

созданная строка (необязательно)

Только для вывода. Время создания среды в формате ISO 8601 (ГГГГ-ММ-ДДЧч:мм:ссЗ).

строка file_count (необязательно)

Только вывод. Количество файлов в среде, только вывод.

строка идентификатора (необязательно)

Обязательно. Только для вывода. Идентификатор среды.

строка last_accessed (необязательно)

Только вывод. Время последнего доступа к среде в формате ISO 8601 (ГГГГ-ММ-ДДЧч:мм:ссЗ).

network EnvironmentNetworkEgressAllowlist или enum (строка) (необязательно)

Настройка сети для данной среды.

Конфигурация исходящего сетевого трафика для песочницы. Принимает объект с массивом 'allowlist' для ограничения трафика или строку 'disabled' для отключения всего сетевого доступа. Полное исключение позволяет разрешить весь исходящий трафик без внедрения заголовков.

Возможные типы

объект

Настройки исходящей сети для песочницы. При указании ограничивает доступ песочницы к внешним доменам. Полное исключение позволяет разрешить весь исходящий трафик без внедрения заголовков.

Массив разрешенных записей (AllowlistEntry) (необязательно)

Список разрешенных исходящих доменов. Разрешены только запросы к перечисленным доменам. Используйте [{'domain': '*'}], чтобы разрешить все домены, но при этом добавить заголовки только к определенным из них.

Правило, содержащее один домен в списке разрешенных, с возможностью добавления заголовка.

Поля

строка домена (необязательно)

Домен, разрешающий исходящие запросы. Поддерживаются подстановочные знаки (например, '*.googleapis.com'). Используйте '*' для разрешения всех доменов.

преобразование массива (объекта) или объекта (необязательно)

Заголовки для добавления во все исходящие запросы, соответствующие этому домену. Принимает один словарь или список словарей. Исходящий прокси добавляет их автоматически.

нить

Отключает всю сеть.

Возможные значения

  • disabled

    Отключает всю сеть.

size_bytes строка (необязательно)

Только для вывода. Общий размер файлов окружения в байтах, только для вывода.

массив источников (Источник) (необязательно)

Источники, которые будут установлены в окружающей среде.

Источник, предназначенный для установки в окружающую среду.

Поля

строка содержимого (необязательно)

Встроенное содержимое, если `type` имеет значение `INLINE`.

строка кодировки (необязательно)

Дополнительная кодировка для встроенного контента (например, `base64`).

исходная строка (необязательно)

Источник среды. Для Cloud Storage это путь к Cloud Storage. Для GitHub это путь к GitHub.

Целевая строка (необязательно)

Где должен отображаться исходный код в окружающей среде.

тип перечисления (строка) (необязательно)

Описание отсутствует.

Возможные значения:

  • gcs

    Сегмент облачного хранилища.

  • inline

    Встроенный контент.

  • repository

    Универсальный репозиторий. Префикс протокола в URL-адресе источника идентифицирует поставщика (например, github://, gcs://).

перечисление статуса (строка) (необязательно)

Только вывод. Состояние контейнера среды.

Возможные значения:

  • active

    Только вывод. Состояние контейнера среды.

  • expired

    Только вывод. Состояние контейнера среды.

обновленная строка (необязательно)

Только для вывода. Время последнего обновления среды в формате ISO 8601 (ГГГГ-ММ-ДДЧч:мм:ссЗ).