Gemini Environments API

環境は、エージェント コード、ツール、サービスを安全に実行するための隔離された実行コンテキストを提供します。

CreateEnvironment

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

環境を作成します。

リクエストの本文

リクエストの本文には、次の構造のデータが含まれます。

network EnvironmentNetworkEgressAllowlist または列挙型(文字列)  (省略可)

環境のネットワーク構成。

サンドボックスのアウトバウンド ネットワーク構成。トラフィックを制限する「allowlist」配列を含むオブジェクト、またはすべてのネットワーク アクセスをオフにする文字列「disabled」を受け入れます。ヘッダー挿入なしですべての送信トラフィックを許可する場合は、完全に省略します。

可能なタイプ

オブジェクト

サンドボックスのアウトバウンド ネットワーク構成。指定すると、サンドボックスがアクセスできる外部ドメインが制限されます。ヘッダー挿入なしですべての送信トラフィックを許可する場合は、完全に省略します。

allowlist 配列(AllowlistEntry)  (省略可)

許可された送信ドメインのリスト。リストに登録されたドメインへのリクエストのみが許可されます。[{'domain': '*'}] を使用すると、特定のドメインにヘッダーを挿入しながら、すべてのドメインを許可できます。

単一のドメイン許可リスト ルール(ヘッダー挿入は省略可)。

フィールド

domain 文字列  (省略可)

アウトバウンド リクエストを許可するドメイン。ワイルドカード(例: '*.googleapis.com')をサポートします。すべてのドメインを許可するには、'*' を使用します。

transform 配列(オブジェクト)またはオブジェクト  (省略可)

このドメインに一致するすべての送信リクエストに挿入するヘッダー。単一の辞書または辞書のリストを受け入れます。上り(内向き)プロキシは、これらを自動的に挿入します。

文字列

すべてのネットワークをオフにします。

有効な値

  • disabled

    すべてのネットワークをオフにします。

sources 配列(Source)  (省略可)

環境にマウントされるソース。

環境にマウントするソース。

フィールド

content string  (省略可)

`type` が `INLINE` の場合、インライン コンテンツ。

encoding string  (省略可)

インライン コンテンツのオプションのエンコード(例: `base64`)。

source 文字列  (省略可)

環境のソース。Cloud Storage の場合、これは Cloud Storage のパスです。GitHub の場合は、GitHub のパスです。

target 文字列  (省略可)

環境内でソースが表示される場所。

type enum(文字列)  (省略可)

説明が入力されていません。

指定できる値は次のとおりです。

  • gcs

    Cloud Storage バケット。

  • inline

    インライン コンテンツ。

  • repository

    汎用リポジトリ。ソース URL のプロトコル プレフィックスは、プロバイダを識別します(例: github://、gcs://)。

レスポンス

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

created 文字列  (省略可)

出力専用。環境が作成された時刻(ISO 8601 形式(YYYY-MM-DDThh:mm:ssZ))。

file_count 文字列  (省略可)

出力専用。環境内のファイルの数(出力のみ)。

id 文字列  (省略可)

必須。出力専用。環境の ID。

last_accessed 文字列  (省略可)

出力専用。環境に最後にアクセスした時刻(ISO 8601 形式(YYYY-MM-DDThh:mm:ssZ))。

network EnvironmentNetworkEgressAllowlist または列挙型(文字列)  (省略可)

環境のネットワーク構成。

サンドボックスのアウトバウンド ネットワーク構成。トラフィックを制限する「allowlist」配列を含むオブジェクト、またはすべてのネットワーク アクセスをオフにする文字列「disabled」を受け入れます。ヘッダー挿入なしですべての送信トラフィックを許可する場合は、完全に省略します。

可能なタイプ

オブジェクト

サンドボックスのアウトバウンド ネットワーク構成。指定すると、サンドボックスがアクセスできる外部ドメインが制限されます。ヘッダー挿入なしですべての送信トラフィックを許可する場合は、完全に省略します。

allowlist 配列(AllowlistEntry)  (省略可)

許可された送信ドメインのリスト。リストに登録されたドメインへのリクエストのみが許可されます。[{'domain': '*'}] を使用すると、特定のドメインにヘッダーを挿入しながら、すべてのドメインを許可できます。

単一のドメイン許可リスト ルール(ヘッダー挿入は省略可)。

フィールド

domain 文字列  (省略可)

アウトバウンド リクエストを許可するドメイン。ワイルドカード(例: '*.googleapis.com')をサポートします。すべてのドメインを許可するには、'*' を使用します。

transform 配列(オブジェクト)またはオブジェクト  (省略可)

このドメインに一致するすべての送信リクエストに挿入するヘッダー。単一の辞書または辞書のリストを受け入れます。上り(内向き)プロキシは、これらを自動的に挿入します。

文字列

すべてのネットワークをオフにします。

有効な値

  • disabled

    すべてのネットワークをオフにします。

size_bytes 文字列  (省略可)

出力専用。環境ファイルの合計サイズ(バイト単位)。出力専用。

sources 配列(Source)  (省略可)

環境にマウントされるソース。

環境にマウントするソース。

フィールド

content string  (省略可)

`type` が `INLINE` の場合、インライン コンテンツ。

encoding string  (省略可)

インライン コンテンツのオプションのエンコード(例: `base64`)。

source 文字列  (省略可)

環境のソース。Cloud Storage の場合、これは Cloud Storage のパスです。GitHub の場合は、GitHub のパスです。

target 文字列  (省略可)

環境内でソースが表示される場所。

type enum(文字列)  (省略可)

説明が入力されていません。

指定できる値は次のとおりです。

  • gcs

    Cloud Storage バケット。

  • inline

    インライン コンテンツ。

  • repository

    汎用リポジトリ。ソース URL のプロトコル プレフィックスは、プロバイダを識別します(例: github://、gcs://)。

status 列挙型(文字列)  (省略可)

出力専用。環境コンテナのステータス。

指定できる値は次のとおりです。

  • active

    出力専用。環境コンテナのステータス。

  • expired

    出力専用。環境コンテナのステータス。

updated 文字列  (省略可)

出力専用。環境が最後に更新された時刻(ISO 8601 形式(YYYY-MM-DDThh:mm:ssZ))。

環境を作成

返信の例

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

get https://generativelanguage.googleapis.com/v1beta/environments

環境を一覧表示します。

パス / クエリ パラメータ

page_size 整数  (省略可)

省略可。返される環境の最大数。指定しない場合、デフォルトは 50 です。最大値は 1,000 です。

page_token 文字列  (省略可)

省略可。ページ設定トークン。

レスポンス

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

environments 配列(Environment  (省略可)

指定されたプロジェクトに属する環境。

next_page_token string  (省略可)

ページ設定トークン。

環境の一覧表示

返信の例

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

get https://generativelanguage.googleapis.com/v1beta/environments/{environment}/files/{path}

環境のスナップショットからファイル メタデータまたはディレクトリの内容を取得します。ファイルの内容を直接ダウンロードするには、?alt=media を渡すか、files.download ヘルパーを使用します。

パス / クエリ パラメータ

page_size 整数  (省略可)

省略可。ページごとに返すエントリの最大数(ディレクトリ リスト用)。

page_token 文字列  (省略可)

省略可。ディレクトリ リスティングのページ設定トークン。

recursive boolean  (省略可)

省略可。true で、パスがディレクトリの場合、すべてのファイルを再帰的に一覧表示します。

レスポンス

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

files 配列(EnvironmentFile)  (省略可)

リクエストされたパスがディレクトリの場合、その内容が含まれます。リクエストされたパスがファイルの場合、これにはファイルのメタデータを含む単一のエントリが含まれます。alt=media が指定されている場合、これは空です(コンテンツは `blob` を介して提供されます)。

環境内のファイルまたはディレクトリのメタデータ。

フィールド

created 文字列  (省略可)

出力専用。ファイル/ディレクトリの作成日時。

mime_type 文字列  (省略可)

出力専用。ファイルの MIME タイプ(例: 「text/python」、「image/png」)。ディレクトリの場合は空です。NOLINT

modified 文字列  (省略可)

出力専用。ファイル/ディレクトリの変更日時。

name string  (省略可)

出力専用。ファイルまたはディレクトリの名前(「main.py」や「src」など)。

path 文字列  (省略可)

出力専用。環境内の完全な相対パス(例: 「workspace/src/main.py」)。

size_bytes 文字列  (省略可)

出力専用。ファイル/ディレクトリのサイズ(バイト単位)。NOLINT

type enum(文字列)  (省略可)

出力専用。エントリのタイプ。

指定できる値は次のとおりです。

  • file

    通常のファイル。

  • directory

    ディレクトリ。

next_page_token string  (省略可)

ディレクトリ リスティングのページ設定トークン。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"
    }
  ]
}

Download File Content

返信の例

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

GetEnvironment

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

環境を取得します。

レスポンス

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

created 文字列  (省略可)

出力専用。環境が作成された時刻(ISO 8601 形式(YYYY-MM-DDThh:mm:ssZ))。

file_count 文字列  (省略可)

出力専用。環境内のファイルの数(出力のみ)。

id 文字列  (省略可)

必須。出力専用。環境の ID。

last_accessed 文字列  (省略可)

出力専用。環境に最後にアクセスした時刻(ISO 8601 形式(YYYY-MM-DDThh:mm:ssZ))。

network EnvironmentNetworkEgressAllowlist または列挙型(文字列)  (省略可)

環境のネットワーク構成。

サンドボックスのアウトバウンド ネットワーク構成。トラフィックを制限する「allowlist」配列を含むオブジェクト、またはすべてのネットワーク アクセスをオフにする文字列「disabled」を受け入れます。ヘッダー挿入なしですべての送信トラフィックを許可する場合は、完全に省略します。

可能なタイプ

オブジェクト

サンドボックスのアウトバウンド ネットワーク構成。指定すると、サンドボックスがアクセスできる外部ドメインが制限されます。ヘッダー挿入なしですべての送信トラフィックを許可する場合は、完全に省略します。

allowlist 配列(AllowlistEntry)  (省略可)

許可された送信ドメインのリスト。リストに登録されたドメインへのリクエストのみが許可されます。[{'domain': '*'}] を使用すると、特定のドメインにヘッダーを挿入しながら、すべてのドメインを許可できます。

単一のドメイン許可リスト ルール(ヘッダー挿入は省略可)。

フィールド

domain 文字列  (省略可)

アウトバウンド リクエストを許可するドメイン。ワイルドカード(例: '*.googleapis.com')をサポートします。すべてのドメインを許可するには、'*' を使用します。

transform 配列(オブジェクト)またはオブジェクト  (省略可)

このドメインに一致するすべての送信リクエストに挿入するヘッダー。単一の辞書または辞書のリストを受け入れます。上り(内向き)プロキシは、これらを自動的に挿入します。

文字列

すべてのネットワークをオフにします。

有効な値

  • disabled

    すべてのネットワークをオフにします。

size_bytes 文字列  (省略可)

出力専用。環境ファイルの合計サイズ(バイト単位)。出力専用。

sources 配列(Source)  (省略可)

環境にマウントされるソース。

環境にマウントするソース。

フィールド

content string  (省略可)

`type` が `INLINE` の場合、インライン コンテンツ。

encoding string  (省略可)

インライン コンテンツのオプションのエンコード(例: `base64`)。

source 文字列  (省略可)

環境のソース。Cloud Storage の場合、これは Cloud Storage のパスです。GitHub の場合は、GitHub のパスです。

target 文字列  (省略可)

環境内でソースが表示される場所。

type enum(文字列)  (省略可)

説明が入力されていません。

指定できる値は次のとおりです。

  • gcs

    Cloud Storage バケット。

  • inline

    インライン コンテンツ。

  • repository

    汎用リポジトリ。ソース URL のプロトコル プレフィックスは、プロバイダを識別します(例: github://、gcs://)。

status 列挙型(文字列)  (省略可)

出力専用。環境コンテナのステータス。

指定できる値は次のとおりです。

  • active

    出力専用。環境コンテナのステータス。

  • expired

    出力専用。環境コンテナのステータス。

updated 文字列  (省略可)

出力専用。環境が最後に更新された時刻(ISO 8601 形式(YYYY-MM-DDThh:mm:ssZ))。

環境の取得

返信の例

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

環境を削除します。

レスポンス

成功すると、レスポンスは空になります。

環境の削除

リソース

環境

エージェントの実行環境。

フィールド

created 文字列  (省略可)

出力専用。環境が作成された時刻(ISO 8601 形式(YYYY-MM-DDThh:mm:ssZ))。

file_count 文字列  (省略可)

出力専用。環境内のファイルの数(出力のみ)。

id 文字列  (省略可)

必須。出力専用。環境の ID。

last_accessed 文字列  (省略可)

出力専用。環境に最後にアクセスした時刻(ISO 8601 形式(YYYY-MM-DDThh:mm:ssZ))。

network EnvironmentNetworkEgressAllowlist または列挙型(文字列)  (省略可)

環境のネットワーク構成。

サンドボックスのアウトバウンド ネットワーク構成。トラフィックを制限する「allowlist」配列を含むオブジェクト、またはすべてのネットワーク アクセスをオフにする文字列「disabled」を受け入れます。ヘッダー挿入なしですべての送信トラフィックを許可する場合は、完全に省略します。

可能なタイプ

オブジェクト

サンドボックスのアウトバウンド ネットワーク構成。指定すると、サンドボックスがアクセスできる外部ドメインが制限されます。ヘッダー挿入なしですべての送信トラフィックを許可する場合は、完全に省略します。

allowlist 配列(AllowlistEntry)  (省略可)

許可された送信ドメインのリスト。リストに登録されたドメインへのリクエストのみが許可されます。[{'domain': '*'}] を使用すると、特定のドメインにヘッダーを挿入しながら、すべてのドメインを許可できます。

単一のドメイン許可リスト ルール(ヘッダー挿入は省略可)。

フィールド

domain 文字列  (省略可)

アウトバウンド リクエストを許可するドメイン。ワイルドカード(例: '*.googleapis.com')をサポートします。すべてのドメインを許可するには、'*' を使用します。

transform 配列(オブジェクト)またはオブジェクト  (省略可)

このドメインに一致するすべての送信リクエストに挿入するヘッダー。単一の辞書または辞書のリストを受け入れます。上り(内向き)プロキシは、これらを自動的に挿入します。

文字列

すべてのネットワークをオフにします。

有効な値

  • disabled

    すべてのネットワークをオフにします。

size_bytes 文字列  (省略可)

出力専用。環境ファイルの合計サイズ(バイト単位)。出力専用。

sources 配列(Source)  (省略可)

環境にマウントされるソース。

環境にマウントするソース。

フィールド

content string  (省略可)

`type` が `INLINE` の場合、インライン コンテンツ。

encoding string  (省略可)

インライン コンテンツのオプションのエンコード(例: `base64`)。

source 文字列  (省略可)

環境のソース。Cloud Storage の場合、これは Cloud Storage のパスです。GitHub の場合は、GitHub のパスです。

target 文字列  (省略可)

環境内でソースが表示される場所。

type enum(文字列)  (省略可)

説明が入力されていません。

指定できる値は次のとおりです。

  • gcs

    Cloud Storage バケット。

  • inline

    インライン コンテンツ。

  • repository

    汎用リポジトリ。ソース URL のプロトコル プレフィックスは、プロバイダを識別します(例: github://、gcs://)。

status 列挙型(文字列)  (省略可)

出力専用。環境コンテナのステータス。

指定できる値は次のとおりです。

  • active

    出力専用。環境コンテナのステータス。

  • expired

    出力専用。環境コンテナのステータス。

updated 文字列  (省略可)

出力専用。環境が最後に更新された時刻(ISO 8601 形式(YYYY-MM-DDThh:mm:ssZ))。