Skip to content

Commit 31b7bda

Browse files
feat: Add video_memory to request the 4GiB VRAM GPU browser tier
Stainless-Generated-From: f581fece2ccb216a10620562f96439429da85527
1 parent 84acd58 commit 31b7bda

13 files changed

Lines changed: 58 additions & 1 deletion

‎api.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ from kernel.types import (
131131
BrowserReplResult,
132132
BrowserReplTextContent,
133133
BrowserUsage,
134+
BrowserVideoMemory,
134135
Profile,
135136
Tags,
136137
VaultReference,

‎src/kernel/resources/browsers/browsers.py‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
AsyncFsResourceWithStreamingResponse,
2626
)
2727
from ...types import (
28+
BrowserVideoMemory,
2829
BrowserMemoryRequest,
2930
browser_curl_params,
3031
browser_list_params,
@@ -97,6 +98,7 @@
9798
AsyncPlaywrightResourceWithStreamingResponse,
9899
)
99100
from ...types.browser_repl_result import BrowserReplResult
101+
from ...types.browser_video_memory import BrowserVideoMemory
100102
from ...types.browser_curl_response import BrowserCurlResponse
101103
from ...types.browser_list_response import BrowserListResponse
102104
from ...types.vault_reference_param import VaultReferenceParam
@@ -206,6 +208,7 @@ def create(
206208
telemetry: Optional[browser_create_params.Telemetry] | Omit = omit,
207209
timeout_seconds: int | Omit = omit,
208210
vaults: Iterable[VaultReferenceParam] | Omit = omit,
211+
video_memory: BrowserVideoMemory | Omit = omit,
209212
viewport: BrowserViewport | Omit = omit,
210213
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
211214
# The extra values given here take precedence over values defined on the client or passed to this method.
@@ -293,6 +296,10 @@ def create(
293296
vaults: Project-scoped vaults to link to the browser session. Links are immutable after
294297
creation.
295298
299+
video_memory: Video memory (VRAM) for a GPU browser session. Requires gpu=true. Defaults to
300+
2GiB, which comes with 4 vCPU and 6GiB memory. 4GiB comes with 8 vCPU and 12GiB
301+
memory.
302+
296303
viewport: Initial browser window size in pixels with optional refresh rate. If omitted,
297304
image defaults apply (1920x1080@25). For GPU images, the default is
298305
1920x1080@60. Arbitrary viewport dimensions and refresh rates are accepted.
@@ -337,6 +344,7 @@ def create(
337344
"telemetry": telemetry,
338345
"timeout_seconds": timeout_seconds,
339346
"vaults": vaults,
347+
"video_memory": video_memory,
340348
"viewport": viewport,
341349
},
342350
browser_create_params.BrowserCreateParams,
@@ -915,6 +923,7 @@ async def create(
915923
telemetry: Optional[browser_create_params.Telemetry] | Omit = omit,
916924
timeout_seconds: int | Omit = omit,
917925
vaults: Iterable[VaultReferenceParam] | Omit = omit,
926+
video_memory: BrowserVideoMemory | Omit = omit,
918927
viewport: BrowserViewport | Omit = omit,
919928
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
920929
# The extra values given here take precedence over values defined on the client or passed to this method.
@@ -1002,6 +1011,10 @@ async def create(
10021011
vaults: Project-scoped vaults to link to the browser session. Links are immutable after
10031012
creation.
10041013
1014+
video_memory: Video memory (VRAM) for a GPU browser session. Requires gpu=true. Defaults to
1015+
2GiB, which comes with 4 vCPU and 6GiB memory. 4GiB comes with 8 vCPU and 12GiB
1016+
memory.
1017+
10051018
viewport: Initial browser window size in pixels with optional refresh rate. If omitted,
10061019
image defaults apply (1920x1080@25). For GPU images, the default is
10071020
1920x1080@60. Arbitrary viewport dimensions and refresh rates are accepted.
@@ -1046,6 +1059,7 @@ async def create(
10461059
"telemetry": telemetry,
10471060
"timeout_seconds": timeout_seconds,
10481061
"vaults": vaults,
1062+
"video_memory": video_memory,
10491063
"viewport": viewport,
10501064
},
10511065
browser_create_params.BrowserCreateParams,

‎src/kernel/types/__init__.py‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
from .vault_upsert_params import VaultUpsertParams as VaultUpsertParams
6666
from .browser_proxy_config import BrowserProxyConfig as BrowserProxyConfig
6767
from .browser_repl_content import BrowserReplContent as BrowserReplContent
68+
from .browser_video_memory import BrowserVideoMemory as BrowserVideoMemory
6869
from .proxy_check_response import ProxyCheckResponse as ProxyCheckResponse
6970
from .search_create_params import SearchCreateParams as SearchCreateParams
7071
from .vault_encryption_key import VaultEncryptionKey as VaultEncryptionKey

‎src/kernel/types/browser_create_params.py‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from typing_extensions import Literal, TypedDict
77

88
from .tags_param import TagsParam
9+
from .browser_video_memory import BrowserVideoMemory
910
from .vault_reference_param import VaultReferenceParam
1011
from .browser_memory_request import BrowserMemoryRequest
1112
from .browser_proxy_config_param import BrowserProxyConfigParam
@@ -158,6 +159,13 @@ class BrowserCreateParams(TypedDict, total=False):
158159
Links are immutable after creation.
159160
"""
160161

162+
video_memory: BrowserVideoMemory
163+
"""Video memory (VRAM) for a GPU browser session.
164+
165+
Requires gpu=true. Defaults to 2GiB, which comes with 4 vCPU and 6GiB memory.
166+
4GiB comes with 8 vCPU and 12GiB memory.
167+
"""
168+
161169
viewport: BrowserViewport
162170
"""
163171
Initial browser window size in pixels with optional refresh rate. If omitted,

‎src/kernel/types/browser_create_response.py‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from .browser_memory import BrowserMemory
1313
from .vault_reference import VaultReference
1414
from .browser_pool_ref import BrowserPoolRef
15+
from .browser_video_memory import BrowserVideoMemory
1516
from .browser_network_config import BrowserNetworkConfig
1617
from .shared.browser_viewport import BrowserViewport
1718
from .browsers.browser_telemetry_config import BrowserTelemetryConfig
@@ -135,6 +136,9 @@ class BrowserCreateResponse(BaseModel):
135136
vaults: Optional[List[VaultReference]] = None
136137
"""Vaults linked when the browser session was created."""
137138

139+
video_memory: Optional[BrowserVideoMemory] = None
140+
"""Video memory (VRAM) of the GPU browser session. Only present when gpu is true."""
141+
138142
viewport: Optional[BrowserViewport] = None
139143
"""
140144
Initial browser window size in pixels with optional refresh rate. If omitted,

‎src/kernel/types/browser_list_response.py‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from .browser_memory import BrowserMemory
1313
from .vault_reference import VaultReference
1414
from .browser_pool_ref import BrowserPoolRef
15+
from .browser_video_memory import BrowserVideoMemory
1516
from .browser_network_config import BrowserNetworkConfig
1617
from .shared.browser_viewport import BrowserViewport
1718
from .browsers.browser_telemetry_config import BrowserTelemetryConfig
@@ -135,6 +136,9 @@ class BrowserListResponse(BaseModel):
135136
vaults: Optional[List[VaultReference]] = None
136137
"""Vaults linked when the browser session was created."""
137138

139+
video_memory: Optional[BrowserVideoMemory] = None
140+
"""Video memory (VRAM) of the GPU browser session. Only present when gpu is true."""
141+
138142
viewport: Optional[BrowserViewport] = None
139143
"""
140144
Initial browser window size in pixels with optional refresh rate. If omitted,

‎src/kernel/types/browser_memory.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44

55
__all__ = ["BrowserMemory"]
66

7-
BrowserMemory: TypeAlias = Literal["1GiB", "2GiB", "6GiB", "8GiB", "16GiB"]
7+
BrowserMemory: TypeAlias = Literal["1GiB", "2GiB", "6GiB", "8GiB", "12GiB", "16GiB"]

‎src/kernel/types/browser_pool_acquire_response.py‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from .browser_memory import BrowserMemory
1313
from .vault_reference import VaultReference
1414
from .browser_pool_ref import BrowserPoolRef
15+
from .browser_video_memory import BrowserVideoMemory
1516
from .browser_network_config import BrowserNetworkConfig
1617
from .shared.browser_viewport import BrowserViewport
1718
from .browsers.browser_telemetry_config import BrowserTelemetryConfig
@@ -135,6 +136,9 @@ class BrowserPoolAcquireResponse(BaseModel):
135136
vaults: Optional[List[VaultReference]] = None
136137
"""Vaults linked when the browser session was created."""
137138

139+
video_memory: Optional[BrowserVideoMemory] = None
140+
"""Video memory (VRAM) of the GPU browser session. Only present when gpu is true."""
141+
138142
viewport: Optional[BrowserViewport] = None
139143
"""
140144
Initial browser window size in pixels with optional refresh rate. If omitted,

‎src/kernel/types/browser_retrieve_response.py‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from .browser_memory import BrowserMemory
1313
from .vault_reference import VaultReference
1414
from .browser_pool_ref import BrowserPoolRef
15+
from .browser_video_memory import BrowserVideoMemory
1516
from .browser_network_config import BrowserNetworkConfig
1617
from .shared.browser_viewport import BrowserViewport
1718
from .browsers.browser_telemetry_config import BrowserTelemetryConfig
@@ -135,6 +136,9 @@ class BrowserRetrieveResponse(BaseModel):
135136
vaults: Optional[List[VaultReference]] = None
136137
"""Vaults linked when the browser session was created."""
137138

139+
video_memory: Optional[BrowserVideoMemory] = None
140+
"""Video memory (VRAM) of the GPU browser session. Only present when gpu is true."""
141+
138142
viewport: Optional[BrowserViewport] = None
139143
"""
140144
Initial browser window size in pixels with optional refresh rate. If omitted,

‎src/kernel/types/browser_update_response.py‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from .browser_memory import BrowserMemory
1313
from .vault_reference import VaultReference
1414
from .browser_pool_ref import BrowserPoolRef
15+
from .browser_video_memory import BrowserVideoMemory
1516
from .browser_network_config import BrowserNetworkConfig
1617
from .shared.browser_viewport import BrowserViewport
1718
from .browsers.browser_telemetry_config import BrowserTelemetryConfig
@@ -135,6 +136,9 @@ class BrowserUpdateResponse(BaseModel):
135136
vaults: Optional[List[VaultReference]] = None
136137
"""Vaults linked when the browser session was created."""
137138

139+
video_memory: Optional[BrowserVideoMemory] = None
140+
"""Video memory (VRAM) of the GPU browser session. Only present when gpu is true."""
141+
138142
viewport: Optional[BrowserViewport] = None
139143
"""
140144
Initial browser window size in pixels with optional refresh rate. If omitted,

0 commit comments

Comments
 (0)