Skip to content

Commit 6b2043f

Browse files
feat(api): gpt-5.4, tool search tool, and new computer tool
1 parent bdb837d commit 6b2043f

75 files changed

Lines changed: 1190 additions & 115 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.stats.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 148
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-b879fff3f51e71e4f1ce17f03efc017a46d888a1bfd88eb655a6210a86f02acf.yml
3-
openapi_spec_hash: cbf649cc2c944fb3f77450ec752ab1e9
4-
config_hash: 9c56fcc7ff64785b5cd448d9a754b4b3
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-9c802d45a9bf2a896b5fd22ac22bba185e8a145bd40ed242df9bb87a05e954eb.yml
3+
openapi_spec_hash: 97984ed69285e660b7d5c810c69ed449
4+
config_hash: acb0b1eb5d7284bfedaddb29f7f5a691

src/openai/lib/_parsing/_responses.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ def parse_response(
101101
output.type == "computer_call"
102102
or output.type == "file_search_call"
103103
or output.type == "web_search_call"
104+
or output.type == "tool_search_call"
105+
or output.type == "tool_search_output"
104106
or output.type == "reasoning"
105107
or output.type == "compaction"
106108
or output.type == "mcp_call"

src/openai/resources/responses/api.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@ Types:
66
from openai.types.responses import (
77
ApplyPatchTool,
88
CompactedResponse,
9+
ComputerAction,
10+
ComputerActionList,
911
ComputerTool,
12+
ComputerUseTool,
1013
ContainerAuto,
1114
ContainerNetworkPolicyAllowlist,
1215
ContainerNetworkPolicyDisabled,
@@ -21,6 +24,7 @@ from openai.types.responses import (
2124
InlineSkillSource,
2225
LocalEnvironment,
2326
LocalSkill,
27+
NamespaceTool,
2428
Response,
2529
ResponseApplyPatchToolCall,
2630
ResponseApplyPatchToolCallOutput,
@@ -123,6 +127,9 @@ from openai.types.responses import (
123127
ResponseTextConfig,
124128
ResponseTextDeltaEvent,
125129
ResponseTextDoneEvent,
130+
ResponseToolSearchCall,
131+
ResponseToolSearchOutputItem,
132+
ResponseToolSearchOutputItemParam,
126133
ResponseUsage,
127134
ResponseWebSearchCallCompletedEvent,
128135
ResponseWebSearchCallInProgressEvent,
@@ -139,6 +146,7 @@ from openai.types.responses import (
139146
ToolChoiceOptions,
140147
ToolChoiceShell,
141148
ToolChoiceTypes,
149+
ToolSearchTool,
142150
WebSearchPreviewTool,
143151
WebSearchTool,
144152
)

src/openai/resources/responses/responses.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1567,6 +1567,8 @@ def compact(
15671567
*,
15681568
model: Union[
15691569
Literal[
1570+
"gpt-5.4",
1571+
"gpt-5.3-chat-latest",
15701572
"gpt-5.2",
15711573
"gpt-5.2-2025-12-11",
15721574
"gpt-5.2-chat-latest",
@@ -3232,6 +3234,8 @@ async def compact(
32323234
*,
32333235
model: Union[
32343236
Literal[
3237+
"gpt-5.4",
3238+
"gpt-5.3-chat-latest",
32353239
"gpt-5.2",
32363240
"gpt-5.2-2025-12-11",
32373241
"gpt-5.2-chat-latest",

src/openai/resources/videos.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ def create(
8181
Args:
8282
prompt: Text prompt that describes the video to generate.
8383
84-
input_reference: Optional image reference that guides generation.
84+
input_reference: Optional multipart reference asset that guides generation.
8585
8686
model: The video generation model to use (allowed values: sora-2, sora-2-pro). Defaults
8787
to `sora-2`.
@@ -437,7 +437,7 @@ async def create(
437437
Args:
438438
prompt: Text prompt that describes the video to generate.
439439
440-
input_reference: Optional image reference that guides generation.
440+
input_reference: Optional multipart reference asset that guides generation.
441441
442442
model: The video generation model to use (allowed values: sora-2, sora-2-pro). Defaults
443443
to `sora-2`.

src/openai/resources/webhooks/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ class Webhooks(_Webhooks):
1010
class AsyncWebhooks(_AsyncWebhooks):
1111
pass
1212

13+
1314
__all__ = ["Webhooks", "AsyncWebhooks"]

src/openai/types/beta/assistant_create_params.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,8 +187,9 @@ class ToolResourcesFileSearchVectorStore(TypedDict, total=False):
187187
file_ids: SequenceNotStr[str]
188188
"""
189189
A list of [file](https://platform.openai.com/docs/api-reference/files) IDs to
190-
add to the vector store. There can be a maximum of 10000 files in a vector
191-
store.
190+
add to the vector store. For vector stores created before Nov 2025, there can be
191+
a maximum of 10,000 files in a vector store. For vector stores created starting
192+
in Nov 2025, the limit is 100,000,000 files.
192193
"""
193194

194195
metadata: Optional[Metadata]

src/openai/types/beta/thread_create_and_run_params.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -274,8 +274,9 @@ class ThreadToolResourcesFileSearchVectorStore(TypedDict, total=False):
274274
file_ids: SequenceNotStr[str]
275275
"""
276276
A list of [file](https://platform.openai.com/docs/api-reference/files) IDs to
277-
add to the vector store. There can be a maximum of 10000 files in a vector
278-
store.
277+
add to the vector store. For vector stores created before Nov 2025, there can be
278+
a maximum of 10,000 files in a vector store. For vector stores created starting
279+
in Nov 2025, the limit is 100,000,000 files.
279280
"""
280281

281282
metadata: Optional[Metadata]

src/openai/types/beta/thread_create_params.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,9 @@ class ToolResourcesFileSearchVectorStore(TypedDict, total=False):
152152
file_ids: SequenceNotStr[str]
153153
"""
154154
A list of [file](https://platform.openai.com/docs/api-reference/files) IDs to
155-
add to the vector store. There can be a maximum of 10000 files in a vector
156-
store.
155+
add to the vector store. For vector stores created before Nov 2025, there can be
156+
a maximum of 10,000 files in a vector store. For vector stores created starting
157+
in Nov 2025, the limit is 100,000,000 files.
157158
"""
158159

159160
metadata: Optional[Metadata]

src/openai/types/conversations/computer_screenshot_content.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,12 @@
1111
class ComputerScreenshotContent(BaseModel):
1212
"""A screenshot of a computer."""
1313

14+
detail: Literal["low", "high", "auto", "original"]
15+
"""The detail level of the screenshot image to be sent to the model.
16+
17+
One of `high`, `low`, `auto`, or `original`. Defaults to `auto`.
18+
"""
19+
1420
file_id: Optional[str] = None
1521
"""The identifier of an uploaded file that contains the screenshot."""
1622

0 commit comments

Comments
 (0)