diff --git a/en/go/resources/responses/methods/create/index.md b/en/go/resources/responses/methods/create/index.md deleted file mode 100644 index 8fab394..0000000 --- a/en/go/resources/responses/methods/create/index.md +++ /dev/null @@ -1,8332 +0,0 @@ -## Create a model response - -`client.Responses.New(ctx, body) (*Response, error)` - -**post** `/responses` - -Creates a model response. Provide [text](https://platform.openai.com/docs/guides/text) or -[image](https://platform.openai.com/docs/guides/images) inputs to generate [text](https://platform.openai.com/docs/guides/text) -or [JSON](https://platform.openai.com/docs/guides/structured-outputs) outputs. Have the model call -your own [custom code](https://platform.openai.com/docs/guides/function-calling) or use built-in -[tools](https://platform.openai.com/docs/guides/tools) like [web search](https://platform.openai.com/docs/guides/tools-web-search) -or [file search](https://platform.openai.com/docs/guides/tools-file-search) to use your own data -as input for the model's response. - -### Parameters - -- `body ResponseNewParams` - - - `Background param.Field[bool]` - - Whether to run the model response in the background. - [Learn more](https://platform.openai.com/docs/guides/background). - - - `ContextManagement param.Field[[]ResponseNewParamsContextManagement]` - - Context management configuration for this request. - - - `Type string` - - The context management entry type. Currently only 'compaction' is supported. - - - `CompactThreshold int64` - - Token threshold at which compaction should be triggered for this entry. - - - `Conversation param.Field[ResponseNewParamsConversationUnion]` - - The conversation that this response belongs to. Items from this conversation are prepended to `input_items` for this response request. - Input items and output items from this response are automatically added to this conversation after this response completes. - - - `string` - - - `type ResponseConversationParamResp struct{…}` - - The conversation that this response belongs to. - - - `ID string` - - The unique ID of the conversation. - - - `Include param.Field[[]ResponseIncludable]` - - Specify additional output data to include in the model response. Currently supported values are: - - - `web_search_call.action.sources`: Include the sources of the web search tool call. - - `code_interpreter_call.outputs`: Includes the outputs of python code execution in code interpreter tool call items. - - `computer_call_output.output.image_url`: Include image urls from the computer call output. - - `file_search_call.results`: Include the search results of the file search tool call. - - `message.input_image.image_url`: Include image urls from the input message. - - `message.output_text.logprobs`: Include logprobs with assistant messages. - - `reasoning.encrypted_content`: Includes an encrypted version of reasoning tokens in reasoning item outputs. This enables reasoning items to be used in multi-turn conversations when using the Responses API statelessly (like when the `store` parameter is set to `false`, or when an organization is enrolled in the zero data retention program). - - - `const ResponseIncludableFileSearchCallResults ResponseIncludable = "file_search_call.results"` - - - `const ResponseIncludableWebSearchCallResults ResponseIncludable = "web_search_call.results"` - - - `const ResponseIncludableWebSearchCallActionSources ResponseIncludable = "web_search_call.action.sources"` - - - `const ResponseIncludableMessageInputImageImageURL ResponseIncludable = "message.input_image.image_url"` - - - `const ResponseIncludableComputerCallOutputOutputImageURL ResponseIncludable = "computer_call_output.output.image_url"` - - - `const ResponseIncludableCodeInterpreterCallOutputs ResponseIncludable = "code_interpreter_call.outputs"` - - - `const ResponseIncludableReasoningEncryptedContent ResponseIncludable = "reasoning.encrypted_content"` - - - `const ResponseIncludableMessageOutputTextLogprobs ResponseIncludable = "message.output_text.logprobs"` - - - `Input param.Field[ResponseNewParamsInputUnion]` - - Text, image, or file inputs to the model, used to generate a response. - - Learn more: - - - [Text inputs and outputs](https://platform.openai.com/docs/guides/text) - - [Image inputs](https://platform.openai.com/docs/guides/images) - - [File inputs](https://platform.openai.com/docs/guides/pdf-files) - - [Conversation state](https://platform.openai.com/docs/guides/conversation-state) - - [Function calling](https://platform.openai.com/docs/guides/function-calling) - - - `string` - - - `type ResponseInput []ResponseInputItemUnion` - - A list of one or many input items to the model, containing - different content types. - - - `type EasyInputMessage struct{…}` - - A message input to the model with a role indicating instruction following - hierarchy. Instructions given with the `developer` or `system` role take - precedence over instructions given with the `user` role. Messages with the - `assistant` role are presumed to have been generated by the model in previous - interactions. - - - `Content EasyInputMessageContentUnion` - - Text, image, or audio input to the model, used to generate a response. - Can also contain previous assistant responses. - - - `string` - - - `type ResponseInputMessageContentList []ResponseInputContentUnion` - - A list of one or many input items to the model, containing different content - types. - - - `type ResponseInputText struct{…}` - - A text input to the model. - - - `Text string` - - The text input to the model. - - - `Type InputText` - - The type of the input item. Always `input_text`. - - - `const InputTextInputText InputText = "input_text"` - - - `type ResponseInputImage struct{…}` - - An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - - `Detail ResponseInputImageDetail` - - The detail level of the image to be sent to the model. One of `high`, `low`, `auto`, or `original`. Defaults to `auto`. - - - `const ResponseInputImageDetailLow ResponseInputImageDetail = "low"` - - - `const ResponseInputImageDetailHigh ResponseInputImageDetail = "high"` - - - `const ResponseInputImageDetailAuto ResponseInputImageDetail = "auto"` - - - `const ResponseInputImageDetailOriginal ResponseInputImageDetail = "original"` - - - `Type InputImage` - - The type of the input item. Always `input_image`. - - - `const InputImageInputImage InputImage = "input_image"` - - - `FileID string` - - The ID of the file to be sent to the model. - - - `ImageURL string` - - The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - - `type ResponseInputFile struct{…}` - - A file input to the model. - - - `Type InputFile` - - The type of the input item. Always `input_file`. - - - `const InputFileInputFile InputFile = "input_file"` - - - `Detail ResponseInputFileDetail` - - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. - - - `const ResponseInputFileDetailLow ResponseInputFileDetail = "low"` - - - `const ResponseInputFileDetailHigh ResponseInputFileDetail = "high"` - - - `FileData string` - - The content of the file to be sent to the model. - - - `FileID string` - - The ID of the file to be sent to the model. - - - `FileURL string` - - The URL of the file to be sent to the model. - - - `Filename string` - - The name of the file to be sent to the model. - - - `Role EasyInputMessageRole` - - The role of the message input. One of `user`, `assistant`, `system`, or - `developer`. - - - `const EasyInputMessageRoleUser EasyInputMessageRole = "user"` - - - `const EasyInputMessageRoleAssistant EasyInputMessageRole = "assistant"` - - - `const EasyInputMessageRoleSystem EasyInputMessageRole = "system"` - - - `const EasyInputMessageRoleDeveloper EasyInputMessageRole = "developer"` - - - `Phase EasyInputMessagePhase` - - Labels an `assistant` message as intermediate commentary (`commentary`) or the final answer (`final_answer`). - For models like `gpt-5.3-codex` and beyond, when sending follow-up requests, preserve and resend - phase on all assistant messages — dropping it can degrade performance. Not used for user messages. - - - `const EasyInputMessagePhaseCommentary EasyInputMessagePhase = "commentary"` - - - `const EasyInputMessagePhaseFinalAnswer EasyInputMessagePhase = "final_answer"` - - - `Type EasyInputMessageType` - - The type of the message input. Always `message`. - - - `const EasyInputMessageTypeMessage EasyInputMessageType = "message"` - - - `type ResponseInputItemMessage struct{…}` - - A message input to the model with a role indicating instruction following - hierarchy. Instructions given with the `developer` or `system` role take - precedence over instructions given with the `user` role. - - - `Content ResponseInputMessageContentList` - - A list of one or many input items to the model, containing different content - types. - - - `Role string` - - The role of the message input. One of `user`, `system`, or `developer`. - - - `const ResponseInputItemMessageRoleUser ResponseInputItemMessageRole = "user"` - - - `const ResponseInputItemMessageRoleSystem ResponseInputItemMessageRole = "system"` - - - `const ResponseInputItemMessageRoleDeveloper ResponseInputItemMessageRole = "developer"` - - - `Status string` - - The status of item. One of `in_progress`, `completed`, or - `incomplete`. Populated when items are returned via API. - - - `const ResponseInputItemMessageStatusInProgress ResponseInputItemMessageStatus = "in_progress"` - - - `const ResponseInputItemMessageStatusCompleted ResponseInputItemMessageStatus = "completed"` - - - `const ResponseInputItemMessageStatusIncomplete ResponseInputItemMessageStatus = "incomplete"` - - - `Type string` - - The type of the message input. Always set to `message`. - - - `const ResponseInputItemMessageTypeMessage ResponseInputItemMessageType = "message"` - - - `type ResponseOutputMessage struct{…}` - - An output message from the model. - - - `ID string` - - The unique ID of the output message. - - - `Content []ResponseOutputMessageContentUnion` - - The content of the output message. - - - `type ResponseOutputText struct{…}` - - A text output from the model. - - - `Annotations []ResponseOutputTextAnnotationUnion` - - The annotations of the text output. - - - `type ResponseOutputTextAnnotationFileCitation struct{…}` - - A citation to a file. - - - `FileID string` - - The ID of the file. - - - `Filename string` - - The filename of the file cited. - - - `Index int64` - - The index of the file in the list of files. - - - `Type FileCitation` - - The type of the file citation. Always `file_citation`. - - - `const FileCitationFileCitation FileCitation = "file_citation"` - - - `type ResponseOutputTextAnnotationURLCitation struct{…}` - - A citation for a web resource used to generate a model response. - - - `EndIndex int64` - - The index of the last character of the URL citation in the message. - - - `StartIndex int64` - - The index of the first character of the URL citation in the message. - - - `Title string` - - The title of the web resource. - - - `Type URLCitation` - - The type of the URL citation. Always `url_citation`. - - - `const URLCitationURLCitation URLCitation = "url_citation"` - - - `URL string` - - The URL of the web resource. - - - `type ResponseOutputTextAnnotationContainerFileCitation struct{…}` - - A citation for a container file used to generate a model response. - - - `ContainerID string` - - The ID of the container file. - - - `EndIndex int64` - - The index of the last character of the container file citation in the message. - - - `FileID string` - - The ID of the file. - - - `Filename string` - - The filename of the container file cited. - - - `StartIndex int64` - - The index of the first character of the container file citation in the message. - - - `Type ContainerFileCitation` - - The type of the container file citation. Always `container_file_citation`. - - - `const ContainerFileCitationContainerFileCitation ContainerFileCitation = "container_file_citation"` - - - `type ResponseOutputTextAnnotationFilePath struct{…}` - - A path to a file. - - - `FileID string` - - The ID of the file. - - - `Index int64` - - The index of the file in the list of files. - - - `Type FilePath` - - The type of the file path. Always `file_path`. - - - `const FilePathFilePath FilePath = "file_path"` - - - `Text string` - - The text output from the model. - - - `Type OutputText` - - The type of the output text. Always `output_text`. - - - `const OutputTextOutputText OutputText = "output_text"` - - - `Logprobs []ResponseOutputTextLogprob` - - - `Token string` - - - `Bytes []int64` - - - `Logprob float64` - - - `TopLogprobs []ResponseOutputTextLogprobTopLogprob` - - - `Token string` - - - `Bytes []int64` - - - `Logprob float64` - - - `type ResponseOutputRefusal struct{…}` - - A refusal from the model. - - - `Refusal string` - - The refusal explanation from the model. - - - `Type Refusal` - - The type of the refusal. Always `refusal`. - - - `const RefusalRefusal Refusal = "refusal"` - - - `Role Assistant` - - The role of the output message. Always `assistant`. - - - `const AssistantAssistant Assistant = "assistant"` - - - `Status ResponseOutputMessageStatus` - - The status of the message input. One of `in_progress`, `completed`, or - `incomplete`. Populated when input items are returned via API. - - - `const ResponseOutputMessageStatusInProgress ResponseOutputMessageStatus = "in_progress"` - - - `const ResponseOutputMessageStatusCompleted ResponseOutputMessageStatus = "completed"` - - - `const ResponseOutputMessageStatusIncomplete ResponseOutputMessageStatus = "incomplete"` - - - `Type Message` - - The type of the output message. Always `message`. - - - `const MessageMessage Message = "message"` - - - `Phase ResponseOutputMessagePhase` - - Labels an `assistant` message as intermediate commentary (`commentary`) or the final answer (`final_answer`). - For models like `gpt-5.3-codex` and beyond, when sending follow-up requests, preserve and resend - phase on all assistant messages — dropping it can degrade performance. Not used for user messages. - - - `const ResponseOutputMessagePhaseCommentary ResponseOutputMessagePhase = "commentary"` - - - `const ResponseOutputMessagePhaseFinalAnswer ResponseOutputMessagePhase = "final_answer"` - - - `type ResponseFileSearchToolCall struct{…}` - - The results of a file search tool call. See the - [file search guide](https://platform.openai.com/docs/guides/tools-file-search) for more information. - - - `ID string` - - The unique ID of the file search tool call. - - - `Queries []string` - - The queries used to search for files. - - - `Status ResponseFileSearchToolCallStatus` - - The status of the file search tool call. One of `in_progress`, - `searching`, `incomplete` or `failed`, - - - `const ResponseFileSearchToolCallStatusInProgress ResponseFileSearchToolCallStatus = "in_progress"` - - - `const ResponseFileSearchToolCallStatusSearching ResponseFileSearchToolCallStatus = "searching"` - - - `const ResponseFileSearchToolCallStatusCompleted ResponseFileSearchToolCallStatus = "completed"` - - - `const ResponseFileSearchToolCallStatusIncomplete ResponseFileSearchToolCallStatus = "incomplete"` - - - `const ResponseFileSearchToolCallStatusFailed ResponseFileSearchToolCallStatus = "failed"` - - - `Type FileSearchCall` - - The type of the file search tool call. Always `file_search_call`. - - - `const FileSearchCallFileSearchCall FileSearchCall = "file_search_call"` - - - `Results []ResponseFileSearchToolCallResult` - - The results of the file search tool call. - - - `Attributes map[string, ResponseFileSearchToolCallResultAttributeUnion]` - - Set of 16 key-value pairs that can be attached to an object. This can be - useful for storing additional information about the object in a structured - format, and querying for objects via API or the dashboard. Keys are strings - with a maximum length of 64 characters. Values are strings with a maximum - length of 512 characters, booleans, or numbers. - - - `string` - - - `float64` - - - `bool` - - - `FileID string` - - The unique ID of the file. - - - `Filename string` - - The name of the file. - - - `Score float64` - - The relevance score of the file - a value between 0 and 1. - - - `Text string` - - The text that was retrieved from the file. - - - `type ResponseComputerToolCall struct{…}` - - A tool call to a computer use tool. See the - [computer use guide](https://platform.openai.com/docs/guides/tools-computer-use) for more information. - - - `ID string` - - The unique ID of the computer call. - - - `CallID string` - - An identifier used when responding to the tool call with output. - - - `PendingSafetyChecks []ResponseComputerToolCallPendingSafetyCheck` - - The pending safety checks for the computer call. - - - `ID string` - - The ID of the pending safety check. - - - `Code string` - - The type of the pending safety check. - - - `Message string` - - Details about the pending safety check. - - - `Status ResponseComputerToolCallStatus` - - The status of the item. One of `in_progress`, `completed`, or - `incomplete`. Populated when items are returned via API. - - - `const ResponseComputerToolCallStatusInProgress ResponseComputerToolCallStatus = "in_progress"` - - - `const ResponseComputerToolCallStatusCompleted ResponseComputerToolCallStatus = "completed"` - - - `const ResponseComputerToolCallStatusIncomplete ResponseComputerToolCallStatus = "incomplete"` - - - `Type ResponseComputerToolCallType` - - The type of the computer call. Always `computer_call`. - - - `const ResponseComputerToolCallTypeComputerCall ResponseComputerToolCallType = "computer_call"` - - - `Action ResponseComputerToolCallActionUnion` - - A click action. - - - `type ResponseComputerToolCallActionClick struct{…}` - - A click action. - - - `Button string` - - Indicates which mouse button was pressed during the click. One of `left`, `right`, `wheel`, `back`, or `forward`. - - - `const ResponseComputerToolCallActionClickButtonLeft ResponseComputerToolCallActionClickButton = "left"` - - - `const ResponseComputerToolCallActionClickButtonRight ResponseComputerToolCallActionClickButton = "right"` - - - `const ResponseComputerToolCallActionClickButtonWheel ResponseComputerToolCallActionClickButton = "wheel"` - - - `const ResponseComputerToolCallActionClickButtonBack ResponseComputerToolCallActionClickButton = "back"` - - - `const ResponseComputerToolCallActionClickButtonForward ResponseComputerToolCallActionClickButton = "forward"` - - - `Type Click` - - Specifies the event type. For a click action, this property is always `click`. - - - `const ClickClick Click = "click"` - - - `X int64` - - The x-coordinate where the click occurred. - - - `Y int64` - - The y-coordinate where the click occurred. - - - `Keys []string` - - The keys being held while clicking. - - - `type ResponseComputerToolCallActionDoubleClick struct{…}` - - A double click action. - - - `Keys []string` - - The keys being held while double-clicking. - - - `Type DoubleClick` - - Specifies the event type. For a double click action, this property is always set to `double_click`. - - - `const DoubleClickDoubleClick DoubleClick = "double_click"` - - - `X int64` - - The x-coordinate where the double click occurred. - - - `Y int64` - - The y-coordinate where the double click occurred. - - - `type ResponseComputerToolCallActionDrag struct{…}` - - A drag action. - - - `Path []ResponseComputerToolCallActionDragPath` - - An array of coordinates representing the path of the drag action. Coordinates will appear as an array of objects, eg - - ``` - [ - { x: 100, y: 200 }, - { x: 200, y: 300 } - ] - ``` - - - `X int64` - - The x-coordinate. - - - `Y int64` - - The y-coordinate. - - - `Type Drag` - - Specifies the event type. For a drag action, this property is always set to `drag`. - - - `const DragDrag Drag = "drag"` - - - `Keys []string` - - The keys being held while dragging the mouse. - - - `type ResponseComputerToolCallActionKeypress struct{…}` - - A collection of keypresses the model would like to perform. - - - `Keys []string` - - The combination of keys the model is requesting to be pressed. This is an array of strings, each representing a key. - - - `Type Keypress` - - Specifies the event type. For a keypress action, this property is always set to `keypress`. - - - `const KeypressKeypress Keypress = "keypress"` - - - `type ResponseComputerToolCallActionMove struct{…}` - - A mouse move action. - - - `Type Move` - - Specifies the event type. For a move action, this property is always set to `move`. - - - `const MoveMove Move = "move"` - - - `X int64` - - The x-coordinate to move to. - - - `Y int64` - - The y-coordinate to move to. - - - `Keys []string` - - The keys being held while moving the mouse. - - - `type ResponseComputerToolCallActionScreenshot struct{…}` - - A screenshot action. - - - `Type Screenshot` - - Specifies the event type. For a screenshot action, this property is always set to `screenshot`. - - - `const ScreenshotScreenshot Screenshot = "screenshot"` - - - `type ResponseComputerToolCallActionScroll struct{…}` - - A scroll action. - - - `ScrollX int64` - - The horizontal scroll distance. - - - `ScrollY int64` - - The vertical scroll distance. - - - `Type Scroll` - - Specifies the event type. For a scroll action, this property is always set to `scroll`. - - - `const ScrollScroll Scroll = "scroll"` - - - `X int64` - - The x-coordinate where the scroll occurred. - - - `Y int64` - - The y-coordinate where the scroll occurred. - - - `Keys []string` - - The keys being held while scrolling. - - - `type ResponseComputerToolCallActionType struct{…}` - - An action to type in text. - - - `Text string` - - The text to type. - - - `Type Type` - - Specifies the event type. For a type action, this property is always set to `type`. - - - `const TypeType Type = "type"` - - - `type ResponseComputerToolCallActionWait struct{…}` - - A wait action. - - - `Type Wait` - - Specifies the event type. For a wait action, this property is always set to `wait`. - - - `const WaitWait Wait = "wait"` - - - `Actions ComputerActionList` - - Flattened batched actions for `computer_use`. Each action includes an - `type` discriminator and action-specific fields. - - - `type ComputerActionClick struct{…}` - - A click action. - - - `Button string` - - Indicates which mouse button was pressed during the click. One of `left`, `right`, `wheel`, `back`, or `forward`. - - - `const ComputerActionClickButtonLeft ComputerActionClickButton = "left"` - - - `const ComputerActionClickButtonRight ComputerActionClickButton = "right"` - - - `const ComputerActionClickButtonWheel ComputerActionClickButton = "wheel"` - - - `const ComputerActionClickButtonBack ComputerActionClickButton = "back"` - - - `const ComputerActionClickButtonForward ComputerActionClickButton = "forward"` - - - `Type Click` - - Specifies the event type. For a click action, this property is always `click`. - - - `const ClickClick Click = "click"` - - - `X int64` - - The x-coordinate where the click occurred. - - - `Y int64` - - The y-coordinate where the click occurred. - - - `Keys []string` - - The keys being held while clicking. - - - `type ComputerActionDoubleClick struct{…}` - - A double click action. - - - `Keys []string` - - The keys being held while double-clicking. - - - `Type DoubleClick` - - Specifies the event type. For a double click action, this property is always set to `double_click`. - - - `const DoubleClickDoubleClick DoubleClick = "double_click"` - - - `X int64` - - The x-coordinate where the double click occurred. - - - `Y int64` - - The y-coordinate where the double click occurred. - - - `type ComputerActionDrag struct{…}` - - A drag action. - - - `Path []ComputerActionDragPath` - - An array of coordinates representing the path of the drag action. Coordinates will appear as an array of objects, eg - - ``` - [ - { x: 100, y: 200 }, - { x: 200, y: 300 } - ] - ``` - - - `X int64` - - The x-coordinate. - - - `Y int64` - - The y-coordinate. - - - `Type Drag` - - Specifies the event type. For a drag action, this property is always set to `drag`. - - - `const DragDrag Drag = "drag"` - - - `Keys []string` - - The keys being held while dragging the mouse. - - - `type ComputerActionKeypress struct{…}` - - A collection of keypresses the model would like to perform. - - - `Keys []string` - - The combination of keys the model is requesting to be pressed. This is an array of strings, each representing a key. - - - `Type Keypress` - - Specifies the event type. For a keypress action, this property is always set to `keypress`. - - - `const KeypressKeypress Keypress = "keypress"` - - - `type ComputerActionMove struct{…}` - - A mouse move action. - - - `Type Move` - - Specifies the event type. For a move action, this property is always set to `move`. - - - `const MoveMove Move = "move"` - - - `X int64` - - The x-coordinate to move to. - - - `Y int64` - - The y-coordinate to move to. - - - `Keys []string` - - The keys being held while moving the mouse. - - - `type ComputerActionScreenshot struct{…}` - - A screenshot action. - - - `Type Screenshot` - - Specifies the event type. For a screenshot action, this property is always set to `screenshot`. - - - `const ScreenshotScreenshot Screenshot = "screenshot"` - - - `type ComputerActionScroll struct{…}` - - A scroll action. - - - `ScrollX int64` - - The horizontal scroll distance. - - - `ScrollY int64` - - The vertical scroll distance. - - - `Type Scroll` - - Specifies the event type. For a scroll action, this property is always set to `scroll`. - - - `const ScrollScroll Scroll = "scroll"` - - - `X int64` - - The x-coordinate where the scroll occurred. - - - `Y int64` - - The y-coordinate where the scroll occurred. - - - `Keys []string` - - The keys being held while scrolling. - - - `type ComputerActionType struct{…}` - - An action to type in text. - - - `Text string` - - The text to type. - - - `Type Type` - - Specifies the event type. For a type action, this property is always set to `type`. - - - `const TypeType Type = "type"` - - - `type ComputerActionWait struct{…}` - - A wait action. - - - `Type Wait` - - Specifies the event type. For a wait action, this property is always set to `wait`. - - - `const WaitWait Wait = "wait"` - - - `type ResponseInputItemComputerCallOutput struct{…}` - - The output of a computer tool call. - - - `CallID string` - - The ID of the computer tool call that produced the output. - - - `Output ResponseComputerToolCallOutputScreenshot` - - A computer screenshot image used with the computer use tool. - - - `Type ComputerScreenshot` - - Specifies the event type. For a computer screenshot, this property is - always set to `computer_screenshot`. - - - `const ComputerScreenshotComputerScreenshot ComputerScreenshot = "computer_screenshot"` - - - `FileID string` - - The identifier of an uploaded file that contains the screenshot. - - - `ImageURL string` - - The URL of the screenshot image. - - - `Type ComputerCallOutput` - - The type of the computer tool call output. Always `computer_call_output`. - - - `const ComputerCallOutputComputerCallOutput ComputerCallOutput = "computer_call_output"` - - - `ID string` - - The ID of the computer tool call output. - - - `AcknowledgedSafetyChecks []ResponseInputItemComputerCallOutputAcknowledgedSafetyCheck` - - The safety checks reported by the API that have been acknowledged by the developer. - - - `ID string` - - The ID of the pending safety check. - - - `Code string` - - The type of the pending safety check. - - - `Message string` - - Details about the pending safety check. - - - `Status string` - - The status of the message input. One of `in_progress`, `completed`, or `incomplete`. Populated when input items are returned via API. - - - `const ResponseInputItemComputerCallOutputStatusInProgress ResponseInputItemComputerCallOutputStatus = "in_progress"` - - - `const ResponseInputItemComputerCallOutputStatusCompleted ResponseInputItemComputerCallOutputStatus = "completed"` - - - `const ResponseInputItemComputerCallOutputStatusIncomplete ResponseInputItemComputerCallOutputStatus = "incomplete"` - - - `type ResponseFunctionWebSearch struct{…}` - - The results of a web search tool call. See the - [web search guide](https://platform.openai.com/docs/guides/tools-web-search) for more information. - - - `ID string` - - The unique ID of the web search tool call. - - - `Action ResponseFunctionWebSearchActionUnion` - - An object describing the specific action taken in this web search call. - Includes details on how the model used the web (search, open_page, find_in_page). - - - `type ResponseFunctionWebSearchActionSearch struct{…}` - - Action type "search" - Performs a web search query. - - - `Query string` - - [DEPRECATED] The search query. - - - `Type Search` - - The action type. - - - `const SearchSearch Search = "search"` - - - `Queries []string` - - The search queries. - - - `Sources []ResponseFunctionWebSearchActionSearchSource` - - The sources used in the search. - - - `Type URL` - - The type of source. Always `url`. - - - `const URLURL URL = "url"` - - - `URL string` - - The URL of the source. - - - `type ResponseFunctionWebSearchActionOpenPage struct{…}` - - Action type "open_page" - Opens a specific URL from search results. - - - `Type OpenPage` - - The action type. - - - `const OpenPageOpenPage OpenPage = "open_page"` - - - `URL string` - - The URL opened by the model. - - - `type ResponseFunctionWebSearchActionFindInPage struct{…}` - - Action type "find_in_page": Searches for a pattern within a loaded page. - - - `Pattern string` - - The pattern or text to search for within the page. - - - `Type FindInPage` - - The action type. - - - `const FindInPageFindInPage FindInPage = "find_in_page"` - - - `URL string` - - The URL of the page searched for the pattern. - - - `Status ResponseFunctionWebSearchStatus` - - The status of the web search tool call. - - - `const ResponseFunctionWebSearchStatusInProgress ResponseFunctionWebSearchStatus = "in_progress"` - - - `const ResponseFunctionWebSearchStatusSearching ResponseFunctionWebSearchStatus = "searching"` - - - `const ResponseFunctionWebSearchStatusCompleted ResponseFunctionWebSearchStatus = "completed"` - - - `const ResponseFunctionWebSearchStatusFailed ResponseFunctionWebSearchStatus = "failed"` - - - `Type WebSearchCall` - - The type of the web search tool call. Always `web_search_call`. - - - `const WebSearchCallWebSearchCall WebSearchCall = "web_search_call"` - - - `type ResponseFunctionToolCall struct{…}` - - A tool call to run a function. See the - [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. - - - `Arguments string` - - A JSON string of the arguments to pass to the function. - - - `CallID string` - - The unique ID of the function tool call generated by the model. - - - `Name string` - - The name of the function to run. - - - `Type FunctionCall` - - The type of the function tool call. Always `function_call`. - - - `const FunctionCallFunctionCall FunctionCall = "function_call"` - - - `ID string` - - The unique ID of the function tool call. - - - `Namespace string` - - The namespace of the function to run. - - - `Status ResponseFunctionToolCallStatus` - - The status of the item. One of `in_progress`, `completed`, or - `incomplete`. Populated when items are returned via API. - - - `const ResponseFunctionToolCallStatusInProgress ResponseFunctionToolCallStatus = "in_progress"` - - - `const ResponseFunctionToolCallStatusCompleted ResponseFunctionToolCallStatus = "completed"` - - - `const ResponseFunctionToolCallStatusIncomplete ResponseFunctionToolCallStatus = "incomplete"` - - - `type ResponseInputItemFunctionCallOutput struct{…}` - - The output of a function tool call. - - - `CallID string` - - The unique ID of the function tool call generated by the model. - - - `Output ResponseInputItemFunctionCallOutputOutputUnion` - - Text, image, or file output of the function tool call. - - - `string` - - - `type ResponseFunctionCallOutputItemList []ResponseFunctionCallOutputItemUnion` - - An array of content outputs (text, image, file) for the function tool call. - - - `type ResponseInputTextContent struct{…}` - - A text input to the model. - - - `Text string` - - The text input to the model. - - - `Type InputText` - - The type of the input item. Always `input_text`. - - - `const InputTextInputText InputText = "input_text"` - - - `type ResponseInputImageContent struct{…}` - - An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision) - - - `Type InputImage` - - The type of the input item. Always `input_image`. - - - `const InputImageInputImage InputImage = "input_image"` - - - `Detail ResponseInputImageContentDetail` - - The detail level of the image to be sent to the model. One of `high`, `low`, `auto`, or `original`. Defaults to `auto`. - - - `const ResponseInputImageContentDetailLow ResponseInputImageContentDetail = "low"` - - - `const ResponseInputImageContentDetailHigh ResponseInputImageContentDetail = "high"` - - - `const ResponseInputImageContentDetailAuto ResponseInputImageContentDetail = "auto"` - - - `const ResponseInputImageContentDetailOriginal ResponseInputImageContentDetail = "original"` - - - `FileID string` - - The ID of the file to be sent to the model. - - - `ImageURL string` - - The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - - `type ResponseInputFileContent struct{…}` - - A file input to the model. - - - `Type InputFile` - - The type of the input item. Always `input_file`. - - - `const InputFileInputFile InputFile = "input_file"` - - - `Detail ResponseInputFileContentDetail` - - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. - - - `const ResponseInputFileContentDetailLow ResponseInputFileContentDetail = "low"` - - - `const ResponseInputFileContentDetailHigh ResponseInputFileContentDetail = "high"` - - - `FileData string` - - The base64-encoded data of the file to be sent to the model. - - - `FileID string` - - The ID of the file to be sent to the model. - - - `FileURL string` - - The URL of the file to be sent to the model. - - - `Filename string` - - The name of the file to be sent to the model. - - - `Type FunctionCallOutput` - - The type of the function tool call output. Always `function_call_output`. - - - `const FunctionCallOutputFunctionCallOutput FunctionCallOutput = "function_call_output"` - - - `ID string` - - The unique ID of the function tool call output. Populated when this item is returned via API. - - - `Status string` - - The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. - - - `const ResponseInputItemFunctionCallOutputStatusInProgress ResponseInputItemFunctionCallOutputStatus = "in_progress"` - - - `const ResponseInputItemFunctionCallOutputStatusCompleted ResponseInputItemFunctionCallOutputStatus = "completed"` - - - `const ResponseInputItemFunctionCallOutputStatusIncomplete ResponseInputItemFunctionCallOutputStatus = "incomplete"` - - - `type ResponseInputItemToolSearchCall struct{…}` - - - `Arguments any` - - The arguments supplied to the tool search call. - - - `Type ToolSearchCall` - - The item type. Always `tool_search_call`. - - - `const ToolSearchCallToolSearchCall ToolSearchCall = "tool_search_call"` - - - `ID string` - - The unique ID of this tool search call. - - - `CallID string` - - The unique ID of the tool search call generated by the model. - - - `Execution string` - - Whether tool search was executed by the server or by the client. - - - `const ResponseInputItemToolSearchCallExecutionServer ResponseInputItemToolSearchCallExecution = "server"` - - - `const ResponseInputItemToolSearchCallExecutionClient ResponseInputItemToolSearchCallExecution = "client"` - - - `Status string` - - The status of the tool search call. - - - `const ResponseInputItemToolSearchCallStatusInProgress ResponseInputItemToolSearchCallStatus = "in_progress"` - - - `const ResponseInputItemToolSearchCallStatusCompleted ResponseInputItemToolSearchCallStatus = "completed"` - - - `const ResponseInputItemToolSearchCallStatusIncomplete ResponseInputItemToolSearchCallStatus = "incomplete"` - - - `type ResponseToolSearchOutputItemParamResp struct{…}` - - - `Tools []ToolUnion` - - The loaded tool definitions returned by the tool search output. - - - `type FunctionTool struct{…}` - - Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). - - - `Name string` - - The name of the function to call. - - - `Parameters map[string, any]` - - A JSON schema object describing the parameters of the function. - - - `Strict bool` - - Whether to enforce strict parameter validation. Default `true`. - - - `Type Function` - - The type of the function tool. Always `function`. - - - `const FunctionFunction Function = "function"` - - - `DeferLoading bool` - - Whether this function is deferred and loaded via tool search. - - - `Description string` - - A description of the function. Used by the model to determine whether or not to call the function. - - - `type FileSearchTool struct{…}` - - A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). - - - `Type FileSearch` - - The type of the file search tool. Always `file_search`. - - - `const FileSearchFileSearch FileSearch = "file_search"` - - - `VectorStoreIDs []string` - - The IDs of the vector stores to search. - - - `Filters FileSearchToolFiltersUnion` - - A filter to apply. - - - `type ComparisonFilter struct{…}` - - A filter used to compare a specified attribute key to a given value using a defined comparison operation. - - - `Key string` - - The key to compare against the value. - - - `Type ComparisonFilterType` - - Specifies the comparison operator: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `in`, `nin`. - - - `eq`: equals - - `ne`: not equal - - `gt`: greater than - - `gte`: greater than or equal - - `lt`: less than - - `lte`: less than or equal - - `in`: in - - `nin`: not in - - - `const ComparisonFilterTypeEq ComparisonFilterType = "eq"` - - - `const ComparisonFilterTypeNe ComparisonFilterType = "ne"` - - - `const ComparisonFilterTypeGt ComparisonFilterType = "gt"` - - - `const ComparisonFilterTypeGte ComparisonFilterType = "gte"` - - - `const ComparisonFilterTypeLt ComparisonFilterType = "lt"` - - - `const ComparisonFilterTypeLte ComparisonFilterType = "lte"` - - - `const ComparisonFilterTypeIn ComparisonFilterType = "in"` - - - `const ComparisonFilterTypeNin ComparisonFilterType = "nin"` - - - `Value ComparisonFilterValueUnion` - - The value to compare against the attribute key; supports string, number, or boolean types. - - - `string` - - - `float64` - - - `bool` - - - `type ComparisonFilterValueArray []ComparisonFilterValueArrayItemUnion` - - - `string` - - - `float64` - - - `type CompoundFilter struct{…}` - - Combine multiple filters using `and` or `or`. - - - `Filters []ComparisonFilter` - - Array of filters to combine. Items can be `ComparisonFilter` or `CompoundFilter`. - - - `type ComparisonFilter struct{…}` - - A filter used to compare a specified attribute key to a given value using a defined comparison operation. - - - `Type CompoundFilterType` - - Type of operation: `and` or `or`. - - - `const CompoundFilterTypeAnd CompoundFilterType = "and"` - - - `const CompoundFilterTypeOr CompoundFilterType = "or"` - - - `MaxNumResults int64` - - The maximum number of results to return. This number should be between 1 and 50 inclusive. - - - `RankingOptions FileSearchToolRankingOptions` - - Ranking options for search. - - - `HybridSearch FileSearchToolRankingOptionsHybridSearch` - - Weights that control how reciprocal rank fusion balances semantic embedding matches versus sparse keyword matches when hybrid search is enabled. - - - `EmbeddingWeight float64` - - The weight of the embedding in the reciprocal ranking fusion. - - - `TextWeight float64` - - The weight of the text in the reciprocal ranking fusion. - - - `Ranker string` - - The ranker to use for the file search. - - - `const FileSearchToolRankingOptionsRankerAuto FileSearchToolRankingOptionsRanker = "auto"` - - - `const FileSearchToolRankingOptionsRankerDefault2024_11_15 FileSearchToolRankingOptionsRanker = "default-2024-11-15"` - - - `ScoreThreshold float64` - - The score threshold for the file search, a number between 0 and 1. Numbers closer to 1 will attempt to return only the most relevant results, but may return fewer results. - - - `type ComputerTool struct{…}` - - A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use). - - - `Type Computer` - - The type of the computer tool. Always `computer`. - - - `const ComputerComputer Computer = "computer"` - - - `type ComputerUsePreviewTool struct{…}` - - A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use). - - - `DisplayHeight int64` - - The height of the computer display. - - - `DisplayWidth int64` - - The width of the computer display. - - - `Environment ComputerUsePreviewToolEnvironment` - - The type of computer environment to control. - - - `const ComputerUsePreviewToolEnvironmentWindows ComputerUsePreviewToolEnvironment = "windows"` - - - `const ComputerUsePreviewToolEnvironmentMac ComputerUsePreviewToolEnvironment = "mac"` - - - `const ComputerUsePreviewToolEnvironmentLinux ComputerUsePreviewToolEnvironment = "linux"` - - - `const ComputerUsePreviewToolEnvironmentUbuntu ComputerUsePreviewToolEnvironment = "ubuntu"` - - - `const ComputerUsePreviewToolEnvironmentBrowser ComputerUsePreviewToolEnvironment = "browser"` - - - `Type ComputerUsePreview` - - The type of the computer use tool. Always `computer_use_preview`. - - - `const ComputerUsePreviewComputerUsePreview ComputerUsePreview = "computer_use_preview"` - - - `type WebSearchTool struct{…}` - - Search the Internet for sources related to the prompt. Learn more about the - [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - - `Type WebSearchToolType` - - The type of the web search tool. One of `web_search` or `web_search_2025_08_26`. - - - `const WebSearchToolTypeWebSearch WebSearchToolType = "web_search"` - - - `const WebSearchToolTypeWebSearch2025_08_26 WebSearchToolType = "web_search_2025_08_26"` - - - `Filters WebSearchToolFilters` - - Filters for the search. - - - `AllowedDomains []string` - - Allowed domains for the search. If not provided, all domains are allowed. - Subdomains of the provided domains are allowed as well. - - Example: `["pubmed.ncbi.nlm.nih.gov"]` - - - `SearchContextSize WebSearchToolSearchContextSize` - - High level guidance for the amount of context window space to use for the search. One of `low`, `medium`, or `high`. `medium` is the default. - - - `const WebSearchToolSearchContextSizeLow WebSearchToolSearchContextSize = "low"` - - - `const WebSearchToolSearchContextSizeMedium WebSearchToolSearchContextSize = "medium"` - - - `const WebSearchToolSearchContextSizeHigh WebSearchToolSearchContextSize = "high"` - - - `UserLocation WebSearchToolUserLocation` - - The approximate location of the user. - - - `City string` - - Free text input for the city of the user, e.g. `San Francisco`. - - - `Country string` - - The two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1) of the user, e.g. `US`. - - - `Region string` - - Free text input for the region of the user, e.g. `California`. - - - `Timezone string` - - The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - - `Type string` - - The type of location approximation. Always `approximate`. - - - `const WebSearchToolUserLocationTypeApproximate WebSearchToolUserLocationType = "approximate"` - - - `type ToolMcp struct{…}` - - Give the model access to additional tools via remote Model Context Protocol - (MCP) servers. [Learn more about MCP](https://platform.openai.com/docs/guides/tools-remote-mcp). - - - `ServerLabel string` - - A label for this MCP server, used to identify it in tool calls. - - - `Type Mcp` - - The type of the MCP tool. Always `mcp`. - - - `const McpMcp Mcp = "mcp"` - - - `AllowedTools ToolMcpAllowedToolsUnion` - - List of allowed tool names or a filter object. - - - `type ToolMcpAllowedToolsMcpAllowedTools []string` - - A string array of allowed tool names - - - `type ToolMcpAllowedToolsMcpToolFilter struct{…}` - - A filter object to specify which tools are allowed. - - - `ReadOnly bool` - - Indicates whether or not a tool modifies data or is read-only. If an - MCP server is [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint), - it will match this filter. - - - `ToolNames []string` - - List of allowed tool names. - - - `Authorization string` - - An OAuth access token that can be used with a remote MCP server, either - with a custom MCP server URL or a service connector. Your application - must handle the OAuth authorization flow and provide the token here. - - - `ConnectorID string` - - Identifier for service connectors, like those available in ChatGPT. One of - `server_url` or `connector_id` must be provided. Learn more about service - connectors [here](https://platform.openai.com/docs/guides/tools-remote-mcp#connectors). - - Currently supported `connector_id` values are: - - - Dropbox: `connector_dropbox` - - Gmail: `connector_gmail` - - Google Calendar: `connector_googlecalendar` - - Google Drive: `connector_googledrive` - - Microsoft Teams: `connector_microsoftteams` - - Outlook Calendar: `connector_outlookcalendar` - - Outlook Email: `connector_outlookemail` - - SharePoint: `connector_sharepoint` - - - `const ToolMcpConnectorIDConnectorDropbox ToolMcpConnectorID = "connector_dropbox"` - - - `const ToolMcpConnectorIDConnectorGmail ToolMcpConnectorID = "connector_gmail"` - - - `const ToolMcpConnectorIDConnectorGooglecalendar ToolMcpConnectorID = "connector_googlecalendar"` - - - `const ToolMcpConnectorIDConnectorGoogledrive ToolMcpConnectorID = "connector_googledrive"` - - - `const ToolMcpConnectorIDConnectorMicrosoftteams ToolMcpConnectorID = "connector_microsoftteams"` - - - `const ToolMcpConnectorIDConnectorOutlookcalendar ToolMcpConnectorID = "connector_outlookcalendar"` - - - `const ToolMcpConnectorIDConnectorOutlookemail ToolMcpConnectorID = "connector_outlookemail"` - - - `const ToolMcpConnectorIDConnectorSharepoint ToolMcpConnectorID = "connector_sharepoint"` - - - `DeferLoading bool` - - Whether this MCP tool is deferred and discovered via tool search. - - - `Headers map[string, string]` - - Optional HTTP headers to send to the MCP server. Use for authentication - or other purposes. - - - `RequireApproval ToolMcpRequireApprovalUnion` - - Specify which of the MCP server's tools require approval. - - - `type ToolMcpRequireApprovalMcpToolApprovalFilter struct{…}` - - Specify which of the MCP server's tools require approval. Can be - `always`, `never`, or a filter object associated with tools - that require approval. - - - `Always ToolMcpRequireApprovalMcpToolApprovalFilterAlways` - - A filter object to specify which tools are allowed. - - - `ReadOnly bool` - - Indicates whether or not a tool modifies data or is read-only. If an - MCP server is [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint), - it will match this filter. - - - `ToolNames []string` - - List of allowed tool names. - - - `Never ToolMcpRequireApprovalMcpToolApprovalFilterNever` - - A filter object to specify which tools are allowed. - - - `ReadOnly bool` - - Indicates whether or not a tool modifies data or is read-only. If an - MCP server is [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint), - it will match this filter. - - - `ToolNames []string` - - List of allowed tool names. - - - `type ToolMcpRequireApprovalMcpToolApprovalSetting string` - - Specify a single approval policy for all tools. One of `always` or - `never`. When set to `always`, all tools will require approval. When - set to `never`, all tools will not require approval. - - - `const ToolMcpRequireApprovalMcpToolApprovalSettingAlways ToolMcpRequireApprovalMcpToolApprovalSetting = "always"` - - - `const ToolMcpRequireApprovalMcpToolApprovalSettingNever ToolMcpRequireApprovalMcpToolApprovalSetting = "never"` - - - `ServerDescription string` - - Optional description of the MCP server, used to provide more context. - - - `ServerURL string` - - The URL for the MCP server. One of `server_url` or `connector_id` must be - provided. - - - `type ToolCodeInterpreter struct{…}` - - A tool that runs Python code to help generate a response to a prompt. - - - `Container ToolCodeInterpreterContainerUnion` - - The code interpreter container. Can be a container ID or an object that - specifies uploaded file IDs to make available to your code, along with an - optional `memory_limit` setting. - - - `string` - - - `type ToolCodeInterpreterContainerCodeInterpreterContainerAuto struct{…}` - - Configuration for a code interpreter container. Optionally specify the IDs of the files to run the code on. - - - `Type Auto` - - Always `auto`. - - - `const AutoAuto Auto = "auto"` - - - `FileIDs []string` - - An optional list of uploaded files to make available to your code. - - - `MemoryLimit string` - - The memory limit for the code interpreter container. - - - `const ToolCodeInterpreterContainerCodeInterpreterToolAutoMemoryLimit1g ToolCodeInterpreterContainerCodeInterpreterToolAutoMemoryLimit = "1g"` - - - `const ToolCodeInterpreterContainerCodeInterpreterToolAutoMemoryLimit4g ToolCodeInterpreterContainerCodeInterpreterToolAutoMemoryLimit = "4g"` - - - `const ToolCodeInterpreterContainerCodeInterpreterToolAutoMemoryLimit16g ToolCodeInterpreterContainerCodeInterpreterToolAutoMemoryLimit = "16g"` - - - `const ToolCodeInterpreterContainerCodeInterpreterToolAutoMemoryLimit64g ToolCodeInterpreterContainerCodeInterpreterToolAutoMemoryLimit = "64g"` - - - `NetworkPolicy ToolCodeInterpreterContainerCodeInterpreterToolAutoNetworkPolicyUnion` - - Network access policy for the container. - - - `type ContainerNetworkPolicyDisabled struct{…}` - - - `Type Disabled` - - Disable outbound network access. Always `disabled`. - - - `const DisabledDisabled Disabled = "disabled"` - - - `type ContainerNetworkPolicyAllowlist struct{…}` - - - `AllowedDomains []string` - - A list of allowed domains when type is `allowlist`. - - - `Type Allowlist` - - Allow outbound network access only to specified domains. Always `allowlist`. - - - `const AllowlistAllowlist Allowlist = "allowlist"` - - - `DomainSecrets []ContainerNetworkPolicyDomainSecret` - - Optional domain-scoped secrets for allowlisted domains. - - - `Domain string` - - The domain associated with the secret. - - - `Name string` - - The name of the secret to inject for the domain. - - - `Value string` - - The secret value to inject for the domain. - - - `Type CodeInterpreter` - - The type of the code interpreter tool. Always `code_interpreter`. - - - `const CodeInterpreterCodeInterpreter CodeInterpreter = "code_interpreter"` - - - `type ToolImageGeneration struct{…}` - - A tool that generates images using the GPT image models. - - - `Type ImageGeneration` - - The type of the image generation tool. Always `image_generation`. - - - `const ImageGenerationImageGeneration ImageGeneration = "image_generation"` - - - `Action string` - - Whether to generate a new image or edit an existing image. Default: `auto`. - - - `const ToolImageGenerationActionGenerate ToolImageGenerationAction = "generate"` - - - `const ToolImageGenerationActionEdit ToolImageGenerationAction = "edit"` - - - `const ToolImageGenerationActionAuto ToolImageGenerationAction = "auto"` - - - `Background string` - - Allows to set transparency for the background of the generated image(s). - This parameter is only supported for GPT image models that support - transparent backgrounds. Must be one of `transparent`, `opaque`, or - `auto` (default value). When `auto` is used, the model will - automatically determine the best background for the image. - - `gpt-image-2` and `gpt-image-2-2026-04-21` do not support - transparent backgrounds. Requests with `background` set to - `transparent` will return an error for these models; use `opaque` or - `auto` instead. - - If `transparent`, the output format needs to support transparency, - so it should be set to either `png` (default value) or `webp`. - - - `const ToolImageGenerationBackgroundTransparent ToolImageGenerationBackground = "transparent"` - - - `const ToolImageGenerationBackgroundOpaque ToolImageGenerationBackground = "opaque"` - - - `const ToolImageGenerationBackgroundAuto ToolImageGenerationBackground = "auto"` - - - `InputFidelity string` - - Control how much effort the model will exert to match the style and features, especially facial features, of input images. This parameter is only supported for `gpt-image-1` and `gpt-image-1.5` and later models, unsupported for `gpt-image-1-mini`. Supports `high` and `low`. Defaults to `low`. - - - `const ToolImageGenerationInputFidelityHigh ToolImageGenerationInputFidelity = "high"` - - - `const ToolImageGenerationInputFidelityLow ToolImageGenerationInputFidelity = "low"` - - - `InputImageMask ToolImageGenerationInputImageMask` - - Optional mask for inpainting. Contains `image_url` - (string, optional) and `file_id` (string, optional). - - - `FileID string` - - File ID for the mask image. - - - `ImageURL string` - - Base64-encoded mask image. - - - `Model string` - - The image generation model to use. Default: `gpt-image-1`. - - - `string` - - - `string` - - - `const ToolImageGenerationModelGPTImage1 ToolImageGenerationModel = "gpt-image-1"` - - - `const ToolImageGenerationModelGPTImage1Mini ToolImageGenerationModel = "gpt-image-1-mini"` - - - `const ToolImageGenerationModelGPTImage2 ToolImageGenerationModel = "gpt-image-2"` - - - `const ToolImageGenerationModelGPTImage2_2026_04_21 ToolImageGenerationModel = "gpt-image-2-2026-04-21"` - - - `const ToolImageGenerationModelGPTImage1_5 ToolImageGenerationModel = "gpt-image-1.5"` - - - `const ToolImageGenerationModelChatgptImageLatest ToolImageGenerationModel = "chatgpt-image-latest"` - - - `Moderation string` - - Moderation level for the generated image. Default: `auto`. - - - `const ToolImageGenerationModerationAuto ToolImageGenerationModeration = "auto"` - - - `const ToolImageGenerationModerationLow ToolImageGenerationModeration = "low"` - - - `OutputCompression int64` - - Compression level for the output image. Default: 100. - - - `OutputFormat string` - - The output format of the generated image. One of `png`, `webp`, or - `jpeg`. Default: `png`. - - - `const ToolImageGenerationOutputFormatPNG ToolImageGenerationOutputFormat = "png"` - - - `const ToolImageGenerationOutputFormatWebP ToolImageGenerationOutputFormat = "webp"` - - - `const ToolImageGenerationOutputFormatJPEG ToolImageGenerationOutputFormat = "jpeg"` - - - `PartialImages int64` - - Number of partial images to generate in streaming mode, from 0 (default value) to 3. - - - `Quality string` - - The quality of the generated image. One of `low`, `medium`, `high`, - or `auto`. Default: `auto`. - - - `const ToolImageGenerationQualityLow ToolImageGenerationQuality = "low"` - - - `const ToolImageGenerationQualityMedium ToolImageGenerationQuality = "medium"` - - - `const ToolImageGenerationQualityHigh ToolImageGenerationQuality = "high"` - - - `const ToolImageGenerationQualityAuto ToolImageGenerationQuality = "auto"` - - - `Size string` - - The size of the generated images. For `gpt-image-2` and `gpt-image-2-2026-04-21`, arbitrary resolutions are supported as `WIDTHxHEIGHT` strings, for example `1536x864`. Width and height must both be divisible by 16 and the requested aspect ratio must be between 1:3 and 3:1. Resolutions above `2560x1440` are experimental, and the maximum supported resolution is `3840x2160`. The requested size must also satisfy the model's current pixel and edge limits. The standard sizes `1024x1024`, `1536x1024`, and `1024x1536` are supported by the GPT image models; `auto` is supported for models that allow automatic sizing. For `dall-e-2`, use one of `256x256`, `512x512`, or `1024x1024`. For `dall-e-3`, use one of `1024x1024`, `1792x1024`, or `1024x1792`. - - - `string` - - - `string` - - - `const ToolImageGenerationSize1024x1024 ToolImageGenerationSize = "1024x1024"` - - - `const ToolImageGenerationSize1024x1536 ToolImageGenerationSize = "1024x1536"` - - - `const ToolImageGenerationSize1536x1024 ToolImageGenerationSize = "1536x1024"` - - - `const ToolImageGenerationSizeAuto ToolImageGenerationSize = "auto"` - - - `type ToolLocalShell struct{…}` - - A tool that allows the model to execute shell commands in a local environment. - - - `Type LocalShell` - - The type of the local shell tool. Always `local_shell`. - - - `const LocalShellLocalShell LocalShell = "local_shell"` - - - `type FunctionShellTool struct{…}` - - A tool that allows the model to execute shell commands. - - - `Type Shell` - - The type of the shell tool. Always `shell`. - - - `const ShellShell Shell = "shell"` - - - `Environment FunctionShellToolEnvironmentUnion` - - - `type ContainerAuto struct{…}` - - - `Type ContainerAuto` - - Automatically creates a container for this request - - - `const ContainerAutoContainerAuto ContainerAuto = "container_auto"` - - - `FileIDs []string` - - An optional list of uploaded files to make available to your code. - - - `MemoryLimit ContainerAutoMemoryLimit` - - The memory limit for the container. - - - `const ContainerAutoMemoryLimit1g ContainerAutoMemoryLimit = "1g"` - - - `const ContainerAutoMemoryLimit4g ContainerAutoMemoryLimit = "4g"` - - - `const ContainerAutoMemoryLimit16g ContainerAutoMemoryLimit = "16g"` - - - `const ContainerAutoMemoryLimit64g ContainerAutoMemoryLimit = "64g"` - - - `NetworkPolicy ContainerAutoNetworkPolicyUnion` - - Network access policy for the container. - - - `type ContainerNetworkPolicyDisabled struct{…}` - - - `type ContainerNetworkPolicyAllowlist struct{…}` - - - `Skills []ContainerAutoSkillUnion` - - An optional list of skills referenced by id or inline data. - - - `type SkillReference struct{…}` - - - `SkillID string` - - The ID of the referenced skill. - - - `Type SkillReference` - - References a skill created with the /v1/skills endpoint. - - - `const SkillReferenceSkillReference SkillReference = "skill_reference"` - - - `Version string` - - Optional skill version. Use a positive integer or 'latest'. Omit for default. - - - `type InlineSkill struct{…}` - - - `Description string` - - The description of the skill. - - - `Name string` - - The name of the skill. - - - `Source InlineSkillSource` - - Inline skill payload - - - `Data string` - - Base64-encoded skill zip bundle. - - - `MediaType ApplicationZip` - - The media type of the inline skill payload. Must be `application/zip`. - - - `const ApplicationZipApplicationZip ApplicationZip = "application/zip"` - - - `Type Base64` - - The type of the inline skill source. Must be `base64`. - - - `const Base64Base64 Base64 = "base64"` - - - `Type Inline` - - Defines an inline skill for this request. - - - `const InlineInline Inline = "inline"` - - - `type LocalEnvironment struct{…}` - - - `Type Local` - - Use a local computer environment. - - - `const LocalLocal Local = "local"` - - - `Skills []LocalSkill` - - An optional list of skills. - - - `Description string` - - The description of the skill. - - - `Name string` - - The name of the skill. - - - `Path string` - - The path to the directory containing the skill. - - - `type ContainerReference struct{…}` - - - `ContainerID string` - - The ID of the referenced container. - - - `Type ContainerReference` - - References a container created with the /v1/containers endpoint - - - `const ContainerReferenceContainerReference ContainerReference = "container_reference"` - - - `type CustomTool struct{…}` - - A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) - - - `Name string` - - The name of the custom tool, used to identify it in tool calls. - - - `Type Custom` - - The type of the custom tool. Always `custom`. - - - `const CustomCustom Custom = "custom"` - - - `DeferLoading bool` - - Whether this tool should be deferred and discovered via tool search. - - - `Description string` - - Optional description of the custom tool, used to provide more context. - - - `Format CustomToolInputFormatUnion` - - The input format for the custom tool. Default is unconstrained text. - - - `type CustomToolInputFormatText struct{…}` - - Unconstrained free-form text. - - - `Type Text` - - Unconstrained text format. Always `text`. - - - `const TextText Text = "text"` - - - `type CustomToolInputFormatGrammar struct{…}` - - A grammar defined by the user. - - - `Definition string` - - The grammar definition. - - - `Syntax string` - - The syntax of the grammar definition. One of `lark` or `regex`. - - - `const CustomToolInputFormatGrammarSyntaxLark CustomToolInputFormatGrammarSyntax = "lark"` - - - `const CustomToolInputFormatGrammarSyntaxRegex CustomToolInputFormatGrammarSyntax = "regex"` - - - `Type Grammar` - - Grammar format. Always `grammar`. - - - `const GrammarGrammar Grammar = "grammar"` - - - `type NamespaceTool struct{…}` - - Groups function/custom tools under a shared namespace. - - - `Description string` - - A description of the namespace shown to the model. - - - `Name string` - - The namespace name used in tool calls (for example, `crm`). - - - `Tools []NamespaceToolToolUnion` - - The function/custom tools available inside this namespace. - - - `type NamespaceToolToolFunction struct{…}` - - - `Name string` - - - `Type Function` - - - `const FunctionFunction Function = "function"` - - - `DeferLoading bool` - - Whether this function should be deferred and discovered via tool search. - - - `Description string` - - - `Parameters any` - - - `Strict bool` - - - `type CustomTool struct{…}` - - A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) - - - `Type Namespace` - - The type of the tool. Always `namespace`. - - - `const NamespaceNamespace Namespace = "namespace"` - - - `type ToolSearchTool struct{…}` - - Hosted or BYOT tool search configuration for deferred tools. - - - `Type ToolSearch` - - The type of the tool. Always `tool_search`. - - - `const ToolSearchToolSearch ToolSearch = "tool_search"` - - - `Description string` - - Description shown to the model for a client-executed tool search tool. - - - `Execution ToolSearchToolExecution` - - Whether tool search is executed by the server or by the client. - - - `const ToolSearchToolExecutionServer ToolSearchToolExecution = "server"` - - - `const ToolSearchToolExecutionClient ToolSearchToolExecution = "client"` - - - `Parameters any` - - Parameter schema for a client-executed tool search tool. - - - `type WebSearchPreviewTool struct{…}` - - This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - - `Type WebSearchPreviewToolType` - - The type of the web search tool. One of `web_search_preview` or `web_search_preview_2025_03_11`. - - - `const WebSearchPreviewToolTypeWebSearchPreview WebSearchPreviewToolType = "web_search_preview"` - - - `const WebSearchPreviewToolTypeWebSearchPreview2025_03_11 WebSearchPreviewToolType = "web_search_preview_2025_03_11"` - - - `SearchContentTypes []string` - - - `const WebSearchPreviewToolSearchContentTypeText WebSearchPreviewToolSearchContentType = "text"` - - - `const WebSearchPreviewToolSearchContentTypeImage WebSearchPreviewToolSearchContentType = "image"` - - - `SearchContextSize WebSearchPreviewToolSearchContextSize` - - High level guidance for the amount of context window space to use for the search. One of `low`, `medium`, or `high`. `medium` is the default. - - - `const WebSearchPreviewToolSearchContextSizeLow WebSearchPreviewToolSearchContextSize = "low"` - - - `const WebSearchPreviewToolSearchContextSizeMedium WebSearchPreviewToolSearchContextSize = "medium"` - - - `const WebSearchPreviewToolSearchContextSizeHigh WebSearchPreviewToolSearchContextSize = "high"` - - - `UserLocation WebSearchPreviewToolUserLocation` - - The user's location. - - - `Type Approximate` - - The type of location approximation. Always `approximate`. - - - `const ApproximateApproximate Approximate = "approximate"` - - - `City string` - - Free text input for the city of the user, e.g. `San Francisco`. - - - `Country string` - - The two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1) of the user, e.g. `US`. - - - `Region string` - - Free text input for the region of the user, e.g. `California`. - - - `Timezone string` - - The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - - `type ApplyPatchTool struct{…}` - - Allows the assistant to create, delete, or update files using unified diffs. - - - `Type ApplyPatch` - - The type of the tool. Always `apply_patch`. - - - `const ApplyPatchApplyPatch ApplyPatch = "apply_patch"` - - - `Type ToolSearchOutput` - - The item type. Always `tool_search_output`. - - - `const ToolSearchOutputToolSearchOutput ToolSearchOutput = "tool_search_output"` - - - `ID string` - - The unique ID of this tool search output. - - - `CallID string` - - The unique ID of the tool search call generated by the model. - - - `Execution ResponseToolSearchOutputItemParamExecution` - - Whether tool search was executed by the server or by the client. - - - `const ResponseToolSearchOutputItemParamExecutionServer ResponseToolSearchOutputItemParamExecution = "server"` - - - `const ResponseToolSearchOutputItemParamExecutionClient ResponseToolSearchOutputItemParamExecution = "client"` - - - `Status ResponseToolSearchOutputItemParamStatus` - - The status of the tool search output. - - - `const ResponseToolSearchOutputItemParamStatusInProgress ResponseToolSearchOutputItemParamStatus = "in_progress"` - - - `const ResponseToolSearchOutputItemParamStatusCompleted ResponseToolSearchOutputItemParamStatus = "completed"` - - - `const ResponseToolSearchOutputItemParamStatusIncomplete ResponseToolSearchOutputItemParamStatus = "incomplete"` - - - `type ResponseReasoningItem struct{…}` - - A description of the chain of thought used by a reasoning model while generating - a response. Be sure to include these items in your `input` to the Responses API - for subsequent turns of a conversation if you are manually - [managing context](https://platform.openai.com/docs/guides/conversation-state). - - - `ID string` - - The unique identifier of the reasoning content. - - - `Summary []ResponseReasoningItemSummary` - - Reasoning summary content. - - - `Text string` - - A summary of the reasoning output from the model so far. - - - `Type SummaryText` - - The type of the object. Always `summary_text`. - - - `const SummaryTextSummaryText SummaryText = "summary_text"` - - - `Type Reasoning` - - The type of the object. Always `reasoning`. - - - `const ReasoningReasoning Reasoning = "reasoning"` - - - `Content []ResponseReasoningItemContent` - - Reasoning text content. - - - `Text string` - - The reasoning text from the model. - - - `Type ReasoningText` - - The type of the reasoning text. Always `reasoning_text`. - - - `const ReasoningTextReasoningText ReasoningText = "reasoning_text"` - - - `EncryptedContent string` - - The encrypted content of the reasoning item - populated when a response is - generated with `reasoning.encrypted_content` in the `include` parameter. - - - `Status ResponseReasoningItemStatus` - - The status of the item. One of `in_progress`, `completed`, or - `incomplete`. Populated when items are returned via API. - - - `const ResponseReasoningItemStatusInProgress ResponseReasoningItemStatus = "in_progress"` - - - `const ResponseReasoningItemStatusCompleted ResponseReasoningItemStatus = "completed"` - - - `const ResponseReasoningItemStatusIncomplete ResponseReasoningItemStatus = "incomplete"` - - - `type ResponseCompactionItemParamResp struct{…}` - - A compaction item generated by the [`v1/responses/compact` API](https://platform.openai.com/docs/api-reference/responses/compact). - - - `EncryptedContent string` - - The encrypted content of the compaction summary. - - - `Type Compaction` - - The type of the item. Always `compaction`. - - - `const CompactionCompaction Compaction = "compaction"` - - - `ID string` - - The ID of the compaction item. - - - `type ResponseInputItemImageGenerationCall struct{…}` - - An image generation request made by the model. - - - `ID string` - - The unique ID of the image generation call. - - - `Result string` - - The generated image encoded in base64. - - - `Status string` - - The status of the image generation call. - - - `const ResponseInputItemImageGenerationCallStatusInProgress ResponseInputItemImageGenerationCallStatus = "in_progress"` - - - `const ResponseInputItemImageGenerationCallStatusCompleted ResponseInputItemImageGenerationCallStatus = "completed"` - - - `const ResponseInputItemImageGenerationCallStatusGenerating ResponseInputItemImageGenerationCallStatus = "generating"` - - - `const ResponseInputItemImageGenerationCallStatusFailed ResponseInputItemImageGenerationCallStatus = "failed"` - - - `Type ImageGenerationCall` - - The type of the image generation call. Always `image_generation_call`. - - - `const ImageGenerationCallImageGenerationCall ImageGenerationCall = "image_generation_call"` - - - `type ResponseCodeInterpreterToolCall struct{…}` - - A tool call to run code. - - - `ID string` - - The unique ID of the code interpreter tool call. - - - `Code string` - - The code to run, or null if not available. - - - `ContainerID string` - - The ID of the container used to run the code. - - - `Outputs []ResponseCodeInterpreterToolCallOutputUnion` - - The outputs generated by the code interpreter, such as logs or images. - Can be null if no outputs are available. - - - `type ResponseCodeInterpreterToolCallOutputLogs struct{…}` - - The logs output from the code interpreter. - - - `Logs string` - - The logs output from the code interpreter. - - - `Type Logs` - - The type of the output. Always `logs`. - - - `const LogsLogs Logs = "logs"` - - - `type ResponseCodeInterpreterToolCallOutputImage struct{…}` - - The image output from the code interpreter. - - - `Type Image` - - The type of the output. Always `image`. - - - `const ImageImage Image = "image"` - - - `URL string` - - The URL of the image output from the code interpreter. - - - `Status ResponseCodeInterpreterToolCallStatus` - - The status of the code interpreter tool call. Valid values are `in_progress`, `completed`, `incomplete`, `interpreting`, and `failed`. - - - `const ResponseCodeInterpreterToolCallStatusInProgress ResponseCodeInterpreterToolCallStatus = "in_progress"` - - - `const ResponseCodeInterpreterToolCallStatusCompleted ResponseCodeInterpreterToolCallStatus = "completed"` - - - `const ResponseCodeInterpreterToolCallStatusIncomplete ResponseCodeInterpreterToolCallStatus = "incomplete"` - - - `const ResponseCodeInterpreterToolCallStatusInterpreting ResponseCodeInterpreterToolCallStatus = "interpreting"` - - - `const ResponseCodeInterpreterToolCallStatusFailed ResponseCodeInterpreterToolCallStatus = "failed"` - - - `Type CodeInterpreterCall` - - The type of the code interpreter tool call. Always `code_interpreter_call`. - - - `const CodeInterpreterCallCodeInterpreterCall CodeInterpreterCall = "code_interpreter_call"` - - - `type ResponseInputItemLocalShellCall struct{…}` - - A tool call to run a command on the local shell. - - - `ID string` - - The unique ID of the local shell call. - - - `Action ResponseInputItemLocalShellCallAction` - - Execute a shell command on the server. - - - `Command []string` - - The command to run. - - - `Env map[string, string]` - - Environment variables to set for the command. - - - `Type Exec` - - The type of the local shell action. Always `exec`. - - - `const ExecExec Exec = "exec"` - - - `TimeoutMs int64` - - Optional timeout in milliseconds for the command. - - - `User string` - - Optional user to run the command as. - - - `WorkingDirectory string` - - Optional working directory to run the command in. - - - `CallID string` - - The unique ID of the local shell tool call generated by the model. - - - `Status string` - - The status of the local shell call. - - - `const ResponseInputItemLocalShellCallStatusInProgress ResponseInputItemLocalShellCallStatus = "in_progress"` - - - `const ResponseInputItemLocalShellCallStatusCompleted ResponseInputItemLocalShellCallStatus = "completed"` - - - `const ResponseInputItemLocalShellCallStatusIncomplete ResponseInputItemLocalShellCallStatus = "incomplete"` - - - `Type LocalShellCall` - - The type of the local shell call. Always `local_shell_call`. - - - `const LocalShellCallLocalShellCall LocalShellCall = "local_shell_call"` - - - `type ResponseInputItemLocalShellCallOutput struct{…}` - - The output of a local shell tool call. - - - `ID string` - - The unique ID of the local shell tool call generated by the model. - - - `Output string` - - A JSON string of the output of the local shell tool call. - - - `Type LocalShellCallOutput` - - The type of the local shell tool call output. Always `local_shell_call_output`. - - - `const LocalShellCallOutputLocalShellCallOutput LocalShellCallOutput = "local_shell_call_output"` - - - `Status string` - - The status of the item. One of `in_progress`, `completed`, or `incomplete`. - - - `const ResponseInputItemLocalShellCallOutputStatusInProgress ResponseInputItemLocalShellCallOutputStatus = "in_progress"` - - - `const ResponseInputItemLocalShellCallOutputStatusCompleted ResponseInputItemLocalShellCallOutputStatus = "completed"` - - - `const ResponseInputItemLocalShellCallOutputStatusIncomplete ResponseInputItemLocalShellCallOutputStatus = "incomplete"` - - - `type ResponseInputItemShellCall struct{…}` - - A tool representing a request to execute one or more shell commands. - - - `Action ResponseInputItemShellCallAction` - - The shell commands and limits that describe how to run the tool call. - - - `Commands []string` - - Ordered shell commands for the execution environment to run. - - - `MaxOutputLength int64` - - Maximum number of UTF-8 characters to capture from combined stdout and stderr output. - - - `TimeoutMs int64` - - Maximum wall-clock time in milliseconds to allow the shell commands to run. - - - `CallID string` - - The unique ID of the shell tool call generated by the model. - - - `Type ShellCall` - - The type of the item. Always `shell_call`. - - - `const ShellCallShellCall ShellCall = "shell_call"` - - - `ID string` - - The unique ID of the shell tool call. Populated when this item is returned via API. - - - `Environment ResponseInputItemShellCallEnvironmentUnion` - - The environment to execute the shell commands in. - - - `type LocalEnvironment struct{…}` - - - `type ContainerReference struct{…}` - - - `Status string` - - The status of the shell call. One of `in_progress`, `completed`, or `incomplete`. - - - `const ResponseInputItemShellCallStatusInProgress ResponseInputItemShellCallStatus = "in_progress"` - - - `const ResponseInputItemShellCallStatusCompleted ResponseInputItemShellCallStatus = "completed"` - - - `const ResponseInputItemShellCallStatusIncomplete ResponseInputItemShellCallStatus = "incomplete"` - - - `type ResponseInputItemShellCallOutput struct{…}` - - The streamed output items emitted by a shell tool call. - - - `CallID string` - - The unique ID of the shell tool call generated by the model. - - - `Output []ResponseFunctionShellCallOutputContent` - - Captured chunks of stdout and stderr output, along with their associated outcomes. - - - `Outcome ResponseFunctionShellCallOutputContentOutcomeUnion` - - The exit or timeout outcome associated with this shell call. - - - `type ResponseFunctionShellCallOutputContentOutcomeTimeout struct{…}` - - Indicates that the shell call exceeded its configured time limit. - - - `Type Timeout` - - The outcome type. Always `timeout`. - - - `const TimeoutTimeout Timeout = "timeout"` - - - `type ResponseFunctionShellCallOutputContentOutcomeExit struct{…}` - - Indicates that the shell commands finished and returned an exit code. - - - `ExitCode int64` - - The exit code returned by the shell process. - - - `Type Exit` - - The outcome type. Always `exit`. - - - `const ExitExit Exit = "exit"` - - - `Stderr string` - - Captured stderr output for the shell call. - - - `Stdout string` - - Captured stdout output for the shell call. - - - `Type ShellCallOutput` - - The type of the item. Always `shell_call_output`. - - - `const ShellCallOutputShellCallOutput ShellCallOutput = "shell_call_output"` - - - `ID string` - - The unique ID of the shell tool call output. Populated when this item is returned via API. - - - `MaxOutputLength int64` - - The maximum number of UTF-8 characters captured for this shell call's combined output. - - - `Status string` - - The status of the shell call output. - - - `const ResponseInputItemShellCallOutputStatusInProgress ResponseInputItemShellCallOutputStatus = "in_progress"` - - - `const ResponseInputItemShellCallOutputStatusCompleted ResponseInputItemShellCallOutputStatus = "completed"` - - - `const ResponseInputItemShellCallOutputStatusIncomplete ResponseInputItemShellCallOutputStatus = "incomplete"` - - - `type ResponseInputItemApplyPatchCall struct{…}` - - A tool call representing a request to create, delete, or update files using diff patches. - - - `CallID string` - - The unique ID of the apply patch tool call generated by the model. - - - `Operation ResponseInputItemApplyPatchCallOperationUnion` - - The specific create, delete, or update instruction for the apply_patch tool call. - - - `type ResponseInputItemApplyPatchCallOperationCreateFile struct{…}` - - Instruction for creating a new file via the apply_patch tool. - - - `Diff string` - - Unified diff content to apply when creating the file. - - - `Path string` - - Path of the file to create relative to the workspace root. - - - `Type CreateFile` - - The operation type. Always `create_file`. - - - `const CreateFileCreateFile CreateFile = "create_file"` - - - `type ResponseInputItemApplyPatchCallOperationDeleteFile struct{…}` - - Instruction for deleting an existing file via the apply_patch tool. - - - `Path string` - - Path of the file to delete relative to the workspace root. - - - `Type DeleteFile` - - The operation type. Always `delete_file`. - - - `const DeleteFileDeleteFile DeleteFile = "delete_file"` - - - `type ResponseInputItemApplyPatchCallOperationUpdateFile struct{…}` - - Instruction for updating an existing file via the apply_patch tool. - - - `Diff string` - - Unified diff content to apply to the existing file. - - - `Path string` - - Path of the file to update relative to the workspace root. - - - `Type UpdateFile` - - The operation type. Always `update_file`. - - - `const UpdateFileUpdateFile UpdateFile = "update_file"` - - - `Status string` - - The status of the apply patch tool call. One of `in_progress` or `completed`. - - - `const ResponseInputItemApplyPatchCallStatusInProgress ResponseInputItemApplyPatchCallStatus = "in_progress"` - - - `const ResponseInputItemApplyPatchCallStatusCompleted ResponseInputItemApplyPatchCallStatus = "completed"` - - - `Type ApplyPatchCall` - - The type of the item. Always `apply_patch_call`. - - - `const ApplyPatchCallApplyPatchCall ApplyPatchCall = "apply_patch_call"` - - - `ID string` - - The unique ID of the apply patch tool call. Populated when this item is returned via API. - - - `type ResponseInputItemApplyPatchCallOutput struct{…}` - - The streamed output emitted by an apply patch tool call. - - - `CallID string` - - The unique ID of the apply patch tool call generated by the model. - - - `Status string` - - The status of the apply patch tool call output. One of `completed` or `failed`. - - - `const ResponseInputItemApplyPatchCallOutputStatusCompleted ResponseInputItemApplyPatchCallOutputStatus = "completed"` - - - `const ResponseInputItemApplyPatchCallOutputStatusFailed ResponseInputItemApplyPatchCallOutputStatus = "failed"` - - - `Type ApplyPatchCallOutput` - - The type of the item. Always `apply_patch_call_output`. - - - `const ApplyPatchCallOutputApplyPatchCallOutput ApplyPatchCallOutput = "apply_patch_call_output"` - - - `ID string` - - The unique ID of the apply patch tool call output. Populated when this item is returned via API. - - - `Output string` - - Optional human-readable log text from the apply patch tool (e.g., patch results or errors). - - - `type ResponseInputItemMcpListTools struct{…}` - - A list of tools available on an MCP server. - - - `ID string` - - The unique ID of the list. - - - `ServerLabel string` - - The label of the MCP server. - - - `Tools []ResponseInputItemMcpListToolsTool` - - The tools available on the server. - - - `InputSchema any` - - The JSON schema describing the tool's input. - - - `Name string` - - The name of the tool. - - - `Annotations any` - - Additional annotations about the tool. - - - `Description string` - - The description of the tool. - - - `Type McpListTools` - - The type of the item. Always `mcp_list_tools`. - - - `const McpListToolsMcpListTools McpListTools = "mcp_list_tools"` - - - `Error string` - - Error message if the server could not list tools. - - - `type ResponseInputItemMcpApprovalRequest struct{…}` - - A request for human approval of a tool invocation. - - - `ID string` - - The unique ID of the approval request. - - - `Arguments string` - - A JSON string of arguments for the tool. - - - `Name string` - - The name of the tool to run. - - - `ServerLabel string` - - The label of the MCP server making the request. - - - `Type McpApprovalRequest` - - The type of the item. Always `mcp_approval_request`. - - - `const McpApprovalRequestMcpApprovalRequest McpApprovalRequest = "mcp_approval_request"` - - - `type ResponseInputItemMcpApprovalResponse struct{…}` - - A response to an MCP approval request. - - - `ApprovalRequestID string` - - The ID of the approval request being answered. - - - `Approve bool` - - Whether the request was approved. - - - `Type McpApprovalResponse` - - The type of the item. Always `mcp_approval_response`. - - - `const McpApprovalResponseMcpApprovalResponse McpApprovalResponse = "mcp_approval_response"` - - - `ID string` - - The unique ID of the approval response - - - `Reason string` - - Optional reason for the decision. - - - `type ResponseInputItemMcpCall struct{…}` - - An invocation of a tool on an MCP server. - - - `ID string` - - The unique ID of the tool call. - - - `Arguments string` - - A JSON string of the arguments passed to the tool. - - - `Name string` - - The name of the tool that was run. - - - `ServerLabel string` - - The label of the MCP server running the tool. - - - `Type McpCall` - - The type of the item. Always `mcp_call`. - - - `const McpCallMcpCall McpCall = "mcp_call"` - - - `ApprovalRequestID string` - - Unique identifier for the MCP tool call approval request. - Include this value in a subsequent `mcp_approval_response` input to approve or reject the corresponding tool call. - - - `Error string` - - The error from the tool call, if any. - - - `Output string` - - The output from the tool call. - - - `Status string` - - The status of the tool call. One of `in_progress`, `completed`, `incomplete`, `calling`, or `failed`. - - - `const ResponseInputItemMcpCallStatusInProgress ResponseInputItemMcpCallStatus = "in_progress"` - - - `const ResponseInputItemMcpCallStatusCompleted ResponseInputItemMcpCallStatus = "completed"` - - - `const ResponseInputItemMcpCallStatusIncomplete ResponseInputItemMcpCallStatus = "incomplete"` - - - `const ResponseInputItemMcpCallStatusCalling ResponseInputItemMcpCallStatus = "calling"` - - - `const ResponseInputItemMcpCallStatusFailed ResponseInputItemMcpCallStatus = "failed"` - - - `type ResponseCustomToolCallOutput struct{…}` - - The output of a custom tool call from your code, being sent back to the model. - - - `CallID string` - - The call ID, used to map this custom tool call output to a custom tool call. - - - `Output ResponseCustomToolCallOutputOutputUnion` - - The output from the custom tool call generated by your code. - Can be a string or an list of output content. - - - `string` - - - `type ResponseCustomToolCallOutputOutputOutputContentList []ResponseCustomToolCallOutputOutputOutputContentListItemUnion` - - Text, image, or file output of the custom tool call. - - - `type ResponseInputText struct{…}` - - A text input to the model. - - - `type ResponseInputImage struct{…}` - - An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - - `type ResponseInputFile struct{…}` - - A file input to the model. - - - `Type CustomToolCallOutput` - - The type of the custom tool call output. Always `custom_tool_call_output`. - - - `const CustomToolCallOutputCustomToolCallOutput CustomToolCallOutput = "custom_tool_call_output"` - - - `ID string` - - The unique ID of the custom tool call output in the OpenAI platform. - - - `type ResponseCustomToolCall struct{…}` - - A call to a custom tool created by the model. - - - `CallID string` - - An identifier used to map this custom tool call to a tool call output. - - - `Input string` - - The input for the custom tool call generated by the model. - - - `Name string` - - The name of the custom tool being called. - - - `Type CustomToolCall` - - The type of the custom tool call. Always `custom_tool_call`. - - - `const CustomToolCallCustomToolCall CustomToolCall = "custom_tool_call"` - - - `ID string` - - The unique ID of the custom tool call in the OpenAI platform. - - - `Namespace string` - - The namespace of the custom tool being called. - - - `type ResponseInputItemCompactionTrigger struct{…}` - - Compacts the current context. Must be the final input item. - - - `Type CompactionTrigger` - - The type of the item. Always `compaction_trigger`. - - - `const CompactionTriggerCompactionTrigger CompactionTrigger = "compaction_trigger"` - - - `type ResponseInputItemItemReference struct{…}` - - An internal identifier for an item to reference. - - - `ID string` - - The ID of the item to reference. - - - `Type string` - - The type of item to reference. Always `item_reference`. - - - `const ResponseInputItemItemReferenceTypeItemReference ResponseInputItemItemReferenceType = "item_reference"` - - - `Instructions param.Field[string]` - - A system (or developer) message inserted into the model's context. - - When using along with `previous_response_id`, the instructions from a previous - response will not be carried over to the next response. This makes it simple - to swap out system (or developer) messages in new responses. - - - `MaxOutputTokens param.Field[int64]` - - An upper bound for the number of tokens that can be generated for a response, including visible output tokens and [reasoning tokens](https://platform.openai.com/docs/guides/reasoning). - - - `MaxToolCalls param.Field[int64]` - - The maximum number of total calls to built-in tools that can be processed in a response. This maximum number applies across all built-in tool calls, not per individual tool. Any further attempts to call a tool by the model will be ignored. - - - `Metadata param.Field[Metadata]` - - Set of 16 key-value pairs that can be attached to an object. This can be - useful for storing additional information about the object in a structured - format, and querying for objects via API or the dashboard. - - Keys are strings with a maximum length of 64 characters. Values are strings - with a maximum length of 512 characters. - - - `Model param.Field[ResponsesModel]` - - Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI - offers a wide range of models with different capabilities, performance - characteristics, and price points. Refer to the [model guide](https://platform.openai.com/docs/models) - to browse and compare available models. - - - `ParallelToolCalls param.Field[bool]` - - Whether to allow the model to run tool calls in parallel. - - - `PreviousResponseID param.Field[string]` - - The unique ID of the previous response to the model. Use this to - create multi-turn conversations. Learn more about - [conversation state](https://platform.openai.com/docs/guides/conversation-state). Cannot be used in conjunction with `conversation`. - - - `Prompt param.Field[ResponsePrompt]` - - Reference to a prompt template and its variables. - [Learn more](https://platform.openai.com/docs/guides/text?api-mode=responses#reusable-prompts). - - - `PromptCacheKey param.Field[string]` - - Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). - - - `PromptCacheRetention param.Field[ResponseNewParamsPromptCacheRetention]` - - The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). - - - `const ResponseNewParamsPromptCacheRetentionInMemory ResponseNewParamsPromptCacheRetention = "in_memory"` - - - `const ResponseNewParamsPromptCacheRetention24h ResponseNewParamsPromptCacheRetention = "24h"` - - - `Reasoning param.Field[Reasoning]` - - **gpt-5 and o-series models only** - - Configuration options for - [reasoning models](https://platform.openai.com/docs/guides/reasoning). - - - `SafetyIdentifier param.Field[string]` - - A stable identifier used to help detect users of your application that may be violating OpenAI's usage policies. - The IDs should be a string that uniquely identifies each user, with a maximum length of 64 characters. We recommend hashing their username or email address, in order to avoid sending us any identifying information. [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#safety-identifiers). - - - `ServiceTier param.Field[ResponseNewParamsServiceTier]` - - Specifies the processing type used for serving the request. - - - If set to 'auto', then the request will be processed with the service tier configured in the Project settings. Unless otherwise configured, the Project will use 'default'. - - If set to 'default', then the request will be processed with the standard pricing and performance for the selected model. - - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or '[priority](https://openai.com/api-priority-processing/)', then the request will be processed with the corresponding service tier. - - When not set, the default behavior is 'auto'. - - When the `service_tier` parameter is set, the response body will include the `service_tier` value based on the processing mode actually used to serve the request. This response value may be different from the value set in the parameter. - - - `const ResponseNewParamsServiceTierAuto ResponseNewParamsServiceTier = "auto"` - - - `const ResponseNewParamsServiceTierDefault ResponseNewParamsServiceTier = "default"` - - - `const ResponseNewParamsServiceTierFlex ResponseNewParamsServiceTier = "flex"` - - - `const ResponseNewParamsServiceTierScale ResponseNewParamsServiceTier = "scale"` - - - `const ResponseNewParamsServiceTierPriority ResponseNewParamsServiceTier = "priority"` - - - `Store param.Field[bool]` - - Whether to store the generated model response for later retrieval via - API. - - - `` - - - `StreamOptions param.Field[ResponseNewParamsStreamOptions]` - - Options for streaming responses. Only set this when you set `stream: true`. - - - `IncludeObfuscation bool` - - When true, stream obfuscation will be enabled. Stream obfuscation adds - random characters to an `obfuscation` field on streaming delta events to - normalize payload sizes as a mitigation to certain side-channel attacks. - These obfuscation fields are included by default, but add a small amount - of overhead to the data stream. You can set `include_obfuscation` to - false to optimize for bandwidth if you trust the network links between - your application and the OpenAI API. - - - `Temperature param.Field[float64]` - - What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. - We generally recommend altering this or `top_p` but not both. - - - `Text param.Field[ResponseTextConfig]` - - Configuration options for a text response from the model. Can be plain - text or structured JSON data. Learn more: - - - [Text inputs and outputs](https://platform.openai.com/docs/guides/text) - - [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs) - - - `ToolChoice param.Field[ResponseNewParamsToolChoiceUnion]` - - How the model should select which tool (or tools) to use when generating - a response. See the `tools` parameter to see how to specify which tools - the model can call. - - - `type ToolChoiceOptions string` - - Controls which (if any) tool is called by the model. - - `none` means the model will not call any tool and instead generates a message. - - `auto` means the model can pick between generating a message or calling one or - more tools. - - `required` means the model must call one or more tools. - - - `const ToolChoiceOptionsNone ToolChoiceOptions = "none"` - - - `const ToolChoiceOptionsAuto ToolChoiceOptions = "auto"` - - - `const ToolChoiceOptionsRequired ToolChoiceOptions = "required"` - - - `type ToolChoiceAllowed struct{…}` - - Constrains the tools available to the model to a pre-defined set. - - - `Mode ToolChoiceAllowedMode` - - Constrains the tools available to the model to a pre-defined set. - - `auto` allows the model to pick from among the allowed tools and generate a - message. - - `required` requires the model to call one or more of the allowed tools. - - - `const ToolChoiceAllowedModeAuto ToolChoiceAllowedMode = "auto"` - - - `const ToolChoiceAllowedModeRequired ToolChoiceAllowedMode = "required"` - - - `Tools []map[string, any]` - - A list of tool definitions that the model should be allowed to call. - - For the Responses API, the list of tool definitions might look like: - - ```json - [ - { "type": "function", "name": "get_weather" }, - { "type": "mcp", "server_label": "deepwiki" }, - { "type": "image_generation" } - ] - ``` - - - `Type AllowedTools` - - Allowed tool configuration type. Always `allowed_tools`. - - - `const AllowedToolsAllowedTools AllowedTools = "allowed_tools"` - - - `type ToolChoiceTypes struct{…}` - - Indicates that the model should use a built-in tool to generate a response. - [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools). - - - `Type ToolChoiceTypesType` - - The type of hosted tool the model should to use. Learn more about - [built-in tools](https://platform.openai.com/docs/guides/tools). - - Allowed values are: - - - `file_search` - - `web_search_preview` - - `computer` - - `computer_use_preview` - - `computer_use` - - `code_interpreter` - - `image_generation` - - - `const ToolChoiceTypesTypeFileSearch ToolChoiceTypesType = "file_search"` - - - `const ToolChoiceTypesTypeWebSearchPreview ToolChoiceTypesType = "web_search_preview"` - - - `const ToolChoiceTypesTypeComputer ToolChoiceTypesType = "computer"` - - - `const ToolChoiceTypesTypeComputerUsePreview ToolChoiceTypesType = "computer_use_preview"` - - - `const ToolChoiceTypesTypeComputerUse ToolChoiceTypesType = "computer_use"` - - - `const ToolChoiceTypesTypeWebSearchPreview2025_03_11 ToolChoiceTypesType = "web_search_preview_2025_03_11"` - - - `const ToolChoiceTypesTypeImageGeneration ToolChoiceTypesType = "image_generation"` - - - `const ToolChoiceTypesTypeCodeInterpreter ToolChoiceTypesType = "code_interpreter"` - - - `type ToolChoiceFunction struct{…}` - - Use this option to force the model to call a specific function. - - - `Name string` - - The name of the function to call. - - - `Type Function` - - For function calling, the type is always `function`. - - - `const FunctionFunction Function = "function"` - - - `type ToolChoiceMcp struct{…}` - - Use this option to force the model to call a specific tool on a remote MCP server. - - - `ServerLabel string` - - The label of the MCP server to use. - - - `Type Mcp` - - For MCP tools, the type is always `mcp`. - - - `const McpMcp Mcp = "mcp"` - - - `Name string` - - The name of the tool to call on the server. - - - `type ToolChoiceCustom struct{…}` - - Use this option to force the model to call a specific custom tool. - - - `Name string` - - The name of the custom tool to call. - - - `Type Custom` - - For custom tool calling, the type is always `custom`. - - - `const CustomCustom Custom = "custom"` - - - `type ToolChoiceApplyPatch struct{…}` - - Forces the model to call the apply_patch tool when executing a tool call. - - - `Type ApplyPatch` - - The tool to call. Always `apply_patch`. - - - `const ApplyPatchApplyPatch ApplyPatch = "apply_patch"` - - - `type ToolChoiceShell struct{…}` - - Forces the model to call the shell tool when a tool call is required. - - - `Type Shell` - - The tool to call. Always `shell`. - - - `const ShellShell Shell = "shell"` - - - `Tools param.Field[[]ToolUnion]` - - An array of tools the model may call while generating a response. You - can specify which tool to use by setting the `tool_choice` parameter. - - We support the following categories of tools: - - - **Built-in tools**: Tools that are provided by OpenAI that extend the - model's capabilities, like [web search](https://platform.openai.com/docs/guides/tools-web-search) - or [file search](https://platform.openai.com/docs/guides/tools-file-search). Learn more about - [built-in tools](https://platform.openai.com/docs/guides/tools). - - **MCP Tools**: Integrations with third-party systems via custom MCP servers - or predefined connectors such as Google Drive and SharePoint. Learn more about - [MCP Tools](https://platform.openai.com/docs/guides/tools-connectors-mcp). - - **Function calls (custom tools)**: Functions that are defined by you, - enabling the model to call your own code with strongly typed arguments - and outputs. Learn more about - [function calling](https://platform.openai.com/docs/guides/function-calling). You can also use - custom tools to call your own code. - - - `type FunctionTool struct{…}` - - Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). - - - `type FileSearchTool struct{…}` - - A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). - - - `type ComputerTool struct{…}` - - A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use). - - - `type ComputerUsePreviewTool struct{…}` - - A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use). - - - `type WebSearchTool struct{…}` - - Search the Internet for sources related to the prompt. Learn more about the - [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - - `type ToolMcp struct{…}` - - Give the model access to additional tools via remote Model Context Protocol - (MCP) servers. [Learn more about MCP](https://platform.openai.com/docs/guides/tools-remote-mcp). - - - `type ToolCodeInterpreter struct{…}` - - A tool that runs Python code to help generate a response to a prompt. - - - `type ToolImageGeneration struct{…}` - - A tool that generates images using the GPT image models. - - - `type ToolLocalShell struct{…}` - - A tool that allows the model to execute shell commands in a local environment. - - - `type FunctionShellTool struct{…}` - - A tool that allows the model to execute shell commands. - - - `type CustomTool struct{…}` - - A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) - - - `type NamespaceTool struct{…}` - - Groups function/custom tools under a shared namespace. - - - `type ToolSearchTool struct{…}` - - Hosted or BYOT tool search configuration for deferred tools. - - - `type WebSearchPreviewTool struct{…}` - - This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - - `type ApplyPatchTool struct{…}` - - Allows the assistant to create, delete, or update files using unified diffs. - - - `TopLogprobs param.Field[int64]` - - An integer between 0 and 20 specifying the maximum number of most likely - tokens to return at each token position, each with an associated log - probability. In some cases, the number of returned tokens may be fewer than - requested. - - - `TopP param.Field[float64]` - - An alternative to sampling with temperature, called nucleus sampling, - where the model considers the results of the tokens with top_p probability - mass. So 0.1 means only the tokens comprising the top 10% probability mass - are considered. - - We generally recommend altering this or `temperature` but not both. - - - `Truncation param.Field[ResponseNewParamsTruncation]` - - The truncation strategy to use for the model response. - - - `auto`: If the input to this Response exceeds - the model's context window size, the model will truncate the - response to fit the context window by dropping items from the beginning of the conversation. - - `disabled` (default): If the input size will exceed the context window - size for a model, the request will fail with a 400 error. - - - `const ResponseNewParamsTruncationAuto ResponseNewParamsTruncation = "auto"` - - - `const ResponseNewParamsTruncationDisabled ResponseNewParamsTruncation = "disabled"` - - - `User param.Field[string]` - - This field is being replaced by `safety_identifier` and `prompt_cache_key`. Use `prompt_cache_key` instead to maintain caching optimizations. - A stable identifier for your end-users. - Used to boost cache hit rates by better bucketing similar requests and to help OpenAI detect and prevent abuse. [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#safety-identifiers). - -### Returns - -- `type Response struct{…}` - - - `ID string` - - Unique identifier for this Response. - - - `CreatedAt float64` - - Unix timestamp (in seconds) of when this Response was created. - - - `Error ResponseError` - - An error object returned when the model fails to generate a Response. - - - `Code ResponseErrorCode` - - The error code for the response. - - - `const ResponseErrorCodeServerError ResponseErrorCode = "server_error"` - - - `const ResponseErrorCodeRateLimitExceeded ResponseErrorCode = "rate_limit_exceeded"` - - - `const ResponseErrorCodeInvalidPrompt ResponseErrorCode = "invalid_prompt"` - - - `const ResponseErrorCodeVectorStoreTimeout ResponseErrorCode = "vector_store_timeout"` - - - `const ResponseErrorCodeInvalidImage ResponseErrorCode = "invalid_image"` - - - `const ResponseErrorCodeInvalidImageFormat ResponseErrorCode = "invalid_image_format"` - - - `const ResponseErrorCodeInvalidBase64Image ResponseErrorCode = "invalid_base64_image"` - - - `const ResponseErrorCodeInvalidImageURL ResponseErrorCode = "invalid_image_url"` - - - `const ResponseErrorCodeImageTooLarge ResponseErrorCode = "image_too_large"` - - - `const ResponseErrorCodeImageTooSmall ResponseErrorCode = "image_too_small"` - - - `const ResponseErrorCodeImageParseError ResponseErrorCode = "image_parse_error"` - - - `const ResponseErrorCodeImageContentPolicyViolation ResponseErrorCode = "image_content_policy_violation"` - - - `const ResponseErrorCodeInvalidImageMode ResponseErrorCode = "invalid_image_mode"` - - - `const ResponseErrorCodeImageFileTooLarge ResponseErrorCode = "image_file_too_large"` - - - `const ResponseErrorCodeUnsupportedImageMediaType ResponseErrorCode = "unsupported_image_media_type"` - - - `const ResponseErrorCodeEmptyImageFile ResponseErrorCode = "empty_image_file"` - - - `const ResponseErrorCodeFailedToDownloadImage ResponseErrorCode = "failed_to_download_image"` - - - `const ResponseErrorCodeImageFileNotFound ResponseErrorCode = "image_file_not_found"` - - - `Message string` - - A human-readable description of the error. - - - `IncompleteDetails ResponseIncompleteDetails` - - Details about why the response is incomplete. - - - `Reason string` - - The reason why the response is incomplete. - - - `const ResponseIncompleteDetailsReasonMaxOutputTokens ResponseIncompleteDetailsReason = "max_output_tokens"` - - - `const ResponseIncompleteDetailsReasonContentFilter ResponseIncompleteDetailsReason = "content_filter"` - - - `Instructions ResponseInstructionsUnion` - - A system (or developer) message inserted into the model's context. - - When using along with `previous_response_id`, the instructions from a previous - response will not be carried over to the next response. This makes it simple - to swap out system (or developer) messages in new responses. - - - `string` - - - `type ResponseInstructionsInputItemList []ResponseInputItemUnion` - - A list of one or many input items to the model, containing - different content types. - - - `type EasyInputMessage struct{…}` - - A message input to the model with a role indicating instruction following - hierarchy. Instructions given with the `developer` or `system` role take - precedence over instructions given with the `user` role. Messages with the - `assistant` role are presumed to have been generated by the model in previous - interactions. - - - `Content EasyInputMessageContentUnion` - - Text, image, or audio input to the model, used to generate a response. - Can also contain previous assistant responses. - - - `string` - - - `type ResponseInputMessageContentList []ResponseInputContentUnion` - - A list of one or many input items to the model, containing different content - types. - - - `type ResponseInputText struct{…}` - - A text input to the model. - - - `Text string` - - The text input to the model. - - - `Type InputText` - - The type of the input item. Always `input_text`. - - - `const InputTextInputText InputText = "input_text"` - - - `type ResponseInputImage struct{…}` - - An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - - `Detail ResponseInputImageDetail` - - The detail level of the image to be sent to the model. One of `high`, `low`, `auto`, or `original`. Defaults to `auto`. - - - `const ResponseInputImageDetailLow ResponseInputImageDetail = "low"` - - - `const ResponseInputImageDetailHigh ResponseInputImageDetail = "high"` - - - `const ResponseInputImageDetailAuto ResponseInputImageDetail = "auto"` - - - `const ResponseInputImageDetailOriginal ResponseInputImageDetail = "original"` - - - `Type InputImage` - - The type of the input item. Always `input_image`. - - - `const InputImageInputImage InputImage = "input_image"` - - - `FileID string` - - The ID of the file to be sent to the model. - - - `ImageURL string` - - The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - - `type ResponseInputFile struct{…}` - - A file input to the model. - - - `Type InputFile` - - The type of the input item. Always `input_file`. - - - `const InputFileInputFile InputFile = "input_file"` - - - `Detail ResponseInputFileDetail` - - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. - - - `const ResponseInputFileDetailLow ResponseInputFileDetail = "low"` - - - `const ResponseInputFileDetailHigh ResponseInputFileDetail = "high"` - - - `FileData string` - - The content of the file to be sent to the model. - - - `FileID string` - - The ID of the file to be sent to the model. - - - `FileURL string` - - The URL of the file to be sent to the model. - - - `Filename string` - - The name of the file to be sent to the model. - - - `Role EasyInputMessageRole` - - The role of the message input. One of `user`, `assistant`, `system`, or - `developer`. - - - `const EasyInputMessageRoleUser EasyInputMessageRole = "user"` - - - `const EasyInputMessageRoleAssistant EasyInputMessageRole = "assistant"` - - - `const EasyInputMessageRoleSystem EasyInputMessageRole = "system"` - - - `const EasyInputMessageRoleDeveloper EasyInputMessageRole = "developer"` - - - `Phase EasyInputMessagePhase` - - Labels an `assistant` message as intermediate commentary (`commentary`) or the final answer (`final_answer`). - For models like `gpt-5.3-codex` and beyond, when sending follow-up requests, preserve and resend - phase on all assistant messages — dropping it can degrade performance. Not used for user messages. - - - `const EasyInputMessagePhaseCommentary EasyInputMessagePhase = "commentary"` - - - `const EasyInputMessagePhaseFinalAnswer EasyInputMessagePhase = "final_answer"` - - - `Type EasyInputMessageType` - - The type of the message input. Always `message`. - - - `const EasyInputMessageTypeMessage EasyInputMessageType = "message"` - - - `type ResponseInputItemMessage struct{…}` - - A message input to the model with a role indicating instruction following - hierarchy. Instructions given with the `developer` or `system` role take - precedence over instructions given with the `user` role. - - - `Content ResponseInputMessageContentList` - - A list of one or many input items to the model, containing different content - types. - - - `Role string` - - The role of the message input. One of `user`, `system`, or `developer`. - - - `const ResponseInputItemMessageRoleUser ResponseInputItemMessageRole = "user"` - - - `const ResponseInputItemMessageRoleSystem ResponseInputItemMessageRole = "system"` - - - `const ResponseInputItemMessageRoleDeveloper ResponseInputItemMessageRole = "developer"` - - - `Status string` - - The status of item. One of `in_progress`, `completed`, or - `incomplete`. Populated when items are returned via API. - - - `const ResponseInputItemMessageStatusInProgress ResponseInputItemMessageStatus = "in_progress"` - - - `const ResponseInputItemMessageStatusCompleted ResponseInputItemMessageStatus = "completed"` - - - `const ResponseInputItemMessageStatusIncomplete ResponseInputItemMessageStatus = "incomplete"` - - - `Type string` - - The type of the message input. Always set to `message`. - - - `const ResponseInputItemMessageTypeMessage ResponseInputItemMessageType = "message"` - - - `type ResponseOutputMessage struct{…}` - - An output message from the model. - - - `ID string` - - The unique ID of the output message. - - - `Content []ResponseOutputMessageContentUnion` - - The content of the output message. - - - `type ResponseOutputText struct{…}` - - A text output from the model. - - - `Annotations []ResponseOutputTextAnnotationUnion` - - The annotations of the text output. - - - `type ResponseOutputTextAnnotationFileCitation struct{…}` - - A citation to a file. - - - `FileID string` - - The ID of the file. - - - `Filename string` - - The filename of the file cited. - - - `Index int64` - - The index of the file in the list of files. - - - `Type FileCitation` - - The type of the file citation. Always `file_citation`. - - - `const FileCitationFileCitation FileCitation = "file_citation"` - - - `type ResponseOutputTextAnnotationURLCitation struct{…}` - - A citation for a web resource used to generate a model response. - - - `EndIndex int64` - - The index of the last character of the URL citation in the message. - - - `StartIndex int64` - - The index of the first character of the URL citation in the message. - - - `Title string` - - The title of the web resource. - - - `Type URLCitation` - - The type of the URL citation. Always `url_citation`. - - - `const URLCitationURLCitation URLCitation = "url_citation"` - - - `URL string` - - The URL of the web resource. - - - `type ResponseOutputTextAnnotationContainerFileCitation struct{…}` - - A citation for a container file used to generate a model response. - - - `ContainerID string` - - The ID of the container file. - - - `EndIndex int64` - - The index of the last character of the container file citation in the message. - - - `FileID string` - - The ID of the file. - - - `Filename string` - - The filename of the container file cited. - - - `StartIndex int64` - - The index of the first character of the container file citation in the message. - - - `Type ContainerFileCitation` - - The type of the container file citation. Always `container_file_citation`. - - - `const ContainerFileCitationContainerFileCitation ContainerFileCitation = "container_file_citation"` - - - `type ResponseOutputTextAnnotationFilePath struct{…}` - - A path to a file. - - - `FileID string` - - The ID of the file. - - - `Index int64` - - The index of the file in the list of files. - - - `Type FilePath` - - The type of the file path. Always `file_path`. - - - `const FilePathFilePath FilePath = "file_path"` - - - `Text string` - - The text output from the model. - - - `Type OutputText` - - The type of the output text. Always `output_text`. - - - `const OutputTextOutputText OutputText = "output_text"` - - - `Logprobs []ResponseOutputTextLogprob` - - - `Token string` - - - `Bytes []int64` - - - `Logprob float64` - - - `TopLogprobs []ResponseOutputTextLogprobTopLogprob` - - - `Token string` - - - `Bytes []int64` - - - `Logprob float64` - - - `type ResponseOutputRefusal struct{…}` - - A refusal from the model. - - - `Refusal string` - - The refusal explanation from the model. - - - `Type Refusal` - - The type of the refusal. Always `refusal`. - - - `const RefusalRefusal Refusal = "refusal"` - - - `Role Assistant` - - The role of the output message. Always `assistant`. - - - `const AssistantAssistant Assistant = "assistant"` - - - `Status ResponseOutputMessageStatus` - - The status of the message input. One of `in_progress`, `completed`, or - `incomplete`. Populated when input items are returned via API. - - - `const ResponseOutputMessageStatusInProgress ResponseOutputMessageStatus = "in_progress"` - - - `const ResponseOutputMessageStatusCompleted ResponseOutputMessageStatus = "completed"` - - - `const ResponseOutputMessageStatusIncomplete ResponseOutputMessageStatus = "incomplete"` - - - `Type Message` - - The type of the output message. Always `message`. - - - `const MessageMessage Message = "message"` - - - `Phase ResponseOutputMessagePhase` - - Labels an `assistant` message as intermediate commentary (`commentary`) or the final answer (`final_answer`). - For models like `gpt-5.3-codex` and beyond, when sending follow-up requests, preserve and resend - phase on all assistant messages — dropping it can degrade performance. Not used for user messages. - - - `const ResponseOutputMessagePhaseCommentary ResponseOutputMessagePhase = "commentary"` - - - `const ResponseOutputMessagePhaseFinalAnswer ResponseOutputMessagePhase = "final_answer"` - - - `type ResponseFileSearchToolCall struct{…}` - - The results of a file search tool call. See the - [file search guide](https://platform.openai.com/docs/guides/tools-file-search) for more information. - - - `ID string` - - The unique ID of the file search tool call. - - - `Queries []string` - - The queries used to search for files. - - - `Status ResponseFileSearchToolCallStatus` - - The status of the file search tool call. One of `in_progress`, - `searching`, `incomplete` or `failed`, - - - `const ResponseFileSearchToolCallStatusInProgress ResponseFileSearchToolCallStatus = "in_progress"` - - - `const ResponseFileSearchToolCallStatusSearching ResponseFileSearchToolCallStatus = "searching"` - - - `const ResponseFileSearchToolCallStatusCompleted ResponseFileSearchToolCallStatus = "completed"` - - - `const ResponseFileSearchToolCallStatusIncomplete ResponseFileSearchToolCallStatus = "incomplete"` - - - `const ResponseFileSearchToolCallStatusFailed ResponseFileSearchToolCallStatus = "failed"` - - - `Type FileSearchCall` - - The type of the file search tool call. Always `file_search_call`. - - - `const FileSearchCallFileSearchCall FileSearchCall = "file_search_call"` - - - `Results []ResponseFileSearchToolCallResult` - - The results of the file search tool call. - - - `Attributes map[string, ResponseFileSearchToolCallResultAttributeUnion]` - - Set of 16 key-value pairs that can be attached to an object. This can be - useful for storing additional information about the object in a structured - format, and querying for objects via API or the dashboard. Keys are strings - with a maximum length of 64 characters. Values are strings with a maximum - length of 512 characters, booleans, or numbers. - - - `string` - - - `float64` - - - `bool` - - - `FileID string` - - The unique ID of the file. - - - `Filename string` - - The name of the file. - - - `Score float64` - - The relevance score of the file - a value between 0 and 1. - - - `Text string` - - The text that was retrieved from the file. - - - `type ResponseComputerToolCall struct{…}` - - A tool call to a computer use tool. See the - [computer use guide](https://platform.openai.com/docs/guides/tools-computer-use) for more information. - - - `ID string` - - The unique ID of the computer call. - - - `CallID string` - - An identifier used when responding to the tool call with output. - - - `PendingSafetyChecks []ResponseComputerToolCallPendingSafetyCheck` - - The pending safety checks for the computer call. - - - `ID string` - - The ID of the pending safety check. - - - `Code string` - - The type of the pending safety check. - - - `Message string` - - Details about the pending safety check. - - - `Status ResponseComputerToolCallStatus` - - The status of the item. One of `in_progress`, `completed`, or - `incomplete`. Populated when items are returned via API. - - - `const ResponseComputerToolCallStatusInProgress ResponseComputerToolCallStatus = "in_progress"` - - - `const ResponseComputerToolCallStatusCompleted ResponseComputerToolCallStatus = "completed"` - - - `const ResponseComputerToolCallStatusIncomplete ResponseComputerToolCallStatus = "incomplete"` - - - `Type ResponseComputerToolCallType` - - The type of the computer call. Always `computer_call`. - - - `const ResponseComputerToolCallTypeComputerCall ResponseComputerToolCallType = "computer_call"` - - - `Action ResponseComputerToolCallActionUnion` - - A click action. - - - `type ResponseComputerToolCallActionClick struct{…}` - - A click action. - - - `Button string` - - Indicates which mouse button was pressed during the click. One of `left`, `right`, `wheel`, `back`, or `forward`. - - - `const ResponseComputerToolCallActionClickButtonLeft ResponseComputerToolCallActionClickButton = "left"` - - - `const ResponseComputerToolCallActionClickButtonRight ResponseComputerToolCallActionClickButton = "right"` - - - `const ResponseComputerToolCallActionClickButtonWheel ResponseComputerToolCallActionClickButton = "wheel"` - - - `const ResponseComputerToolCallActionClickButtonBack ResponseComputerToolCallActionClickButton = "back"` - - - `const ResponseComputerToolCallActionClickButtonForward ResponseComputerToolCallActionClickButton = "forward"` - - - `Type Click` - - Specifies the event type. For a click action, this property is always `click`. - - - `const ClickClick Click = "click"` - - - `X int64` - - The x-coordinate where the click occurred. - - - `Y int64` - - The y-coordinate where the click occurred. - - - `Keys []string` - - The keys being held while clicking. - - - `type ResponseComputerToolCallActionDoubleClick struct{…}` - - A double click action. - - - `Keys []string` - - The keys being held while double-clicking. - - - `Type DoubleClick` - - Specifies the event type. For a double click action, this property is always set to `double_click`. - - - `const DoubleClickDoubleClick DoubleClick = "double_click"` - - - `X int64` - - The x-coordinate where the double click occurred. - - - `Y int64` - - The y-coordinate where the double click occurred. - - - `type ResponseComputerToolCallActionDrag struct{…}` - - A drag action. - - - `Path []ResponseComputerToolCallActionDragPath` - - An array of coordinates representing the path of the drag action. Coordinates will appear as an array of objects, eg - - ``` - [ - { x: 100, y: 200 }, - { x: 200, y: 300 } - ] - ``` - - - `X int64` - - The x-coordinate. - - - `Y int64` - - The y-coordinate. - - - `Type Drag` - - Specifies the event type. For a drag action, this property is always set to `drag`. - - - `const DragDrag Drag = "drag"` - - - `Keys []string` - - The keys being held while dragging the mouse. - - - `type ResponseComputerToolCallActionKeypress struct{…}` - - A collection of keypresses the model would like to perform. - - - `Keys []string` - - The combination of keys the model is requesting to be pressed. This is an array of strings, each representing a key. - - - `Type Keypress` - - Specifies the event type. For a keypress action, this property is always set to `keypress`. - - - `const KeypressKeypress Keypress = "keypress"` - - - `type ResponseComputerToolCallActionMove struct{…}` - - A mouse move action. - - - `Type Move` - - Specifies the event type. For a move action, this property is always set to `move`. - - - `const MoveMove Move = "move"` - - - `X int64` - - The x-coordinate to move to. - - - `Y int64` - - The y-coordinate to move to. - - - `Keys []string` - - The keys being held while moving the mouse. - - - `type ResponseComputerToolCallActionScreenshot struct{…}` - - A screenshot action. - - - `Type Screenshot` - - Specifies the event type. For a screenshot action, this property is always set to `screenshot`. - - - `const ScreenshotScreenshot Screenshot = "screenshot"` - - - `type ResponseComputerToolCallActionScroll struct{…}` - - A scroll action. - - - `ScrollX int64` - - The horizontal scroll distance. - - - `ScrollY int64` - - The vertical scroll distance. - - - `Type Scroll` - - Specifies the event type. For a scroll action, this property is always set to `scroll`. - - - `const ScrollScroll Scroll = "scroll"` - - - `X int64` - - The x-coordinate where the scroll occurred. - - - `Y int64` - - The y-coordinate where the scroll occurred. - - - `Keys []string` - - The keys being held while scrolling. - - - `type ResponseComputerToolCallActionType struct{…}` - - An action to type in text. - - - `Text string` - - The text to type. - - - `Type Type` - - Specifies the event type. For a type action, this property is always set to `type`. - - - `const TypeType Type = "type"` - - - `type ResponseComputerToolCallActionWait struct{…}` - - A wait action. - - - `Type Wait` - - Specifies the event type. For a wait action, this property is always set to `wait`. - - - `const WaitWait Wait = "wait"` - - - `Actions ComputerActionList` - - Flattened batched actions for `computer_use`. Each action includes an - `type` discriminator and action-specific fields. - - - `type ComputerActionClick struct{…}` - - A click action. - - - `Button string` - - Indicates which mouse button was pressed during the click. One of `left`, `right`, `wheel`, `back`, or `forward`. - - - `const ComputerActionClickButtonLeft ComputerActionClickButton = "left"` - - - `const ComputerActionClickButtonRight ComputerActionClickButton = "right"` - - - `const ComputerActionClickButtonWheel ComputerActionClickButton = "wheel"` - - - `const ComputerActionClickButtonBack ComputerActionClickButton = "back"` - - - `const ComputerActionClickButtonForward ComputerActionClickButton = "forward"` - - - `Type Click` - - Specifies the event type. For a click action, this property is always `click`. - - - `const ClickClick Click = "click"` - - - `X int64` - - The x-coordinate where the click occurred. - - - `Y int64` - - The y-coordinate where the click occurred. - - - `Keys []string` - - The keys being held while clicking. - - - `type ComputerActionDoubleClick struct{…}` - - A double click action. - - - `Keys []string` - - The keys being held while double-clicking. - - - `Type DoubleClick` - - Specifies the event type. For a double click action, this property is always set to `double_click`. - - - `const DoubleClickDoubleClick DoubleClick = "double_click"` - - - `X int64` - - The x-coordinate where the double click occurred. - - - `Y int64` - - The y-coordinate where the double click occurred. - - - `type ComputerActionDrag struct{…}` - - A drag action. - - - `Path []ComputerActionDragPath` - - An array of coordinates representing the path of the drag action. Coordinates will appear as an array of objects, eg - - ``` - [ - { x: 100, y: 200 }, - { x: 200, y: 300 } - ] - ``` - - - `X int64` - - The x-coordinate. - - - `Y int64` - - The y-coordinate. - - - `Type Drag` - - Specifies the event type. For a drag action, this property is always set to `drag`. - - - `const DragDrag Drag = "drag"` - - - `Keys []string` - - The keys being held while dragging the mouse. - - - `type ComputerActionKeypress struct{…}` - - A collection of keypresses the model would like to perform. - - - `Keys []string` - - The combination of keys the model is requesting to be pressed. This is an array of strings, each representing a key. - - - `Type Keypress` - - Specifies the event type. For a keypress action, this property is always set to `keypress`. - - - `const KeypressKeypress Keypress = "keypress"` - - - `type ComputerActionMove struct{…}` - - A mouse move action. - - - `Type Move` - - Specifies the event type. For a move action, this property is always set to `move`. - - - `const MoveMove Move = "move"` - - - `X int64` - - The x-coordinate to move to. - - - `Y int64` - - The y-coordinate to move to. - - - `Keys []string` - - The keys being held while moving the mouse. - - - `type ComputerActionScreenshot struct{…}` - - A screenshot action. - - - `Type Screenshot` - - Specifies the event type. For a screenshot action, this property is always set to `screenshot`. - - - `const ScreenshotScreenshot Screenshot = "screenshot"` - - - `type ComputerActionScroll struct{…}` - - A scroll action. - - - `ScrollX int64` - - The horizontal scroll distance. - - - `ScrollY int64` - - The vertical scroll distance. - - - `Type Scroll` - - Specifies the event type. For a scroll action, this property is always set to `scroll`. - - - `const ScrollScroll Scroll = "scroll"` - - - `X int64` - - The x-coordinate where the scroll occurred. - - - `Y int64` - - The y-coordinate where the scroll occurred. - - - `Keys []string` - - The keys being held while scrolling. - - - `type ComputerActionType struct{…}` - - An action to type in text. - - - `Text string` - - The text to type. - - - `Type Type` - - Specifies the event type. For a type action, this property is always set to `type`. - - - `const TypeType Type = "type"` - - - `type ComputerActionWait struct{…}` - - A wait action. - - - `Type Wait` - - Specifies the event type. For a wait action, this property is always set to `wait`. - - - `const WaitWait Wait = "wait"` - - - `type ResponseInputItemComputerCallOutput struct{…}` - - The output of a computer tool call. - - - `CallID string` - - The ID of the computer tool call that produced the output. - - - `Output ResponseComputerToolCallOutputScreenshot` - - A computer screenshot image used with the computer use tool. - - - `Type ComputerScreenshot` - - Specifies the event type. For a computer screenshot, this property is - always set to `computer_screenshot`. - - - `const ComputerScreenshotComputerScreenshot ComputerScreenshot = "computer_screenshot"` - - - `FileID string` - - The identifier of an uploaded file that contains the screenshot. - - - `ImageURL string` - - The URL of the screenshot image. - - - `Type ComputerCallOutput` - - The type of the computer tool call output. Always `computer_call_output`. - - - `const ComputerCallOutputComputerCallOutput ComputerCallOutput = "computer_call_output"` - - - `ID string` - - The ID of the computer tool call output. - - - `AcknowledgedSafetyChecks []ResponseInputItemComputerCallOutputAcknowledgedSafetyCheck` - - The safety checks reported by the API that have been acknowledged by the developer. - - - `ID string` - - The ID of the pending safety check. - - - `Code string` - - The type of the pending safety check. - - - `Message string` - - Details about the pending safety check. - - - `Status string` - - The status of the message input. One of `in_progress`, `completed`, or `incomplete`. Populated when input items are returned via API. - - - `const ResponseInputItemComputerCallOutputStatusInProgress ResponseInputItemComputerCallOutputStatus = "in_progress"` - - - `const ResponseInputItemComputerCallOutputStatusCompleted ResponseInputItemComputerCallOutputStatus = "completed"` - - - `const ResponseInputItemComputerCallOutputStatusIncomplete ResponseInputItemComputerCallOutputStatus = "incomplete"` - - - `type ResponseFunctionWebSearch struct{…}` - - The results of a web search tool call. See the - [web search guide](https://platform.openai.com/docs/guides/tools-web-search) for more information. - - - `ID string` - - The unique ID of the web search tool call. - - - `Action ResponseFunctionWebSearchActionUnion` - - An object describing the specific action taken in this web search call. - Includes details on how the model used the web (search, open_page, find_in_page). - - - `type ResponseFunctionWebSearchActionSearch struct{…}` - - Action type "search" - Performs a web search query. - - - `Query string` - - [DEPRECATED] The search query. - - - `Type Search` - - The action type. - - - `const SearchSearch Search = "search"` - - - `Queries []string` - - The search queries. - - - `Sources []ResponseFunctionWebSearchActionSearchSource` - - The sources used in the search. - - - `Type URL` - - The type of source. Always `url`. - - - `const URLURL URL = "url"` - - - `URL string` - - The URL of the source. - - - `type ResponseFunctionWebSearchActionOpenPage struct{…}` - - Action type "open_page" - Opens a specific URL from search results. - - - `Type OpenPage` - - The action type. - - - `const OpenPageOpenPage OpenPage = "open_page"` - - - `URL string` - - The URL opened by the model. - - - `type ResponseFunctionWebSearchActionFindInPage struct{…}` - - Action type "find_in_page": Searches for a pattern within a loaded page. - - - `Pattern string` - - The pattern or text to search for within the page. - - - `Type FindInPage` - - The action type. - - - `const FindInPageFindInPage FindInPage = "find_in_page"` - - - `URL string` - - The URL of the page searched for the pattern. - - - `Status ResponseFunctionWebSearchStatus` - - The status of the web search tool call. - - - `const ResponseFunctionWebSearchStatusInProgress ResponseFunctionWebSearchStatus = "in_progress"` - - - `const ResponseFunctionWebSearchStatusSearching ResponseFunctionWebSearchStatus = "searching"` - - - `const ResponseFunctionWebSearchStatusCompleted ResponseFunctionWebSearchStatus = "completed"` - - - `const ResponseFunctionWebSearchStatusFailed ResponseFunctionWebSearchStatus = "failed"` - - - `Type WebSearchCall` - - The type of the web search tool call. Always `web_search_call`. - - - `const WebSearchCallWebSearchCall WebSearchCall = "web_search_call"` - - - `type ResponseFunctionToolCall struct{…}` - - A tool call to run a function. See the - [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. - - - `Arguments string` - - A JSON string of the arguments to pass to the function. - - - `CallID string` - - The unique ID of the function tool call generated by the model. - - - `Name string` - - The name of the function to run. - - - `Type FunctionCall` - - The type of the function tool call. Always `function_call`. - - - `const FunctionCallFunctionCall FunctionCall = "function_call"` - - - `ID string` - - The unique ID of the function tool call. - - - `Namespace string` - - The namespace of the function to run. - - - `Status ResponseFunctionToolCallStatus` - - The status of the item. One of `in_progress`, `completed`, or - `incomplete`. Populated when items are returned via API. - - - `const ResponseFunctionToolCallStatusInProgress ResponseFunctionToolCallStatus = "in_progress"` - - - `const ResponseFunctionToolCallStatusCompleted ResponseFunctionToolCallStatus = "completed"` - - - `const ResponseFunctionToolCallStatusIncomplete ResponseFunctionToolCallStatus = "incomplete"` - - - `type ResponseInputItemFunctionCallOutput struct{…}` - - The output of a function tool call. - - - `CallID string` - - The unique ID of the function tool call generated by the model. - - - `Output ResponseInputItemFunctionCallOutputOutputUnion` - - Text, image, or file output of the function tool call. - - - `string` - - - `type ResponseFunctionCallOutputItemList []ResponseFunctionCallOutputItemUnion` - - An array of content outputs (text, image, file) for the function tool call. - - - `type ResponseInputTextContent struct{…}` - - A text input to the model. - - - `Text string` - - The text input to the model. - - - `Type InputText` - - The type of the input item. Always `input_text`. - - - `const InputTextInputText InputText = "input_text"` - - - `type ResponseInputImageContent struct{…}` - - An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision) - - - `Type InputImage` - - The type of the input item. Always `input_image`. - - - `const InputImageInputImage InputImage = "input_image"` - - - `Detail ResponseInputImageContentDetail` - - The detail level of the image to be sent to the model. One of `high`, `low`, `auto`, or `original`. Defaults to `auto`. - - - `const ResponseInputImageContentDetailLow ResponseInputImageContentDetail = "low"` - - - `const ResponseInputImageContentDetailHigh ResponseInputImageContentDetail = "high"` - - - `const ResponseInputImageContentDetailAuto ResponseInputImageContentDetail = "auto"` - - - `const ResponseInputImageContentDetailOriginal ResponseInputImageContentDetail = "original"` - - - `FileID string` - - The ID of the file to be sent to the model. - - - `ImageURL string` - - The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL. - - - `type ResponseInputFileContent struct{…}` - - A file input to the model. - - - `Type InputFile` - - The type of the input item. Always `input_file`. - - - `const InputFileInputFile InputFile = "input_file"` - - - `Detail ResponseInputFileContentDetail` - - The detail level of the file to be sent to the model. Use `low` for the default rendering behavior, or `high` to render the file at higher quality. Defaults to `low`. - - - `const ResponseInputFileContentDetailLow ResponseInputFileContentDetail = "low"` - - - `const ResponseInputFileContentDetailHigh ResponseInputFileContentDetail = "high"` - - - `FileData string` - - The base64-encoded data of the file to be sent to the model. - - - `FileID string` - - The ID of the file to be sent to the model. - - - `FileURL string` - - The URL of the file to be sent to the model. - - - `Filename string` - - The name of the file to be sent to the model. - - - `Type FunctionCallOutput` - - The type of the function tool call output. Always `function_call_output`. - - - `const FunctionCallOutputFunctionCallOutput FunctionCallOutput = "function_call_output"` - - - `ID string` - - The unique ID of the function tool call output. Populated when this item is returned via API. - - - `Status string` - - The status of the item. One of `in_progress`, `completed`, or `incomplete`. Populated when items are returned via API. - - - `const ResponseInputItemFunctionCallOutputStatusInProgress ResponseInputItemFunctionCallOutputStatus = "in_progress"` - - - `const ResponseInputItemFunctionCallOutputStatusCompleted ResponseInputItemFunctionCallOutputStatus = "completed"` - - - `const ResponseInputItemFunctionCallOutputStatusIncomplete ResponseInputItemFunctionCallOutputStatus = "incomplete"` - - - `type ResponseInputItemToolSearchCall struct{…}` - - - `Arguments any` - - The arguments supplied to the tool search call. - - - `Type ToolSearchCall` - - The item type. Always `tool_search_call`. - - - `const ToolSearchCallToolSearchCall ToolSearchCall = "tool_search_call"` - - - `ID string` - - The unique ID of this tool search call. - - - `CallID string` - - The unique ID of the tool search call generated by the model. - - - `Execution string` - - Whether tool search was executed by the server or by the client. - - - `const ResponseInputItemToolSearchCallExecutionServer ResponseInputItemToolSearchCallExecution = "server"` - - - `const ResponseInputItemToolSearchCallExecutionClient ResponseInputItemToolSearchCallExecution = "client"` - - - `Status string` - - The status of the tool search call. - - - `const ResponseInputItemToolSearchCallStatusInProgress ResponseInputItemToolSearchCallStatus = "in_progress"` - - - `const ResponseInputItemToolSearchCallStatusCompleted ResponseInputItemToolSearchCallStatus = "completed"` - - - `const ResponseInputItemToolSearchCallStatusIncomplete ResponseInputItemToolSearchCallStatus = "incomplete"` - - - `type ResponseToolSearchOutputItemParamResp struct{…}` - - - `Tools []ToolUnion` - - The loaded tool definitions returned by the tool search output. - - - `type FunctionTool struct{…}` - - Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). - - - `Name string` - - The name of the function to call. - - - `Parameters map[string, any]` - - A JSON schema object describing the parameters of the function. - - - `Strict bool` - - Whether to enforce strict parameter validation. Default `true`. - - - `Type Function` - - The type of the function tool. Always `function`. - - - `const FunctionFunction Function = "function"` - - - `DeferLoading bool` - - Whether this function is deferred and loaded via tool search. - - - `Description string` - - A description of the function. Used by the model to determine whether or not to call the function. - - - `type FileSearchTool struct{…}` - - A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). - - - `Type FileSearch` - - The type of the file search tool. Always `file_search`. - - - `const FileSearchFileSearch FileSearch = "file_search"` - - - `VectorStoreIDs []string` - - The IDs of the vector stores to search. - - - `Filters FileSearchToolFiltersUnion` - - A filter to apply. - - - `type ComparisonFilter struct{…}` - - A filter used to compare a specified attribute key to a given value using a defined comparison operation. - - - `Key string` - - The key to compare against the value. - - - `Type ComparisonFilterType` - - Specifies the comparison operator: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `in`, `nin`. - - - `eq`: equals - - `ne`: not equal - - `gt`: greater than - - `gte`: greater than or equal - - `lt`: less than - - `lte`: less than or equal - - `in`: in - - `nin`: not in - - - `const ComparisonFilterTypeEq ComparisonFilterType = "eq"` - - - `const ComparisonFilterTypeNe ComparisonFilterType = "ne"` - - - `const ComparisonFilterTypeGt ComparisonFilterType = "gt"` - - - `const ComparisonFilterTypeGte ComparisonFilterType = "gte"` - - - `const ComparisonFilterTypeLt ComparisonFilterType = "lt"` - - - `const ComparisonFilterTypeLte ComparisonFilterType = "lte"` - - - `const ComparisonFilterTypeIn ComparisonFilterType = "in"` - - - `const ComparisonFilterTypeNin ComparisonFilterType = "nin"` - - - `Value ComparisonFilterValueUnion` - - The value to compare against the attribute key; supports string, number, or boolean types. - - - `string` - - - `float64` - - - `bool` - - - `type ComparisonFilterValueArray []ComparisonFilterValueArrayItemUnion` - - - `string` - - - `float64` - - - `type CompoundFilter struct{…}` - - Combine multiple filters using `and` or `or`. - - - `Filters []ComparisonFilter` - - Array of filters to combine. Items can be `ComparisonFilter` or `CompoundFilter`. - - - `type ComparisonFilter struct{…}` - - A filter used to compare a specified attribute key to a given value using a defined comparison operation. - - - `Type CompoundFilterType` - - Type of operation: `and` or `or`. - - - `const CompoundFilterTypeAnd CompoundFilterType = "and"` - - - `const CompoundFilterTypeOr CompoundFilterType = "or"` - - - `MaxNumResults int64` - - The maximum number of results to return. This number should be between 1 and 50 inclusive. - - - `RankingOptions FileSearchToolRankingOptions` - - Ranking options for search. - - - `HybridSearch FileSearchToolRankingOptionsHybridSearch` - - Weights that control how reciprocal rank fusion balances semantic embedding matches versus sparse keyword matches when hybrid search is enabled. - - - `EmbeddingWeight float64` - - The weight of the embedding in the reciprocal ranking fusion. - - - `TextWeight float64` - - The weight of the text in the reciprocal ranking fusion. - - - `Ranker string` - - The ranker to use for the file search. - - - `const FileSearchToolRankingOptionsRankerAuto FileSearchToolRankingOptionsRanker = "auto"` - - - `const FileSearchToolRankingOptionsRankerDefault2024_11_15 FileSearchToolRankingOptionsRanker = "default-2024-11-15"` - - - `ScoreThreshold float64` - - The score threshold for the file search, a number between 0 and 1. Numbers closer to 1 will attempt to return only the most relevant results, but may return fewer results. - - - `type ComputerTool struct{…}` - - A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use). - - - `Type Computer` - - The type of the computer tool. Always `computer`. - - - `const ComputerComputer Computer = "computer"` - - - `type ComputerUsePreviewTool struct{…}` - - A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use). - - - `DisplayHeight int64` - - The height of the computer display. - - - `DisplayWidth int64` - - The width of the computer display. - - - `Environment ComputerUsePreviewToolEnvironment` - - The type of computer environment to control. - - - `const ComputerUsePreviewToolEnvironmentWindows ComputerUsePreviewToolEnvironment = "windows"` - - - `const ComputerUsePreviewToolEnvironmentMac ComputerUsePreviewToolEnvironment = "mac"` - - - `const ComputerUsePreviewToolEnvironmentLinux ComputerUsePreviewToolEnvironment = "linux"` - - - `const ComputerUsePreviewToolEnvironmentUbuntu ComputerUsePreviewToolEnvironment = "ubuntu"` - - - `const ComputerUsePreviewToolEnvironmentBrowser ComputerUsePreviewToolEnvironment = "browser"` - - - `Type ComputerUsePreview` - - The type of the computer use tool. Always `computer_use_preview`. - - - `const ComputerUsePreviewComputerUsePreview ComputerUsePreview = "computer_use_preview"` - - - `type WebSearchTool struct{…}` - - Search the Internet for sources related to the prompt. Learn more about the - [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - - `Type WebSearchToolType` - - The type of the web search tool. One of `web_search` or `web_search_2025_08_26`. - - - `const WebSearchToolTypeWebSearch WebSearchToolType = "web_search"` - - - `const WebSearchToolTypeWebSearch2025_08_26 WebSearchToolType = "web_search_2025_08_26"` - - - `Filters WebSearchToolFilters` - - Filters for the search. - - - `AllowedDomains []string` - - Allowed domains for the search. If not provided, all domains are allowed. - Subdomains of the provided domains are allowed as well. - - Example: `["pubmed.ncbi.nlm.nih.gov"]` - - - `SearchContextSize WebSearchToolSearchContextSize` - - High level guidance for the amount of context window space to use for the search. One of `low`, `medium`, or `high`. `medium` is the default. - - - `const WebSearchToolSearchContextSizeLow WebSearchToolSearchContextSize = "low"` - - - `const WebSearchToolSearchContextSizeMedium WebSearchToolSearchContextSize = "medium"` - - - `const WebSearchToolSearchContextSizeHigh WebSearchToolSearchContextSize = "high"` - - - `UserLocation WebSearchToolUserLocation` - - The approximate location of the user. - - - `City string` - - Free text input for the city of the user, e.g. `San Francisco`. - - - `Country string` - - The two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1) of the user, e.g. `US`. - - - `Region string` - - Free text input for the region of the user, e.g. `California`. - - - `Timezone string` - - The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - - `Type string` - - The type of location approximation. Always `approximate`. - - - `const WebSearchToolUserLocationTypeApproximate WebSearchToolUserLocationType = "approximate"` - - - `type ToolMcp struct{…}` - - Give the model access to additional tools via remote Model Context Protocol - (MCP) servers. [Learn more about MCP](https://platform.openai.com/docs/guides/tools-remote-mcp). - - - `ServerLabel string` - - A label for this MCP server, used to identify it in tool calls. - - - `Type Mcp` - - The type of the MCP tool. Always `mcp`. - - - `const McpMcp Mcp = "mcp"` - - - `AllowedTools ToolMcpAllowedToolsUnion` - - List of allowed tool names or a filter object. - - - `type ToolMcpAllowedToolsMcpAllowedTools []string` - - A string array of allowed tool names - - - `type ToolMcpAllowedToolsMcpToolFilter struct{…}` - - A filter object to specify which tools are allowed. - - - `ReadOnly bool` - - Indicates whether or not a tool modifies data or is read-only. If an - MCP server is [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint), - it will match this filter. - - - `ToolNames []string` - - List of allowed tool names. - - - `Authorization string` - - An OAuth access token that can be used with a remote MCP server, either - with a custom MCP server URL or a service connector. Your application - must handle the OAuth authorization flow and provide the token here. - - - `ConnectorID string` - - Identifier for service connectors, like those available in ChatGPT. One of - `server_url` or `connector_id` must be provided. Learn more about service - connectors [here](https://platform.openai.com/docs/guides/tools-remote-mcp#connectors). - - Currently supported `connector_id` values are: - - - Dropbox: `connector_dropbox` - - Gmail: `connector_gmail` - - Google Calendar: `connector_googlecalendar` - - Google Drive: `connector_googledrive` - - Microsoft Teams: `connector_microsoftteams` - - Outlook Calendar: `connector_outlookcalendar` - - Outlook Email: `connector_outlookemail` - - SharePoint: `connector_sharepoint` - - - `const ToolMcpConnectorIDConnectorDropbox ToolMcpConnectorID = "connector_dropbox"` - - - `const ToolMcpConnectorIDConnectorGmail ToolMcpConnectorID = "connector_gmail"` - - - `const ToolMcpConnectorIDConnectorGooglecalendar ToolMcpConnectorID = "connector_googlecalendar"` - - - `const ToolMcpConnectorIDConnectorGoogledrive ToolMcpConnectorID = "connector_googledrive"` - - - `const ToolMcpConnectorIDConnectorMicrosoftteams ToolMcpConnectorID = "connector_microsoftteams"` - - - `const ToolMcpConnectorIDConnectorOutlookcalendar ToolMcpConnectorID = "connector_outlookcalendar"` - - - `const ToolMcpConnectorIDConnectorOutlookemail ToolMcpConnectorID = "connector_outlookemail"` - - - `const ToolMcpConnectorIDConnectorSharepoint ToolMcpConnectorID = "connector_sharepoint"` - - - `DeferLoading bool` - - Whether this MCP tool is deferred and discovered via tool search. - - - `Headers map[string, string]` - - Optional HTTP headers to send to the MCP server. Use for authentication - or other purposes. - - - `RequireApproval ToolMcpRequireApprovalUnion` - - Specify which of the MCP server's tools require approval. - - - `type ToolMcpRequireApprovalMcpToolApprovalFilter struct{…}` - - Specify which of the MCP server's tools require approval. Can be - `always`, `never`, or a filter object associated with tools - that require approval. - - - `Always ToolMcpRequireApprovalMcpToolApprovalFilterAlways` - - A filter object to specify which tools are allowed. - - - `ReadOnly bool` - - Indicates whether or not a tool modifies data or is read-only. If an - MCP server is [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint), - it will match this filter. - - - `ToolNames []string` - - List of allowed tool names. - - - `Never ToolMcpRequireApprovalMcpToolApprovalFilterNever` - - A filter object to specify which tools are allowed. - - - `ReadOnly bool` - - Indicates whether or not a tool modifies data or is read-only. If an - MCP server is [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint), - it will match this filter. - - - `ToolNames []string` - - List of allowed tool names. - - - `type ToolMcpRequireApprovalMcpToolApprovalSetting string` - - Specify a single approval policy for all tools. One of `always` or - `never`. When set to `always`, all tools will require approval. When - set to `never`, all tools will not require approval. - - - `const ToolMcpRequireApprovalMcpToolApprovalSettingAlways ToolMcpRequireApprovalMcpToolApprovalSetting = "always"` - - - `const ToolMcpRequireApprovalMcpToolApprovalSettingNever ToolMcpRequireApprovalMcpToolApprovalSetting = "never"` - - - `ServerDescription string` - - Optional description of the MCP server, used to provide more context. - - - `ServerURL string` - - The URL for the MCP server. One of `server_url` or `connector_id` must be - provided. - - - `type ToolCodeInterpreter struct{…}` - - A tool that runs Python code to help generate a response to a prompt. - - - `Container ToolCodeInterpreterContainerUnion` - - The code interpreter container. Can be a container ID or an object that - specifies uploaded file IDs to make available to your code, along with an - optional `memory_limit` setting. - - - `string` - - - `type ToolCodeInterpreterContainerCodeInterpreterContainerAuto struct{…}` - - Configuration for a code interpreter container. Optionally specify the IDs of the files to run the code on. - - - `Type Auto` - - Always `auto`. - - - `const AutoAuto Auto = "auto"` - - - `FileIDs []string` - - An optional list of uploaded files to make available to your code. - - - `MemoryLimit string` - - The memory limit for the code interpreter container. - - - `const ToolCodeInterpreterContainerCodeInterpreterToolAutoMemoryLimit1g ToolCodeInterpreterContainerCodeInterpreterToolAutoMemoryLimit = "1g"` - - - `const ToolCodeInterpreterContainerCodeInterpreterToolAutoMemoryLimit4g ToolCodeInterpreterContainerCodeInterpreterToolAutoMemoryLimit = "4g"` - - - `const ToolCodeInterpreterContainerCodeInterpreterToolAutoMemoryLimit16g ToolCodeInterpreterContainerCodeInterpreterToolAutoMemoryLimit = "16g"` - - - `const ToolCodeInterpreterContainerCodeInterpreterToolAutoMemoryLimit64g ToolCodeInterpreterContainerCodeInterpreterToolAutoMemoryLimit = "64g"` - - - `NetworkPolicy ToolCodeInterpreterContainerCodeInterpreterToolAutoNetworkPolicyUnion` - - Network access policy for the container. - - - `type ContainerNetworkPolicyDisabled struct{…}` - - - `Type Disabled` - - Disable outbound network access. Always `disabled`. - - - `const DisabledDisabled Disabled = "disabled"` - - - `type ContainerNetworkPolicyAllowlist struct{…}` - - - `AllowedDomains []string` - - A list of allowed domains when type is `allowlist`. - - - `Type Allowlist` - - Allow outbound network access only to specified domains. Always `allowlist`. - - - `const AllowlistAllowlist Allowlist = "allowlist"` - - - `DomainSecrets []ContainerNetworkPolicyDomainSecret` - - Optional domain-scoped secrets for allowlisted domains. - - - `Domain string` - - The domain associated with the secret. - - - `Name string` - - The name of the secret to inject for the domain. - - - `Value string` - - The secret value to inject for the domain. - - - `Type CodeInterpreter` - - The type of the code interpreter tool. Always `code_interpreter`. - - - `const CodeInterpreterCodeInterpreter CodeInterpreter = "code_interpreter"` - - - `type ToolImageGeneration struct{…}` - - A tool that generates images using the GPT image models. - - - `Type ImageGeneration` - - The type of the image generation tool. Always `image_generation`. - - - `const ImageGenerationImageGeneration ImageGeneration = "image_generation"` - - - `Action string` - - Whether to generate a new image or edit an existing image. Default: `auto`. - - - `const ToolImageGenerationActionGenerate ToolImageGenerationAction = "generate"` - - - `const ToolImageGenerationActionEdit ToolImageGenerationAction = "edit"` - - - `const ToolImageGenerationActionAuto ToolImageGenerationAction = "auto"` - - - `Background string` - - Allows to set transparency for the background of the generated image(s). - This parameter is only supported for GPT image models that support - transparent backgrounds. Must be one of `transparent`, `opaque`, or - `auto` (default value). When `auto` is used, the model will - automatically determine the best background for the image. - - `gpt-image-2` and `gpt-image-2-2026-04-21` do not support - transparent backgrounds. Requests with `background` set to - `transparent` will return an error for these models; use `opaque` or - `auto` instead. - - If `transparent`, the output format needs to support transparency, - so it should be set to either `png` (default value) or `webp`. - - - `const ToolImageGenerationBackgroundTransparent ToolImageGenerationBackground = "transparent"` - - - `const ToolImageGenerationBackgroundOpaque ToolImageGenerationBackground = "opaque"` - - - `const ToolImageGenerationBackgroundAuto ToolImageGenerationBackground = "auto"` - - - `InputFidelity string` - - Control how much effort the model will exert to match the style and features, especially facial features, of input images. This parameter is only supported for `gpt-image-1` and `gpt-image-1.5` and later models, unsupported for `gpt-image-1-mini`. Supports `high` and `low`. Defaults to `low`. - - - `const ToolImageGenerationInputFidelityHigh ToolImageGenerationInputFidelity = "high"` - - - `const ToolImageGenerationInputFidelityLow ToolImageGenerationInputFidelity = "low"` - - - `InputImageMask ToolImageGenerationInputImageMask` - - Optional mask for inpainting. Contains `image_url` - (string, optional) and `file_id` (string, optional). - - - `FileID string` - - File ID for the mask image. - - - `ImageURL string` - - Base64-encoded mask image. - - - `Model string` - - The image generation model to use. Default: `gpt-image-1`. - - - `string` - - - `string` - - - `const ToolImageGenerationModelGPTImage1 ToolImageGenerationModel = "gpt-image-1"` - - - `const ToolImageGenerationModelGPTImage1Mini ToolImageGenerationModel = "gpt-image-1-mini"` - - - `const ToolImageGenerationModelGPTImage2 ToolImageGenerationModel = "gpt-image-2"` - - - `const ToolImageGenerationModelGPTImage2_2026_04_21 ToolImageGenerationModel = "gpt-image-2-2026-04-21"` - - - `const ToolImageGenerationModelGPTImage1_5 ToolImageGenerationModel = "gpt-image-1.5"` - - - `const ToolImageGenerationModelChatgptImageLatest ToolImageGenerationModel = "chatgpt-image-latest"` - - - `Moderation string` - - Moderation level for the generated image. Default: `auto`. - - - `const ToolImageGenerationModerationAuto ToolImageGenerationModeration = "auto"` - - - `const ToolImageGenerationModerationLow ToolImageGenerationModeration = "low"` - - - `OutputCompression int64` - - Compression level for the output image. Default: 100. - - - `OutputFormat string` - - The output format of the generated image. One of `png`, `webp`, or - `jpeg`. Default: `png`. - - - `const ToolImageGenerationOutputFormatPNG ToolImageGenerationOutputFormat = "png"` - - - `const ToolImageGenerationOutputFormatWebP ToolImageGenerationOutputFormat = "webp"` - - - `const ToolImageGenerationOutputFormatJPEG ToolImageGenerationOutputFormat = "jpeg"` - - - `PartialImages int64` - - Number of partial images to generate in streaming mode, from 0 (default value) to 3. - - - `Quality string` - - The quality of the generated image. One of `low`, `medium`, `high`, - or `auto`. Default: `auto`. - - - `const ToolImageGenerationQualityLow ToolImageGenerationQuality = "low"` - - - `const ToolImageGenerationQualityMedium ToolImageGenerationQuality = "medium"` - - - `const ToolImageGenerationQualityHigh ToolImageGenerationQuality = "high"` - - - `const ToolImageGenerationQualityAuto ToolImageGenerationQuality = "auto"` - - - `Size string` - - The size of the generated images. For `gpt-image-2` and `gpt-image-2-2026-04-21`, arbitrary resolutions are supported as `WIDTHxHEIGHT` strings, for example `1536x864`. Width and height must both be divisible by 16 and the requested aspect ratio must be between 1:3 and 3:1. Resolutions above `2560x1440` are experimental, and the maximum supported resolution is `3840x2160`. The requested size must also satisfy the model's current pixel and edge limits. The standard sizes `1024x1024`, `1536x1024`, and `1024x1536` are supported by the GPT image models; `auto` is supported for models that allow automatic sizing. For `dall-e-2`, use one of `256x256`, `512x512`, or `1024x1024`. For `dall-e-3`, use one of `1024x1024`, `1792x1024`, or `1024x1792`. - - - `string` - - - `string` - - - `const ToolImageGenerationSize1024x1024 ToolImageGenerationSize = "1024x1024"` - - - `const ToolImageGenerationSize1024x1536 ToolImageGenerationSize = "1024x1536"` - - - `const ToolImageGenerationSize1536x1024 ToolImageGenerationSize = "1536x1024"` - - - `const ToolImageGenerationSizeAuto ToolImageGenerationSize = "auto"` - - - `type ToolLocalShell struct{…}` - - A tool that allows the model to execute shell commands in a local environment. - - - `Type LocalShell` - - The type of the local shell tool. Always `local_shell`. - - - `const LocalShellLocalShell LocalShell = "local_shell"` - - - `type FunctionShellTool struct{…}` - - A tool that allows the model to execute shell commands. - - - `Type Shell` - - The type of the shell tool. Always `shell`. - - - `const ShellShell Shell = "shell"` - - - `Environment FunctionShellToolEnvironmentUnion` - - - `type ContainerAuto struct{…}` - - - `Type ContainerAuto` - - Automatically creates a container for this request - - - `const ContainerAutoContainerAuto ContainerAuto = "container_auto"` - - - `FileIDs []string` - - An optional list of uploaded files to make available to your code. - - - `MemoryLimit ContainerAutoMemoryLimit` - - The memory limit for the container. - - - `const ContainerAutoMemoryLimit1g ContainerAutoMemoryLimit = "1g"` - - - `const ContainerAutoMemoryLimit4g ContainerAutoMemoryLimit = "4g"` - - - `const ContainerAutoMemoryLimit16g ContainerAutoMemoryLimit = "16g"` - - - `const ContainerAutoMemoryLimit64g ContainerAutoMemoryLimit = "64g"` - - - `NetworkPolicy ContainerAutoNetworkPolicyUnion` - - Network access policy for the container. - - - `type ContainerNetworkPolicyDisabled struct{…}` - - - `type ContainerNetworkPolicyAllowlist struct{…}` - - - `Skills []ContainerAutoSkillUnion` - - An optional list of skills referenced by id or inline data. - - - `type SkillReference struct{…}` - - - `SkillID string` - - The ID of the referenced skill. - - - `Type SkillReference` - - References a skill created with the /v1/skills endpoint. - - - `const SkillReferenceSkillReference SkillReference = "skill_reference"` - - - `Version string` - - Optional skill version. Use a positive integer or 'latest'. Omit for default. - - - `type InlineSkill struct{…}` - - - `Description string` - - The description of the skill. - - - `Name string` - - The name of the skill. - - - `Source InlineSkillSource` - - Inline skill payload - - - `Data string` - - Base64-encoded skill zip bundle. - - - `MediaType ApplicationZip` - - The media type of the inline skill payload. Must be `application/zip`. - - - `const ApplicationZipApplicationZip ApplicationZip = "application/zip"` - - - `Type Base64` - - The type of the inline skill source. Must be `base64`. - - - `const Base64Base64 Base64 = "base64"` - - - `Type Inline` - - Defines an inline skill for this request. - - - `const InlineInline Inline = "inline"` - - - `type LocalEnvironment struct{…}` - - - `Type Local` - - Use a local computer environment. - - - `const LocalLocal Local = "local"` - - - `Skills []LocalSkill` - - An optional list of skills. - - - `Description string` - - The description of the skill. - - - `Name string` - - The name of the skill. - - - `Path string` - - The path to the directory containing the skill. - - - `type ContainerReference struct{…}` - - - `ContainerID string` - - The ID of the referenced container. - - - `Type ContainerReference` - - References a container created with the /v1/containers endpoint - - - `const ContainerReferenceContainerReference ContainerReference = "container_reference"` - - - `type CustomTool struct{…}` - - A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) - - - `Name string` - - The name of the custom tool, used to identify it in tool calls. - - - `Type Custom` - - The type of the custom tool. Always `custom`. - - - `const CustomCustom Custom = "custom"` - - - `DeferLoading bool` - - Whether this tool should be deferred and discovered via tool search. - - - `Description string` - - Optional description of the custom tool, used to provide more context. - - - `Format CustomToolInputFormatUnion` - - The input format for the custom tool. Default is unconstrained text. - - - `type CustomToolInputFormatText struct{…}` - - Unconstrained free-form text. - - - `Type Text` - - Unconstrained text format. Always `text`. - - - `const TextText Text = "text"` - - - `type CustomToolInputFormatGrammar struct{…}` - - A grammar defined by the user. - - - `Definition string` - - The grammar definition. - - - `Syntax string` - - The syntax of the grammar definition. One of `lark` or `regex`. - - - `const CustomToolInputFormatGrammarSyntaxLark CustomToolInputFormatGrammarSyntax = "lark"` - - - `const CustomToolInputFormatGrammarSyntaxRegex CustomToolInputFormatGrammarSyntax = "regex"` - - - `Type Grammar` - - Grammar format. Always `grammar`. - - - `const GrammarGrammar Grammar = "grammar"` - - - `type NamespaceTool struct{…}` - - Groups function/custom tools under a shared namespace. - - - `Description string` - - A description of the namespace shown to the model. - - - `Name string` - - The namespace name used in tool calls (for example, `crm`). - - - `Tools []NamespaceToolToolUnion` - - The function/custom tools available inside this namespace. - - - `type NamespaceToolToolFunction struct{…}` - - - `Name string` - - - `Type Function` - - - `const FunctionFunction Function = "function"` - - - `DeferLoading bool` - - Whether this function should be deferred and discovered via tool search. - - - `Description string` - - - `Parameters any` - - - `Strict bool` - - - `type CustomTool struct{…}` - - A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) - - - `Type Namespace` - - The type of the tool. Always `namespace`. - - - `const NamespaceNamespace Namespace = "namespace"` - - - `type ToolSearchTool struct{…}` - - Hosted or BYOT tool search configuration for deferred tools. - - - `Type ToolSearch` - - The type of the tool. Always `tool_search`. - - - `const ToolSearchToolSearch ToolSearch = "tool_search"` - - - `Description string` - - Description shown to the model for a client-executed tool search tool. - - - `Execution ToolSearchToolExecution` - - Whether tool search is executed by the server or by the client. - - - `const ToolSearchToolExecutionServer ToolSearchToolExecution = "server"` - - - `const ToolSearchToolExecutionClient ToolSearchToolExecution = "client"` - - - `Parameters any` - - Parameter schema for a client-executed tool search tool. - - - `type WebSearchPreviewTool struct{…}` - - This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - - `Type WebSearchPreviewToolType` - - The type of the web search tool. One of `web_search_preview` or `web_search_preview_2025_03_11`. - - - `const WebSearchPreviewToolTypeWebSearchPreview WebSearchPreviewToolType = "web_search_preview"` - - - `const WebSearchPreviewToolTypeWebSearchPreview2025_03_11 WebSearchPreviewToolType = "web_search_preview_2025_03_11"` - - - `SearchContentTypes []string` - - - `const WebSearchPreviewToolSearchContentTypeText WebSearchPreviewToolSearchContentType = "text"` - - - `const WebSearchPreviewToolSearchContentTypeImage WebSearchPreviewToolSearchContentType = "image"` - - - `SearchContextSize WebSearchPreviewToolSearchContextSize` - - High level guidance for the amount of context window space to use for the search. One of `low`, `medium`, or `high`. `medium` is the default. - - - `const WebSearchPreviewToolSearchContextSizeLow WebSearchPreviewToolSearchContextSize = "low"` - - - `const WebSearchPreviewToolSearchContextSizeMedium WebSearchPreviewToolSearchContextSize = "medium"` - - - `const WebSearchPreviewToolSearchContextSizeHigh WebSearchPreviewToolSearchContextSize = "high"` - - - `UserLocation WebSearchPreviewToolUserLocation` - - The user's location. - - - `Type Approximate` - - The type of location approximation. Always `approximate`. - - - `const ApproximateApproximate Approximate = "approximate"` - - - `City string` - - Free text input for the city of the user, e.g. `San Francisco`. - - - `Country string` - - The two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1) of the user, e.g. `US`. - - - `Region string` - - Free text input for the region of the user, e.g. `California`. - - - `Timezone string` - - The [IANA timezone](https://timeapi.io/documentation/iana-timezones) of the user, e.g. `America/Los_Angeles`. - - - `type ApplyPatchTool struct{…}` - - Allows the assistant to create, delete, or update files using unified diffs. - - - `Type ApplyPatch` - - The type of the tool. Always `apply_patch`. - - - `const ApplyPatchApplyPatch ApplyPatch = "apply_patch"` - - - `Type ToolSearchOutput` - - The item type. Always `tool_search_output`. - - - `const ToolSearchOutputToolSearchOutput ToolSearchOutput = "tool_search_output"` - - - `ID string` - - The unique ID of this tool search output. - - - `CallID string` - - The unique ID of the tool search call generated by the model. - - - `Execution ResponseToolSearchOutputItemParamExecution` - - Whether tool search was executed by the server or by the client. - - - `const ResponseToolSearchOutputItemParamExecutionServer ResponseToolSearchOutputItemParamExecution = "server"` - - - `const ResponseToolSearchOutputItemParamExecutionClient ResponseToolSearchOutputItemParamExecution = "client"` - - - `Status ResponseToolSearchOutputItemParamStatus` - - The status of the tool search output. - - - `const ResponseToolSearchOutputItemParamStatusInProgress ResponseToolSearchOutputItemParamStatus = "in_progress"` - - - `const ResponseToolSearchOutputItemParamStatusCompleted ResponseToolSearchOutputItemParamStatus = "completed"` - - - `const ResponseToolSearchOutputItemParamStatusIncomplete ResponseToolSearchOutputItemParamStatus = "incomplete"` - - - `type ResponseReasoningItem struct{…}` - - A description of the chain of thought used by a reasoning model while generating - a response. Be sure to include these items in your `input` to the Responses API - for subsequent turns of a conversation if you are manually - [managing context](https://platform.openai.com/docs/guides/conversation-state). - - - `ID string` - - The unique identifier of the reasoning content. - - - `Summary []ResponseReasoningItemSummary` - - Reasoning summary content. - - - `Text string` - - A summary of the reasoning output from the model so far. - - - `Type SummaryText` - - The type of the object. Always `summary_text`. - - - `const SummaryTextSummaryText SummaryText = "summary_text"` - - - `Type Reasoning` - - The type of the object. Always `reasoning`. - - - `const ReasoningReasoning Reasoning = "reasoning"` - - - `Content []ResponseReasoningItemContent` - - Reasoning text content. - - - `Text string` - - The reasoning text from the model. - - - `Type ReasoningText` - - The type of the reasoning text. Always `reasoning_text`. - - - `const ReasoningTextReasoningText ReasoningText = "reasoning_text"` - - - `EncryptedContent string` - - The encrypted content of the reasoning item - populated when a response is - generated with `reasoning.encrypted_content` in the `include` parameter. - - - `Status ResponseReasoningItemStatus` - - The status of the item. One of `in_progress`, `completed`, or - `incomplete`. Populated when items are returned via API. - - - `const ResponseReasoningItemStatusInProgress ResponseReasoningItemStatus = "in_progress"` - - - `const ResponseReasoningItemStatusCompleted ResponseReasoningItemStatus = "completed"` - - - `const ResponseReasoningItemStatusIncomplete ResponseReasoningItemStatus = "incomplete"` - - - `type ResponseCompactionItemParamResp struct{…}` - - A compaction item generated by the [`v1/responses/compact` API](https://platform.openai.com/docs/api-reference/responses/compact). - - - `EncryptedContent string` - - The encrypted content of the compaction summary. - - - `Type Compaction` - - The type of the item. Always `compaction`. - - - `const CompactionCompaction Compaction = "compaction"` - - - `ID string` - - The ID of the compaction item. - - - `type ResponseInputItemImageGenerationCall struct{…}` - - An image generation request made by the model. - - - `ID string` - - The unique ID of the image generation call. - - - `Result string` - - The generated image encoded in base64. - - - `Status string` - - The status of the image generation call. - - - `const ResponseInputItemImageGenerationCallStatusInProgress ResponseInputItemImageGenerationCallStatus = "in_progress"` - - - `const ResponseInputItemImageGenerationCallStatusCompleted ResponseInputItemImageGenerationCallStatus = "completed"` - - - `const ResponseInputItemImageGenerationCallStatusGenerating ResponseInputItemImageGenerationCallStatus = "generating"` - - - `const ResponseInputItemImageGenerationCallStatusFailed ResponseInputItemImageGenerationCallStatus = "failed"` - - - `Type ImageGenerationCall` - - The type of the image generation call. Always `image_generation_call`. - - - `const ImageGenerationCallImageGenerationCall ImageGenerationCall = "image_generation_call"` - - - `type ResponseCodeInterpreterToolCall struct{…}` - - A tool call to run code. - - - `ID string` - - The unique ID of the code interpreter tool call. - - - `Code string` - - The code to run, or null if not available. - - - `ContainerID string` - - The ID of the container used to run the code. - - - `Outputs []ResponseCodeInterpreterToolCallOutputUnion` - - The outputs generated by the code interpreter, such as logs or images. - Can be null if no outputs are available. - - - `type ResponseCodeInterpreterToolCallOutputLogs struct{…}` - - The logs output from the code interpreter. - - - `Logs string` - - The logs output from the code interpreter. - - - `Type Logs` - - The type of the output. Always `logs`. - - - `const LogsLogs Logs = "logs"` - - - `type ResponseCodeInterpreterToolCallOutputImage struct{…}` - - The image output from the code interpreter. - - - `Type Image` - - The type of the output. Always `image`. - - - `const ImageImage Image = "image"` - - - `URL string` - - The URL of the image output from the code interpreter. - - - `Status ResponseCodeInterpreterToolCallStatus` - - The status of the code interpreter tool call. Valid values are `in_progress`, `completed`, `incomplete`, `interpreting`, and `failed`. - - - `const ResponseCodeInterpreterToolCallStatusInProgress ResponseCodeInterpreterToolCallStatus = "in_progress"` - - - `const ResponseCodeInterpreterToolCallStatusCompleted ResponseCodeInterpreterToolCallStatus = "completed"` - - - `const ResponseCodeInterpreterToolCallStatusIncomplete ResponseCodeInterpreterToolCallStatus = "incomplete"` - - - `const ResponseCodeInterpreterToolCallStatusInterpreting ResponseCodeInterpreterToolCallStatus = "interpreting"` - - - `const ResponseCodeInterpreterToolCallStatusFailed ResponseCodeInterpreterToolCallStatus = "failed"` - - - `Type CodeInterpreterCall` - - The type of the code interpreter tool call. Always `code_interpreter_call`. - - - `const CodeInterpreterCallCodeInterpreterCall CodeInterpreterCall = "code_interpreter_call"` - - - `type ResponseInputItemLocalShellCall struct{…}` - - A tool call to run a command on the local shell. - - - `ID string` - - The unique ID of the local shell call. - - - `Action ResponseInputItemLocalShellCallAction` - - Execute a shell command on the server. - - - `Command []string` - - The command to run. - - - `Env map[string, string]` - - Environment variables to set for the command. - - - `Type Exec` - - The type of the local shell action. Always `exec`. - - - `const ExecExec Exec = "exec"` - - - `TimeoutMs int64` - - Optional timeout in milliseconds for the command. - - - `User string` - - Optional user to run the command as. - - - `WorkingDirectory string` - - Optional working directory to run the command in. - - - `CallID string` - - The unique ID of the local shell tool call generated by the model. - - - `Status string` - - The status of the local shell call. - - - `const ResponseInputItemLocalShellCallStatusInProgress ResponseInputItemLocalShellCallStatus = "in_progress"` - - - `const ResponseInputItemLocalShellCallStatusCompleted ResponseInputItemLocalShellCallStatus = "completed"` - - - `const ResponseInputItemLocalShellCallStatusIncomplete ResponseInputItemLocalShellCallStatus = "incomplete"` - - - `Type LocalShellCall` - - The type of the local shell call. Always `local_shell_call`. - - - `const LocalShellCallLocalShellCall LocalShellCall = "local_shell_call"` - - - `type ResponseInputItemLocalShellCallOutput struct{…}` - - The output of a local shell tool call. - - - `ID string` - - The unique ID of the local shell tool call generated by the model. - - - `Output string` - - A JSON string of the output of the local shell tool call. - - - `Type LocalShellCallOutput` - - The type of the local shell tool call output. Always `local_shell_call_output`. - - - `const LocalShellCallOutputLocalShellCallOutput LocalShellCallOutput = "local_shell_call_output"` - - - `Status string` - - The status of the item. One of `in_progress`, `completed`, or `incomplete`. - - - `const ResponseInputItemLocalShellCallOutputStatusInProgress ResponseInputItemLocalShellCallOutputStatus = "in_progress"` - - - `const ResponseInputItemLocalShellCallOutputStatusCompleted ResponseInputItemLocalShellCallOutputStatus = "completed"` - - - `const ResponseInputItemLocalShellCallOutputStatusIncomplete ResponseInputItemLocalShellCallOutputStatus = "incomplete"` - - - `type ResponseInputItemShellCall struct{…}` - - A tool representing a request to execute one or more shell commands. - - - `Action ResponseInputItemShellCallAction` - - The shell commands and limits that describe how to run the tool call. - - - `Commands []string` - - Ordered shell commands for the execution environment to run. - - - `MaxOutputLength int64` - - Maximum number of UTF-8 characters to capture from combined stdout and stderr output. - - - `TimeoutMs int64` - - Maximum wall-clock time in milliseconds to allow the shell commands to run. - - - `CallID string` - - The unique ID of the shell tool call generated by the model. - - - `Type ShellCall` - - The type of the item. Always `shell_call`. - - - `const ShellCallShellCall ShellCall = "shell_call"` - - - `ID string` - - The unique ID of the shell tool call. Populated when this item is returned via API. - - - `Environment ResponseInputItemShellCallEnvironmentUnion` - - The environment to execute the shell commands in. - - - `type LocalEnvironment struct{…}` - - - `type ContainerReference struct{…}` - - - `Status string` - - The status of the shell call. One of `in_progress`, `completed`, or `incomplete`. - - - `const ResponseInputItemShellCallStatusInProgress ResponseInputItemShellCallStatus = "in_progress"` - - - `const ResponseInputItemShellCallStatusCompleted ResponseInputItemShellCallStatus = "completed"` - - - `const ResponseInputItemShellCallStatusIncomplete ResponseInputItemShellCallStatus = "incomplete"` - - - `type ResponseInputItemShellCallOutput struct{…}` - - The streamed output items emitted by a shell tool call. - - - `CallID string` - - The unique ID of the shell tool call generated by the model. - - - `Output []ResponseFunctionShellCallOutputContent` - - Captured chunks of stdout and stderr output, along with their associated outcomes. - - - `Outcome ResponseFunctionShellCallOutputContentOutcomeUnion` - - The exit or timeout outcome associated with this shell call. - - - `type ResponseFunctionShellCallOutputContentOutcomeTimeout struct{…}` - - Indicates that the shell call exceeded its configured time limit. - - - `Type Timeout` - - The outcome type. Always `timeout`. - - - `const TimeoutTimeout Timeout = "timeout"` - - - `type ResponseFunctionShellCallOutputContentOutcomeExit struct{…}` - - Indicates that the shell commands finished and returned an exit code. - - - `ExitCode int64` - - The exit code returned by the shell process. - - - `Type Exit` - - The outcome type. Always `exit`. - - - `const ExitExit Exit = "exit"` - - - `Stderr string` - - Captured stderr output for the shell call. - - - `Stdout string` - - Captured stdout output for the shell call. - - - `Type ShellCallOutput` - - The type of the item. Always `shell_call_output`. - - - `const ShellCallOutputShellCallOutput ShellCallOutput = "shell_call_output"` - - - `ID string` - - The unique ID of the shell tool call output. Populated when this item is returned via API. - - - `MaxOutputLength int64` - - The maximum number of UTF-8 characters captured for this shell call's combined output. - - - `Status string` - - The status of the shell call output. - - - `const ResponseInputItemShellCallOutputStatusInProgress ResponseInputItemShellCallOutputStatus = "in_progress"` - - - `const ResponseInputItemShellCallOutputStatusCompleted ResponseInputItemShellCallOutputStatus = "completed"` - - - `const ResponseInputItemShellCallOutputStatusIncomplete ResponseInputItemShellCallOutputStatus = "incomplete"` - - - `type ResponseInputItemApplyPatchCall struct{…}` - - A tool call representing a request to create, delete, or update files using diff patches. - - - `CallID string` - - The unique ID of the apply patch tool call generated by the model. - - - `Operation ResponseInputItemApplyPatchCallOperationUnion` - - The specific create, delete, or update instruction for the apply_patch tool call. - - - `type ResponseInputItemApplyPatchCallOperationCreateFile struct{…}` - - Instruction for creating a new file via the apply_patch tool. - - - `Diff string` - - Unified diff content to apply when creating the file. - - - `Path string` - - Path of the file to create relative to the workspace root. - - - `Type CreateFile` - - The operation type. Always `create_file`. - - - `const CreateFileCreateFile CreateFile = "create_file"` - - - `type ResponseInputItemApplyPatchCallOperationDeleteFile struct{…}` - - Instruction for deleting an existing file via the apply_patch tool. - - - `Path string` - - Path of the file to delete relative to the workspace root. - - - `Type DeleteFile` - - The operation type. Always `delete_file`. - - - `const DeleteFileDeleteFile DeleteFile = "delete_file"` - - - `type ResponseInputItemApplyPatchCallOperationUpdateFile struct{…}` - - Instruction for updating an existing file via the apply_patch tool. - - - `Diff string` - - Unified diff content to apply to the existing file. - - - `Path string` - - Path of the file to update relative to the workspace root. - - - `Type UpdateFile` - - The operation type. Always `update_file`. - - - `const UpdateFileUpdateFile UpdateFile = "update_file"` - - - `Status string` - - The status of the apply patch tool call. One of `in_progress` or `completed`. - - - `const ResponseInputItemApplyPatchCallStatusInProgress ResponseInputItemApplyPatchCallStatus = "in_progress"` - - - `const ResponseInputItemApplyPatchCallStatusCompleted ResponseInputItemApplyPatchCallStatus = "completed"` - - - `Type ApplyPatchCall` - - The type of the item. Always `apply_patch_call`. - - - `const ApplyPatchCallApplyPatchCall ApplyPatchCall = "apply_patch_call"` - - - `ID string` - - The unique ID of the apply patch tool call. Populated when this item is returned via API. - - - `type ResponseInputItemApplyPatchCallOutput struct{…}` - - The streamed output emitted by an apply patch tool call. - - - `CallID string` - - The unique ID of the apply patch tool call generated by the model. - - - `Status string` - - The status of the apply patch tool call output. One of `completed` or `failed`. - - - `const ResponseInputItemApplyPatchCallOutputStatusCompleted ResponseInputItemApplyPatchCallOutputStatus = "completed"` - - - `const ResponseInputItemApplyPatchCallOutputStatusFailed ResponseInputItemApplyPatchCallOutputStatus = "failed"` - - - `Type ApplyPatchCallOutput` - - The type of the item. Always `apply_patch_call_output`. - - - `const ApplyPatchCallOutputApplyPatchCallOutput ApplyPatchCallOutput = "apply_patch_call_output"` - - - `ID string` - - The unique ID of the apply patch tool call output. Populated when this item is returned via API. - - - `Output string` - - Optional human-readable log text from the apply patch tool (e.g., patch results or errors). - - - `type ResponseInputItemMcpListTools struct{…}` - - A list of tools available on an MCP server. - - - `ID string` - - The unique ID of the list. - - - `ServerLabel string` - - The label of the MCP server. - - - `Tools []ResponseInputItemMcpListToolsTool` - - The tools available on the server. - - - `InputSchema any` - - The JSON schema describing the tool's input. - - - `Name string` - - The name of the tool. - - - `Annotations any` - - Additional annotations about the tool. - - - `Description string` - - The description of the tool. - - - `Type McpListTools` - - The type of the item. Always `mcp_list_tools`. - - - `const McpListToolsMcpListTools McpListTools = "mcp_list_tools"` - - - `Error string` - - Error message if the server could not list tools. - - - `type ResponseInputItemMcpApprovalRequest struct{…}` - - A request for human approval of a tool invocation. - - - `ID string` - - The unique ID of the approval request. - - - `Arguments string` - - A JSON string of arguments for the tool. - - - `Name string` - - The name of the tool to run. - - - `ServerLabel string` - - The label of the MCP server making the request. - - - `Type McpApprovalRequest` - - The type of the item. Always `mcp_approval_request`. - - - `const McpApprovalRequestMcpApprovalRequest McpApprovalRequest = "mcp_approval_request"` - - - `type ResponseInputItemMcpApprovalResponse struct{…}` - - A response to an MCP approval request. - - - `ApprovalRequestID string` - - The ID of the approval request being answered. - - - `Approve bool` - - Whether the request was approved. - - - `Type McpApprovalResponse` - - The type of the item. Always `mcp_approval_response`. - - - `const McpApprovalResponseMcpApprovalResponse McpApprovalResponse = "mcp_approval_response"` - - - `ID string` - - The unique ID of the approval response - - - `Reason string` - - Optional reason for the decision. - - - `type ResponseInputItemMcpCall struct{…}` - - An invocation of a tool on an MCP server. - - - `ID string` - - The unique ID of the tool call. - - - `Arguments string` - - A JSON string of the arguments passed to the tool. - - - `Name string` - - The name of the tool that was run. - - - `ServerLabel string` - - The label of the MCP server running the tool. - - - `Type McpCall` - - The type of the item. Always `mcp_call`. - - - `const McpCallMcpCall McpCall = "mcp_call"` - - - `ApprovalRequestID string` - - Unique identifier for the MCP tool call approval request. - Include this value in a subsequent `mcp_approval_response` input to approve or reject the corresponding tool call. - - - `Error string` - - The error from the tool call, if any. - - - `Output string` - - The output from the tool call. - - - `Status string` - - The status of the tool call. One of `in_progress`, `completed`, `incomplete`, `calling`, or `failed`. - - - `const ResponseInputItemMcpCallStatusInProgress ResponseInputItemMcpCallStatus = "in_progress"` - - - `const ResponseInputItemMcpCallStatusCompleted ResponseInputItemMcpCallStatus = "completed"` - - - `const ResponseInputItemMcpCallStatusIncomplete ResponseInputItemMcpCallStatus = "incomplete"` - - - `const ResponseInputItemMcpCallStatusCalling ResponseInputItemMcpCallStatus = "calling"` - - - `const ResponseInputItemMcpCallStatusFailed ResponseInputItemMcpCallStatus = "failed"` - - - `type ResponseCustomToolCallOutput struct{…}` - - The output of a custom tool call from your code, being sent back to the model. - - - `CallID string` - - The call ID, used to map this custom tool call output to a custom tool call. - - - `Output ResponseCustomToolCallOutputOutputUnion` - - The output from the custom tool call generated by your code. - Can be a string or an list of output content. - - - `string` - - - `type ResponseCustomToolCallOutputOutputOutputContentList []ResponseCustomToolCallOutputOutputOutputContentListItemUnion` - - Text, image, or file output of the custom tool call. - - - `type ResponseInputText struct{…}` - - A text input to the model. - - - `type ResponseInputImage struct{…}` - - An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - - `type ResponseInputFile struct{…}` - - A file input to the model. - - - `Type CustomToolCallOutput` - - The type of the custom tool call output. Always `custom_tool_call_output`. - - - `const CustomToolCallOutputCustomToolCallOutput CustomToolCallOutput = "custom_tool_call_output"` - - - `ID string` - - The unique ID of the custom tool call output in the OpenAI platform. - - - `type ResponseCustomToolCall struct{…}` - - A call to a custom tool created by the model. - - - `CallID string` - - An identifier used to map this custom tool call to a tool call output. - - - `Input string` - - The input for the custom tool call generated by the model. - - - `Name string` - - The name of the custom tool being called. - - - `Type CustomToolCall` - - The type of the custom tool call. Always `custom_tool_call`. - - - `const CustomToolCallCustomToolCall CustomToolCall = "custom_tool_call"` - - - `ID string` - - The unique ID of the custom tool call in the OpenAI platform. - - - `Namespace string` - - The namespace of the custom tool being called. - - - `type ResponseInputItemCompactionTrigger struct{…}` - - Compacts the current context. Must be the final input item. - - - `Type CompactionTrigger` - - The type of the item. Always `compaction_trigger`. - - - `const CompactionTriggerCompactionTrigger CompactionTrigger = "compaction_trigger"` - - - `type ResponseInputItemItemReference struct{…}` - - An internal identifier for an item to reference. - - - `ID string` - - The ID of the item to reference. - - - `Type string` - - The type of item to reference. Always `item_reference`. - - - `const ResponseInputItemItemReferenceTypeItemReference ResponseInputItemItemReferenceType = "item_reference"` - - - `Metadata Metadata` - - Set of 16 key-value pairs that can be attached to an object. This can be - useful for storing additional information about the object in a structured - format, and querying for objects via API or the dashboard. - - Keys are strings with a maximum length of 64 characters. Values are strings - with a maximum length of 512 characters. - - - `Model ResponsesModel` - - Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI - offers a wide range of models with different capabilities, performance - characteristics, and price points. Refer to the [model guide](https://platform.openai.com/docs/models) - to browse and compare available models. - - - `string` - - - `type ChatModel string` - - - `const ChatModelGPT5_4 ChatModel = "gpt-5.4"` - - - `const ChatModelGPT5_4Mini ChatModel = "gpt-5.4-mini"` - - - `const ChatModelGPT5_4Nano ChatModel = "gpt-5.4-nano"` - - - `const ChatModelGPT5_4Mini2026_03_17 ChatModel = "gpt-5.4-mini-2026-03-17"` - - - `const ChatModelGPT5_4Nano2026_03_17 ChatModel = "gpt-5.4-nano-2026-03-17"` - - - `const ChatModelGPT5_3ChatLatest ChatModel = "gpt-5.3-chat-latest"` - - - `const ChatModelGPT5_2 ChatModel = "gpt-5.2"` - - - `const ChatModelGPT5_2_2025_12_11 ChatModel = "gpt-5.2-2025-12-11"` - - - `const ChatModelGPT5_2ChatLatest ChatModel = "gpt-5.2-chat-latest"` - - - `const ChatModelGPT5_2Pro ChatModel = "gpt-5.2-pro"` - - - `const ChatModelGPT5_2Pro2025_12_11 ChatModel = "gpt-5.2-pro-2025-12-11"` - - - `const ChatModelGPT5_1 ChatModel = "gpt-5.1"` - - - `const ChatModelGPT5_1_2025_11_13 ChatModel = "gpt-5.1-2025-11-13"` - - - `const ChatModelGPT5_1Codex ChatModel = "gpt-5.1-codex"` - - - `const ChatModelGPT5_1Mini ChatModel = "gpt-5.1-mini"` - - - `const ChatModelGPT5_1ChatLatest ChatModel = "gpt-5.1-chat-latest"` - - - `const ChatModelGPT5 ChatModel = "gpt-5"` - - - `const ChatModelGPT5Mini ChatModel = "gpt-5-mini"` - - - `const ChatModelGPT5Nano ChatModel = "gpt-5-nano"` - - - `const ChatModelGPT5_2025_08_07 ChatModel = "gpt-5-2025-08-07"` - - - `const ChatModelGPT5Mini2025_08_07 ChatModel = "gpt-5-mini-2025-08-07"` - - - `const ChatModelGPT5Nano2025_08_07 ChatModel = "gpt-5-nano-2025-08-07"` - - - `const ChatModelGPT5ChatLatest ChatModel = "gpt-5-chat-latest"` - - - `const ChatModelGPT4_1 ChatModel = "gpt-4.1"` - - - `const ChatModelGPT4_1Mini ChatModel = "gpt-4.1-mini"` - - - `const ChatModelGPT4_1Nano ChatModel = "gpt-4.1-nano"` - - - `const ChatModelGPT4_1_2025_04_14 ChatModel = "gpt-4.1-2025-04-14"` - - - `const ChatModelGPT4_1Mini2025_04_14 ChatModel = "gpt-4.1-mini-2025-04-14"` - - - `const ChatModelGPT4_1Nano2025_04_14 ChatModel = "gpt-4.1-nano-2025-04-14"` - - - `const ChatModelO4Mini ChatModel = "o4-mini"` - - - `const ChatModelO4Mini2025_04_16 ChatModel = "o4-mini-2025-04-16"` - - - `const ChatModelO3 ChatModel = "o3"` - - - `const ChatModelO3_2025_04_16 ChatModel = "o3-2025-04-16"` - - - `const ChatModelO3Mini ChatModel = "o3-mini"` - - - `const ChatModelO3Mini2025_01_31 ChatModel = "o3-mini-2025-01-31"` - - - `const ChatModelO1 ChatModel = "o1"` - - - `const ChatModelO1_2024_12_17 ChatModel = "o1-2024-12-17"` - - - `const ChatModelO1Preview ChatModel = "o1-preview"` - - - `const ChatModelO1Preview2024_09_12 ChatModel = "o1-preview-2024-09-12"` - - - `const ChatModelO1Mini ChatModel = "o1-mini"` - - - `const ChatModelO1Mini2024_09_12 ChatModel = "o1-mini-2024-09-12"` - - - `const ChatModelGPT4o ChatModel = "gpt-4o"` - - - `const ChatModelGPT4o2024_11_20 ChatModel = "gpt-4o-2024-11-20"` - - - `const ChatModelGPT4o2024_08_06 ChatModel = "gpt-4o-2024-08-06"` - - - `const ChatModelGPT4o2024_05_13 ChatModel = "gpt-4o-2024-05-13"` - - - `const ChatModelGPT4oAudioPreview ChatModel = "gpt-4o-audio-preview"` - - - `const ChatModelGPT4oAudioPreview2024_10_01 ChatModel = "gpt-4o-audio-preview-2024-10-01"` - - - `const ChatModelGPT4oAudioPreview2024_12_17 ChatModel = "gpt-4o-audio-preview-2024-12-17"` - - - `const ChatModelGPT4oAudioPreview2025_06_03 ChatModel = "gpt-4o-audio-preview-2025-06-03"` - - - `const ChatModelGPT4oMiniAudioPreview ChatModel = "gpt-4o-mini-audio-preview"` - - - `const ChatModelGPT4oMiniAudioPreview2024_12_17 ChatModel = "gpt-4o-mini-audio-preview-2024-12-17"` - - - `const ChatModelGPT4oSearchPreview ChatModel = "gpt-4o-search-preview"` - - - `const ChatModelGPT4oMiniSearchPreview ChatModel = "gpt-4o-mini-search-preview"` - - - `const ChatModelGPT4oSearchPreview2025_03_11 ChatModel = "gpt-4o-search-preview-2025-03-11"` - - - `const ChatModelGPT4oMiniSearchPreview2025_03_11 ChatModel = "gpt-4o-mini-search-preview-2025-03-11"` - - - `const ChatModelChatgpt4oLatest ChatModel = "chatgpt-4o-latest"` - - - `const ChatModelCodexMiniLatest ChatModel = "codex-mini-latest"` - - - `const ChatModelGPT4oMini ChatModel = "gpt-4o-mini"` - - - `const ChatModelGPT4oMini2024_07_18 ChatModel = "gpt-4o-mini-2024-07-18"` - - - `const ChatModelGPT4Turbo ChatModel = "gpt-4-turbo"` - - - `const ChatModelGPT4Turbo2024_04_09 ChatModel = "gpt-4-turbo-2024-04-09"` - - - `const ChatModelGPT4_0125Preview ChatModel = "gpt-4-0125-preview"` - - - `const ChatModelGPT4TurboPreview ChatModel = "gpt-4-turbo-preview"` - - - `const ChatModelGPT4_1106Preview ChatModel = "gpt-4-1106-preview"` - - - `const ChatModelGPT4VisionPreview ChatModel = "gpt-4-vision-preview"` - - - `const ChatModelGPT4 ChatModel = "gpt-4"` - - - `const ChatModelGPT4_0314 ChatModel = "gpt-4-0314"` - - - `const ChatModelGPT4_0613 ChatModel = "gpt-4-0613"` - - - `const ChatModelGPT4_32k ChatModel = "gpt-4-32k"` - - - `const ChatModelGPT4_32k0314 ChatModel = "gpt-4-32k-0314"` - - - `const ChatModelGPT4_32k0613 ChatModel = "gpt-4-32k-0613"` - - - `const ChatModelGPT3_5Turbo ChatModel = "gpt-3.5-turbo"` - - - `const ChatModelGPT3_5Turbo16k ChatModel = "gpt-3.5-turbo-16k"` - - - `const ChatModelGPT3_5Turbo0301 ChatModel = "gpt-3.5-turbo-0301"` - - - `const ChatModelGPT3_5Turbo0613 ChatModel = "gpt-3.5-turbo-0613"` - - - `const ChatModelGPT3_5Turbo1106 ChatModel = "gpt-3.5-turbo-1106"` - - - `const ChatModelGPT3_5Turbo0125 ChatModel = "gpt-3.5-turbo-0125"` - - - `const ChatModelGPT3_5Turbo16k0613 ChatModel = "gpt-3.5-turbo-16k-0613"` - - - `type ResponsesModel string` - - - `const ResponsesModelO1Pro ResponsesModel = "o1-pro"` - - - `const ResponsesModelO1Pro2025_03_19 ResponsesModel = "o1-pro-2025-03-19"` - - - `const ResponsesModelO3Pro ResponsesModel = "o3-pro"` - - - `const ResponsesModelO3Pro2025_06_10 ResponsesModel = "o3-pro-2025-06-10"` - - - `const ResponsesModelO3DeepResearch ResponsesModel = "o3-deep-research"` - - - `const ResponsesModelO3DeepResearch2025_06_26 ResponsesModel = "o3-deep-research-2025-06-26"` - - - `const ResponsesModelO4MiniDeepResearch ResponsesModel = "o4-mini-deep-research"` - - - `const ResponsesModelO4MiniDeepResearch2025_06_26 ResponsesModel = "o4-mini-deep-research-2025-06-26"` - - - `const ResponsesModelComputerUsePreview ResponsesModel = "computer-use-preview"` - - - `const ResponsesModelComputerUsePreview2025_03_11 ResponsesModel = "computer-use-preview-2025-03-11"` - - - `const ResponsesModelGPT5Codex ResponsesModel = "gpt-5-codex"` - - - `const ResponsesModelGPT5Pro ResponsesModel = "gpt-5-pro"` - - - `const ResponsesModelGPT5Pro2025_10_06 ResponsesModel = "gpt-5-pro-2025-10-06"` - - - `const ResponsesModelGPT5_1CodexMax ResponsesModel = "gpt-5.1-codex-max"` - - - `Object Response` - - The object type of this resource - always set to `response`. - - - `const ResponseResponse Response = "response"` - - - `Output []ResponseOutputItemUnion` - - An array of content items generated by the model. - - - The length and order of items in the `output` array is dependent - on the model's response. - - Rather than accessing the first item in the `output` array and - assuming it's an `assistant` message with the content generated by - the model, you might consider using the `output_text` property where - supported in SDKs. - - - `type ResponseOutputMessage struct{…}` - - An output message from the model. - - - `type ResponseFileSearchToolCall struct{…}` - - The results of a file search tool call. See the - [file search guide](https://platform.openai.com/docs/guides/tools-file-search) for more information. - - - `type ResponseFunctionToolCall struct{…}` - - A tool call to run a function. See the - [function calling guide](https://platform.openai.com/docs/guides/function-calling) for more information. - - - `type ResponseFunctionToolCallOutputItem struct{…}` - - - `ID string` - - The unique ID of the function call tool output. - - - `CallID string` - - The unique ID of the function tool call generated by the model. - - - `Output ResponseFunctionToolCallOutputItemOutputUnion` - - The output from the function call generated by your code. - Can be a string or an list of output content. - - - `string` - - - `type ResponseFunctionToolCallOutputItemOutputOutputContentList []ResponseFunctionToolCallOutputItemOutputOutputContentListItemUnion` - - Text, image, or file output of the function call. - - - `type ResponseInputText struct{…}` - - A text input to the model. - - - `type ResponseInputImage struct{…}` - - An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - - `type ResponseInputFile struct{…}` - - A file input to the model. - - - `Status ResponseFunctionToolCallOutputItemStatus` - - The status of the item. One of `in_progress`, `completed`, or - `incomplete`. Populated when items are returned via API. - - - `const ResponseFunctionToolCallOutputItemStatusInProgress ResponseFunctionToolCallOutputItemStatus = "in_progress"` - - - `const ResponseFunctionToolCallOutputItemStatusCompleted ResponseFunctionToolCallOutputItemStatus = "completed"` - - - `const ResponseFunctionToolCallOutputItemStatusIncomplete ResponseFunctionToolCallOutputItemStatus = "incomplete"` - - - `Type FunctionCallOutput` - - The type of the function tool call output. Always `function_call_output`. - - - `const FunctionCallOutputFunctionCallOutput FunctionCallOutput = "function_call_output"` - - - `CreatedBy string` - - The identifier of the actor that created the item. - - - `type ResponseFunctionWebSearch struct{…}` - - The results of a web search tool call. See the - [web search guide](https://platform.openai.com/docs/guides/tools-web-search) for more information. - - - `type ResponseComputerToolCall struct{…}` - - A tool call to a computer use tool. See the - [computer use guide](https://platform.openai.com/docs/guides/tools-computer-use) for more information. - - - `type ResponseComputerToolCallOutputItem struct{…}` - - - `ID string` - - The unique ID of the computer call tool output. - - - `CallID string` - - The ID of the computer tool call that produced the output. - - - `Output ResponseComputerToolCallOutputScreenshot` - - A computer screenshot image used with the computer use tool. - - - `Status ResponseComputerToolCallOutputItemStatus` - - The status of the message input. One of `in_progress`, `completed`, or - `incomplete`. Populated when input items are returned via API. - - - `const ResponseComputerToolCallOutputItemStatusCompleted ResponseComputerToolCallOutputItemStatus = "completed"` - - - `const ResponseComputerToolCallOutputItemStatusIncomplete ResponseComputerToolCallOutputItemStatus = "incomplete"` - - - `const ResponseComputerToolCallOutputItemStatusFailed ResponseComputerToolCallOutputItemStatus = "failed"` - - - `const ResponseComputerToolCallOutputItemStatusInProgress ResponseComputerToolCallOutputItemStatus = "in_progress"` - - - `Type ComputerCallOutput` - - The type of the computer tool call output. Always `computer_call_output`. - - - `const ComputerCallOutputComputerCallOutput ComputerCallOutput = "computer_call_output"` - - - `AcknowledgedSafetyChecks []ResponseComputerToolCallOutputItemAcknowledgedSafetyCheck` - - The safety checks reported by the API that have been acknowledged by the - developer. - - - `ID string` - - The ID of the pending safety check. - - - `Code string` - - The type of the pending safety check. - - - `Message string` - - Details about the pending safety check. - - - `CreatedBy string` - - The identifier of the actor that created the item. - - - `type ResponseReasoningItem struct{…}` - - A description of the chain of thought used by a reasoning model while generating - a response. Be sure to include these items in your `input` to the Responses API - for subsequent turns of a conversation if you are manually - [managing context](https://platform.openai.com/docs/guides/conversation-state). - - - `type ResponseToolSearchCall struct{…}` - - - `ID string` - - The unique ID of the tool search call item. - - - `Arguments any` - - Arguments used for the tool search call. - - - `CallID string` - - The unique ID of the tool search call generated by the model. - - - `Execution ResponseToolSearchCallExecution` - - Whether tool search was executed by the server or by the client. - - - `const ResponseToolSearchCallExecutionServer ResponseToolSearchCallExecution = "server"` - - - `const ResponseToolSearchCallExecutionClient ResponseToolSearchCallExecution = "client"` - - - `Status ResponseToolSearchCallStatus` - - The status of the tool search call item that was recorded. - - - `const ResponseToolSearchCallStatusInProgress ResponseToolSearchCallStatus = "in_progress"` - - - `const ResponseToolSearchCallStatusCompleted ResponseToolSearchCallStatus = "completed"` - - - `const ResponseToolSearchCallStatusIncomplete ResponseToolSearchCallStatus = "incomplete"` - - - `Type ToolSearchCall` - - The type of the item. Always `tool_search_call`. - - - `const ToolSearchCallToolSearchCall ToolSearchCall = "tool_search_call"` - - - `CreatedBy string` - - The identifier of the actor that created the item. - - - `type ResponseToolSearchOutputItem struct{…}` - - - `ID string` - - The unique ID of the tool search output item. - - - `CallID string` - - The unique ID of the tool search call generated by the model. - - - `Execution ResponseToolSearchOutputItemExecution` - - Whether tool search was executed by the server or by the client. - - - `const ResponseToolSearchOutputItemExecutionServer ResponseToolSearchOutputItemExecution = "server"` - - - `const ResponseToolSearchOutputItemExecutionClient ResponseToolSearchOutputItemExecution = "client"` - - - `Status ResponseToolSearchOutputItemStatus` - - The status of the tool search output item that was recorded. - - - `const ResponseToolSearchOutputItemStatusInProgress ResponseToolSearchOutputItemStatus = "in_progress"` - - - `const ResponseToolSearchOutputItemStatusCompleted ResponseToolSearchOutputItemStatus = "completed"` - - - `const ResponseToolSearchOutputItemStatusIncomplete ResponseToolSearchOutputItemStatus = "incomplete"` - - - `Tools []ToolUnion` - - The loaded tool definitions returned by tool search. - - - `type FunctionTool struct{…}` - - Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). - - - `type FileSearchTool struct{…}` - - A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). - - - `type ComputerTool struct{…}` - - A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use). - - - `type ComputerUsePreviewTool struct{…}` - - A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use). - - - `type WebSearchTool struct{…}` - - Search the Internet for sources related to the prompt. Learn more about the - [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - - `type ToolMcp struct{…}` - - Give the model access to additional tools via remote Model Context Protocol - (MCP) servers. [Learn more about MCP](https://platform.openai.com/docs/guides/tools-remote-mcp). - - - `type ToolCodeInterpreter struct{…}` - - A tool that runs Python code to help generate a response to a prompt. - - - `type ToolImageGeneration struct{…}` - - A tool that generates images using the GPT image models. - - - `type ToolLocalShell struct{…}` - - A tool that allows the model to execute shell commands in a local environment. - - - `type FunctionShellTool struct{…}` - - A tool that allows the model to execute shell commands. - - - `type CustomTool struct{…}` - - A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) - - - `type NamespaceTool struct{…}` - - Groups function/custom tools under a shared namespace. - - - `type ToolSearchTool struct{…}` - - Hosted or BYOT tool search configuration for deferred tools. - - - `type WebSearchPreviewTool struct{…}` - - This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - - `type ApplyPatchTool struct{…}` - - Allows the assistant to create, delete, or update files using unified diffs. - - - `Type ToolSearchOutput` - - The type of the item. Always `tool_search_output`. - - - `const ToolSearchOutputToolSearchOutput ToolSearchOutput = "tool_search_output"` - - - `CreatedBy string` - - The identifier of the actor that created the item. - - - `type ResponseCompactionItem struct{…}` - - A compaction item generated by the [`v1/responses/compact` API](https://platform.openai.com/docs/api-reference/responses/compact). - - - `ID string` - - The unique ID of the compaction item. - - - `EncryptedContent string` - - The encrypted content that was produced by compaction. - - - `Type Compaction` - - The type of the item. Always `compaction`. - - - `const CompactionCompaction Compaction = "compaction"` - - - `CreatedBy string` - - The identifier of the actor that created the item. - - - `type ResponseOutputItemImageGenerationCall struct{…}` - - An image generation request made by the model. - - - `ID string` - - The unique ID of the image generation call. - - - `Result string` - - The generated image encoded in base64. - - - `Status string` - - The status of the image generation call. - - - `const ResponseOutputItemImageGenerationCallStatusInProgress ResponseOutputItemImageGenerationCallStatus = "in_progress"` - - - `const ResponseOutputItemImageGenerationCallStatusCompleted ResponseOutputItemImageGenerationCallStatus = "completed"` - - - `const ResponseOutputItemImageGenerationCallStatusGenerating ResponseOutputItemImageGenerationCallStatus = "generating"` - - - `const ResponseOutputItemImageGenerationCallStatusFailed ResponseOutputItemImageGenerationCallStatus = "failed"` - - - `Type ImageGenerationCall` - - The type of the image generation call. Always `image_generation_call`. - - - `const ImageGenerationCallImageGenerationCall ImageGenerationCall = "image_generation_call"` - - - `type ResponseCodeInterpreterToolCall struct{…}` - - A tool call to run code. - - - `type ResponseOutputItemLocalShellCall struct{…}` - - A tool call to run a command on the local shell. - - - `ID string` - - The unique ID of the local shell call. - - - `Action ResponseOutputItemLocalShellCallAction` - - Execute a shell command on the server. - - - `Command []string` - - The command to run. - - - `Env map[string, string]` - - Environment variables to set for the command. - - - `Type Exec` - - The type of the local shell action. Always `exec`. - - - `const ExecExec Exec = "exec"` - - - `TimeoutMs int64` - - Optional timeout in milliseconds for the command. - - - `User string` - - Optional user to run the command as. - - - `WorkingDirectory string` - - Optional working directory to run the command in. - - - `CallID string` - - The unique ID of the local shell tool call generated by the model. - - - `Status string` - - The status of the local shell call. - - - `const ResponseOutputItemLocalShellCallStatusInProgress ResponseOutputItemLocalShellCallStatus = "in_progress"` - - - `const ResponseOutputItemLocalShellCallStatusCompleted ResponseOutputItemLocalShellCallStatus = "completed"` - - - `const ResponseOutputItemLocalShellCallStatusIncomplete ResponseOutputItemLocalShellCallStatus = "incomplete"` - - - `Type LocalShellCall` - - The type of the local shell call. Always `local_shell_call`. - - - `const LocalShellCallLocalShellCall LocalShellCall = "local_shell_call"` - - - `type ResponseOutputItemLocalShellCallOutput struct{…}` - - The output of a local shell tool call. - - - `ID string` - - The unique ID of the local shell tool call generated by the model. - - - `Output string` - - A JSON string of the output of the local shell tool call. - - - `Type LocalShellCallOutput` - - The type of the local shell tool call output. Always `local_shell_call_output`. - - - `const LocalShellCallOutputLocalShellCallOutput LocalShellCallOutput = "local_shell_call_output"` - - - `Status string` - - The status of the item. One of `in_progress`, `completed`, or `incomplete`. - - - `const ResponseOutputItemLocalShellCallOutputStatusInProgress ResponseOutputItemLocalShellCallOutputStatus = "in_progress"` - - - `const ResponseOutputItemLocalShellCallOutputStatusCompleted ResponseOutputItemLocalShellCallOutputStatus = "completed"` - - - `const ResponseOutputItemLocalShellCallOutputStatusIncomplete ResponseOutputItemLocalShellCallOutputStatus = "incomplete"` - - - `type ResponseFunctionShellToolCall struct{…}` - - A tool call that executes one or more shell commands in a managed environment. - - - `ID string` - - The unique ID of the shell tool call. Populated when this item is returned via API. - - - `Action ResponseFunctionShellToolCallAction` - - The shell commands and limits that describe how to run the tool call. - - - `Commands []string` - - - `MaxOutputLength int64` - - Optional maximum number of characters to return from each command. - - - `TimeoutMs int64` - - Optional timeout in milliseconds for the commands. - - - `CallID string` - - The unique ID of the shell tool call generated by the model. - - - `Environment ResponseFunctionShellToolCallEnvironmentUnion` - - Represents the use of a local environment to perform shell actions. - - - `type ResponseLocalEnvironment struct{…}` - - Represents the use of a local environment to perform shell actions. - - - `Type Local` - - The environment type. Always `local`. - - - `const LocalLocal Local = "local"` - - - `type ResponseContainerReference struct{…}` - - Represents a container created with /v1/containers. - - - `ContainerID string` - - - `Type ContainerReference` - - The environment type. Always `container_reference`. - - - `const ContainerReferenceContainerReference ContainerReference = "container_reference"` - - - `Status ResponseFunctionShellToolCallStatus` - - The status of the shell call. One of `in_progress`, `completed`, or `incomplete`. - - - `const ResponseFunctionShellToolCallStatusInProgress ResponseFunctionShellToolCallStatus = "in_progress"` - - - `const ResponseFunctionShellToolCallStatusCompleted ResponseFunctionShellToolCallStatus = "completed"` - - - `const ResponseFunctionShellToolCallStatusIncomplete ResponseFunctionShellToolCallStatus = "incomplete"` - - - `Type ShellCall` - - The type of the item. Always `shell_call`. - - - `const ShellCallShellCall ShellCall = "shell_call"` - - - `CreatedBy string` - - The ID of the entity that created this tool call. - - - `type ResponseFunctionShellToolCallOutput struct{…}` - - The output of a shell tool call that was emitted. - - - `ID string` - - The unique ID of the shell call output. Populated when this item is returned via API. - - - `CallID string` - - The unique ID of the shell tool call generated by the model. - - - `MaxOutputLength int64` - - The maximum length of the shell command output. This is generated by the model and should be passed back with the raw output. - - - `Output []ResponseFunctionShellToolCallOutputOutput` - - An array of shell call output contents - - - `Outcome ResponseFunctionShellToolCallOutputOutputOutcomeUnion` - - Represents either an exit outcome (with an exit code) or a timeout outcome for a shell call output chunk. - - - `type ResponseFunctionShellToolCallOutputOutputOutcomeTimeout struct{…}` - - Indicates that the shell call exceeded its configured time limit. - - - `Type Timeout` - - The outcome type. Always `timeout`. - - - `const TimeoutTimeout Timeout = "timeout"` - - - `type ResponseFunctionShellToolCallOutputOutputOutcomeExit struct{…}` - - Indicates that the shell commands finished and returned an exit code. - - - `ExitCode int64` - - Exit code from the shell process. - - - `Type Exit` - - The outcome type. Always `exit`. - - - `const ExitExit Exit = "exit"` - - - `Stderr string` - - The standard error output that was captured. - - - `Stdout string` - - The standard output that was captured. - - - `CreatedBy string` - - The identifier of the actor that created the item. - - - `Status ResponseFunctionShellToolCallOutputStatus` - - The status of the shell call output. One of `in_progress`, `completed`, or `incomplete`. - - - `const ResponseFunctionShellToolCallOutputStatusInProgress ResponseFunctionShellToolCallOutputStatus = "in_progress"` - - - `const ResponseFunctionShellToolCallOutputStatusCompleted ResponseFunctionShellToolCallOutputStatus = "completed"` - - - `const ResponseFunctionShellToolCallOutputStatusIncomplete ResponseFunctionShellToolCallOutputStatus = "incomplete"` - - - `Type ShellCallOutput` - - The type of the shell call output. Always `shell_call_output`. - - - `const ShellCallOutputShellCallOutput ShellCallOutput = "shell_call_output"` - - - `CreatedBy string` - - The identifier of the actor that created the item. - - - `type ResponseApplyPatchToolCall struct{…}` - - A tool call that applies file diffs by creating, deleting, or updating files. - - - `ID string` - - The unique ID of the apply patch tool call. Populated when this item is returned via API. - - - `CallID string` - - The unique ID of the apply patch tool call generated by the model. - - - `Operation ResponseApplyPatchToolCallOperationUnion` - - One of the create_file, delete_file, or update_file operations applied via apply_patch. - - - `type ResponseApplyPatchToolCallOperationCreateFile struct{…}` - - Instruction describing how to create a file via the apply_patch tool. - - - `Diff string` - - Diff to apply. - - - `Path string` - - Path of the file to create. - - - `Type CreateFile` - - Create a new file with the provided diff. - - - `const CreateFileCreateFile CreateFile = "create_file"` - - - `type ResponseApplyPatchToolCallOperationDeleteFile struct{…}` - - Instruction describing how to delete a file via the apply_patch tool. - - - `Path string` - - Path of the file to delete. - - - `Type DeleteFile` - - Delete the specified file. - - - `const DeleteFileDeleteFile DeleteFile = "delete_file"` - - - `type ResponseApplyPatchToolCallOperationUpdateFile struct{…}` - - Instruction describing how to update a file via the apply_patch tool. - - - `Diff string` - - Diff to apply. - - - `Path string` - - Path of the file to update. - - - `Type UpdateFile` - - Update an existing file with the provided diff. - - - `const UpdateFileUpdateFile UpdateFile = "update_file"` - - - `Status ResponseApplyPatchToolCallStatus` - - The status of the apply patch tool call. One of `in_progress` or `completed`. - - - `const ResponseApplyPatchToolCallStatusInProgress ResponseApplyPatchToolCallStatus = "in_progress"` - - - `const ResponseApplyPatchToolCallStatusCompleted ResponseApplyPatchToolCallStatus = "completed"` - - - `Type ApplyPatchCall` - - The type of the item. Always `apply_patch_call`. - - - `const ApplyPatchCallApplyPatchCall ApplyPatchCall = "apply_patch_call"` - - - `CreatedBy string` - - The ID of the entity that created this tool call. - - - `type ResponseApplyPatchToolCallOutput struct{…}` - - The output emitted by an apply patch tool call. - - - `ID string` - - The unique ID of the apply patch tool call output. Populated when this item is returned via API. - - - `CallID string` - - The unique ID of the apply patch tool call generated by the model. - - - `Status ResponseApplyPatchToolCallOutputStatus` - - The status of the apply patch tool call output. One of `completed` or `failed`. - - - `const ResponseApplyPatchToolCallOutputStatusCompleted ResponseApplyPatchToolCallOutputStatus = "completed"` - - - `const ResponseApplyPatchToolCallOutputStatusFailed ResponseApplyPatchToolCallOutputStatus = "failed"` - - - `Type ApplyPatchCallOutput` - - The type of the item. Always `apply_patch_call_output`. - - - `const ApplyPatchCallOutputApplyPatchCallOutput ApplyPatchCallOutput = "apply_patch_call_output"` - - - `CreatedBy string` - - The ID of the entity that created this tool call output. - - - `Output string` - - Optional textual output returned by the apply patch tool. - - - `type ResponseOutputItemMcpCall struct{…}` - - An invocation of a tool on an MCP server. - - - `ID string` - - The unique ID of the tool call. - - - `Arguments string` - - A JSON string of the arguments passed to the tool. - - - `Name string` - - The name of the tool that was run. - - - `ServerLabel string` - - The label of the MCP server running the tool. - - - `Type McpCall` - - The type of the item. Always `mcp_call`. - - - `const McpCallMcpCall McpCall = "mcp_call"` - - - `ApprovalRequestID string` - - Unique identifier for the MCP tool call approval request. - Include this value in a subsequent `mcp_approval_response` input to approve or reject the corresponding tool call. - - - `Error string` - - The error from the tool call, if any. - - - `Output string` - - The output from the tool call. - - - `Status string` - - The status of the tool call. One of `in_progress`, `completed`, `incomplete`, `calling`, or `failed`. - - - `const ResponseOutputItemMcpCallStatusInProgress ResponseOutputItemMcpCallStatus = "in_progress"` - - - `const ResponseOutputItemMcpCallStatusCompleted ResponseOutputItemMcpCallStatus = "completed"` - - - `const ResponseOutputItemMcpCallStatusIncomplete ResponseOutputItemMcpCallStatus = "incomplete"` - - - `const ResponseOutputItemMcpCallStatusCalling ResponseOutputItemMcpCallStatus = "calling"` - - - `const ResponseOutputItemMcpCallStatusFailed ResponseOutputItemMcpCallStatus = "failed"` - - - `type ResponseOutputItemMcpListTools struct{…}` - - A list of tools available on an MCP server. - - - `ID string` - - The unique ID of the list. - - - `ServerLabel string` - - The label of the MCP server. - - - `Tools []ResponseOutputItemMcpListToolsTool` - - The tools available on the server. - - - `InputSchema any` - - The JSON schema describing the tool's input. - - - `Name string` - - The name of the tool. - - - `Annotations any` - - Additional annotations about the tool. - - - `Description string` - - The description of the tool. - - - `Type McpListTools` - - The type of the item. Always `mcp_list_tools`. - - - `const McpListToolsMcpListTools McpListTools = "mcp_list_tools"` - - - `Error string` - - Error message if the server could not list tools. - - - `type ResponseOutputItemMcpApprovalRequest struct{…}` - - A request for human approval of a tool invocation. - - - `ID string` - - The unique ID of the approval request. - - - `Arguments string` - - A JSON string of arguments for the tool. - - - `Name string` - - The name of the tool to run. - - - `ServerLabel string` - - The label of the MCP server making the request. - - - `Type McpApprovalRequest` - - The type of the item. Always `mcp_approval_request`. - - - `const McpApprovalRequestMcpApprovalRequest McpApprovalRequest = "mcp_approval_request"` - - - `type ResponseOutputItemMcpApprovalResponse struct{…}` - - A response to an MCP approval request. - - - `ID string` - - The unique ID of the approval response - - - `ApprovalRequestID string` - - The ID of the approval request being answered. - - - `Approve bool` - - Whether the request was approved. - - - `Type McpApprovalResponse` - - The type of the item. Always `mcp_approval_response`. - - - `const McpApprovalResponseMcpApprovalResponse McpApprovalResponse = "mcp_approval_response"` - - - `Reason string` - - Optional reason for the decision. - - - `type ResponseCustomToolCall struct{…}` - - A call to a custom tool created by the model. - - - `type ResponseCustomToolCallOutputItem struct{…}` - - The output of a custom tool call from your code, being sent back to the model. - - - `ID string` - - The unique ID of the custom tool call output item. - - - `Status string` - - The status of the item. One of `in_progress`, `completed`, or - `incomplete`. Populated when items are returned via API. - - - `const ResponseCustomToolCallOutputItemStatusInProgress ResponseCustomToolCallOutputItemStatus = "in_progress"` - - - `const ResponseCustomToolCallOutputItemStatusCompleted ResponseCustomToolCallOutputItemStatus = "completed"` - - - `const ResponseCustomToolCallOutputItemStatusIncomplete ResponseCustomToolCallOutputItemStatus = "incomplete"` - - - `CreatedBy string` - - The identifier of the actor that created the item. - - - `ParallelToolCalls bool` - - Whether to allow the model to run tool calls in parallel. - - - `Temperature float64` - - What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. - We generally recommend altering this or `top_p` but not both. - - - `ToolChoice ResponseToolChoiceUnion` - - How the model should select which tool (or tools) to use when generating - a response. See the `tools` parameter to see how to specify which tools - the model can call. - - - `type ToolChoiceOptions string` - - Controls which (if any) tool is called by the model. - - `none` means the model will not call any tool and instead generates a message. - - `auto` means the model can pick between generating a message or calling one or - more tools. - - `required` means the model must call one or more tools. - - - `const ToolChoiceOptionsNone ToolChoiceOptions = "none"` - - - `const ToolChoiceOptionsAuto ToolChoiceOptions = "auto"` - - - `const ToolChoiceOptionsRequired ToolChoiceOptions = "required"` - - - `type ToolChoiceAllowed struct{…}` - - Constrains the tools available to the model to a pre-defined set. - - - `Mode ToolChoiceAllowedMode` - - Constrains the tools available to the model to a pre-defined set. - - `auto` allows the model to pick from among the allowed tools and generate a - message. - - `required` requires the model to call one or more of the allowed tools. - - - `const ToolChoiceAllowedModeAuto ToolChoiceAllowedMode = "auto"` - - - `const ToolChoiceAllowedModeRequired ToolChoiceAllowedMode = "required"` - - - `Tools []map[string, any]` - - A list of tool definitions that the model should be allowed to call. - - For the Responses API, the list of tool definitions might look like: - - ```json - [ - { "type": "function", "name": "get_weather" }, - { "type": "mcp", "server_label": "deepwiki" }, - { "type": "image_generation" } - ] - ``` - - - `Type AllowedTools` - - Allowed tool configuration type. Always `allowed_tools`. - - - `const AllowedToolsAllowedTools AllowedTools = "allowed_tools"` - - - `type ToolChoiceTypes struct{…}` - - Indicates that the model should use a built-in tool to generate a response. - [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools). - - - `Type ToolChoiceTypesType` - - The type of hosted tool the model should to use. Learn more about - [built-in tools](https://platform.openai.com/docs/guides/tools). - - Allowed values are: - - - `file_search` - - `web_search_preview` - - `computer` - - `computer_use_preview` - - `computer_use` - - `code_interpreter` - - `image_generation` - - - `const ToolChoiceTypesTypeFileSearch ToolChoiceTypesType = "file_search"` - - - `const ToolChoiceTypesTypeWebSearchPreview ToolChoiceTypesType = "web_search_preview"` - - - `const ToolChoiceTypesTypeComputer ToolChoiceTypesType = "computer"` - - - `const ToolChoiceTypesTypeComputerUsePreview ToolChoiceTypesType = "computer_use_preview"` - - - `const ToolChoiceTypesTypeComputerUse ToolChoiceTypesType = "computer_use"` - - - `const ToolChoiceTypesTypeWebSearchPreview2025_03_11 ToolChoiceTypesType = "web_search_preview_2025_03_11"` - - - `const ToolChoiceTypesTypeImageGeneration ToolChoiceTypesType = "image_generation"` - - - `const ToolChoiceTypesTypeCodeInterpreter ToolChoiceTypesType = "code_interpreter"` - - - `type ToolChoiceFunction struct{…}` - - Use this option to force the model to call a specific function. - - - `Name string` - - The name of the function to call. - - - `Type Function` - - For function calling, the type is always `function`. - - - `const FunctionFunction Function = "function"` - - - `type ToolChoiceMcp struct{…}` - - Use this option to force the model to call a specific tool on a remote MCP server. - - - `ServerLabel string` - - The label of the MCP server to use. - - - `Type Mcp` - - For MCP tools, the type is always `mcp`. - - - `const McpMcp Mcp = "mcp"` - - - `Name string` - - The name of the tool to call on the server. - - - `type ToolChoiceCustom struct{…}` - - Use this option to force the model to call a specific custom tool. - - - `Name string` - - The name of the custom tool to call. - - - `Type Custom` - - For custom tool calling, the type is always `custom`. - - - `const CustomCustom Custom = "custom"` - - - `type ToolChoiceApplyPatch struct{…}` - - Forces the model to call the apply_patch tool when executing a tool call. - - - `Type ApplyPatch` - - The tool to call. Always `apply_patch`. - - - `const ApplyPatchApplyPatch ApplyPatch = "apply_patch"` - - - `type ToolChoiceShell struct{…}` - - Forces the model to call the shell tool when a tool call is required. - - - `Type Shell` - - The tool to call. Always `shell`. - - - `const ShellShell Shell = "shell"` - - - `Tools []ToolUnion` - - An array of tools the model may call while generating a response. You - can specify which tool to use by setting the `tool_choice` parameter. - - We support the following categories of tools: - - - **Built-in tools**: Tools that are provided by OpenAI that extend the - model's capabilities, like [web search](https://platform.openai.com/docs/guides/tools-web-search) - or [file search](https://platform.openai.com/docs/guides/tools-file-search). Learn more about - [built-in tools](https://platform.openai.com/docs/guides/tools). - - **MCP Tools**: Integrations with third-party systems via custom MCP servers - or predefined connectors such as Google Drive and SharePoint. Learn more about - [MCP Tools](https://platform.openai.com/docs/guides/tools-connectors-mcp). - - **Function calls (custom tools)**: Functions that are defined by you, - enabling the model to call your own code with strongly typed arguments - and outputs. Learn more about - [function calling](https://platform.openai.com/docs/guides/function-calling). You can also use - custom tools to call your own code. - - - `type FunctionTool struct{…}` - - Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). - - - `type FileSearchTool struct{…}` - - A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). - - - `type ComputerTool struct{…}` - - A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use). - - - `type ComputerUsePreviewTool struct{…}` - - A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use). - - - `type WebSearchTool struct{…}` - - Search the Internet for sources related to the prompt. Learn more about the - [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - - `type ToolMcp struct{…}` - - Give the model access to additional tools via remote Model Context Protocol - (MCP) servers. [Learn more about MCP](https://platform.openai.com/docs/guides/tools-remote-mcp). - - - `type ToolCodeInterpreter struct{…}` - - A tool that runs Python code to help generate a response to a prompt. - - - `type ToolImageGeneration struct{…}` - - A tool that generates images using the GPT image models. - - - `type ToolLocalShell struct{…}` - - A tool that allows the model to execute shell commands in a local environment. - - - `type FunctionShellTool struct{…}` - - A tool that allows the model to execute shell commands. - - - `type CustomTool struct{…}` - - A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) - - - `type NamespaceTool struct{…}` - - Groups function/custom tools under a shared namespace. - - - `type ToolSearchTool struct{…}` - - Hosted or BYOT tool search configuration for deferred tools. - - - `type WebSearchPreviewTool struct{…}` - - This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). - - - `type ApplyPatchTool struct{…}` - - Allows the assistant to create, delete, or update files using unified diffs. - - - `TopP float64` - - An alternative to sampling with temperature, called nucleus sampling, - where the model considers the results of the tokens with top_p probability - mass. So 0.1 means only the tokens comprising the top 10% probability mass - are considered. - - We generally recommend altering this or `temperature` but not both. - - - `Background bool` - - Whether to run the model response in the background. - [Learn more](https://platform.openai.com/docs/guides/background). - - - `CompletedAt float64` - - Unix timestamp (in seconds) of when this Response was completed. - Only present when the status is `completed`. - - - `Conversation ResponseConversation` - - The conversation that this response belonged to. Input items and output items from this response were automatically added to this conversation. - - - `ID string` - - The unique ID of the conversation that this response was associated with. - - - `MaxOutputTokens int64` - - An upper bound for the number of tokens that can be generated for a response, including visible output tokens and [reasoning tokens](https://platform.openai.com/docs/guides/reasoning). - - - `MaxToolCalls int64` - - The maximum number of total calls to built-in tools that can be processed in a response. This maximum number applies across all built-in tool calls, not per individual tool. Any further attempts to call a tool by the model will be ignored. - - - `PreviousResponseID string` - - The unique ID of the previous response to the model. Use this to - create multi-turn conversations. Learn more about - [conversation state](https://platform.openai.com/docs/guides/conversation-state). Cannot be used in conjunction with `conversation`. - - - `Prompt ResponsePrompt` - - Reference to a prompt template and its variables. - [Learn more](https://platform.openai.com/docs/guides/text?api-mode=responses#reusable-prompts). - - - `ID string` - - The unique identifier of the prompt template to use. - - - `Variables map[string, ResponsePromptVariableUnion]` - - Optional map of values to substitute in for variables in your - prompt. The substitution values can either be strings, or other - Response input types like images or files. - - - `string` - - - `type ResponseInputText struct{…}` - - A text input to the model. - - - `type ResponseInputImage struct{…}` - - An image input to the model. Learn about [image inputs](https://platform.openai.com/docs/guides/vision). - - - `type ResponseInputFile struct{…}` - - A file input to the model. - - - `Version string` - - Optional version of the prompt template. - - - `PromptCacheKey string` - - Used by OpenAI to cache responses for similar requests to optimize your cache hit rates. Replaces the `user` field. [Learn more](https://platform.openai.com/docs/guides/prompt-caching). - - - `PromptCacheRetention ResponsePromptCacheRetention` - - The retention policy for the prompt cache. Set to `24h` to enable extended prompt caching, which keeps cached prefixes active for longer, up to a maximum of 24 hours. [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention). - - - `const ResponsePromptCacheRetentionInMemory ResponsePromptCacheRetention = "in_memory"` - - - `const ResponsePromptCacheRetention24h ResponsePromptCacheRetention = "24h"` - - - `Reasoning Reasoning` - - **gpt-5 and o-series models only** - - Configuration options for - [reasoning models](https://platform.openai.com/docs/guides/reasoning). - - - `Effort ReasoningEffort` - - Constrains effort on reasoning for - [reasoning models](https://platform.openai.com/docs/guides/reasoning). - Currently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing - reasoning effort can result in faster responses and fewer tokens used - on reasoning in a response. - - - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool calls are supported for all reasoning values in gpt-5.1. - - All models before `gpt-5.1` default to `medium` reasoning effort, and do not support `none`. - - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort. - - `xhigh` is supported for all models after `gpt-5.1-codex-max`. - - - `const ReasoningEffortNone ReasoningEffort = "none"` - - - `const ReasoningEffortMinimal ReasoningEffort = "minimal"` - - - `const ReasoningEffortLow ReasoningEffort = "low"` - - - `const ReasoningEffortMedium ReasoningEffort = "medium"` - - - `const ReasoningEffortHigh ReasoningEffort = "high"` - - - `const ReasoningEffortXhigh ReasoningEffort = "xhigh"` - - - `GenerateSummary ReasoningGenerateSummary` - - **Deprecated:** use `summary` instead. - - A summary of the reasoning performed by the model. This can be - useful for debugging and understanding the model's reasoning process. - One of `auto`, `concise`, or `detailed`. - - - `const ReasoningGenerateSummaryAuto ReasoningGenerateSummary = "auto"` - - - `const ReasoningGenerateSummaryConcise ReasoningGenerateSummary = "concise"` - - - `const ReasoningGenerateSummaryDetailed ReasoningGenerateSummary = "detailed"` - - - `Summary ReasoningSummary` - - A summary of the reasoning performed by the model. This can be - useful for debugging and understanding the model's reasoning process. - One of `auto`, `concise`, or `detailed`. - - `concise` is supported for `computer-use-preview` models and all reasoning models after `gpt-5`. - - - `const ReasoningSummaryAuto ReasoningSummary = "auto"` - - - `const ReasoningSummaryConcise ReasoningSummary = "concise"` - - - `const ReasoningSummaryDetailed ReasoningSummary = "detailed"` - - - `SafetyIdentifier string` - - A stable identifier used to help detect users of your application that may be violating OpenAI's usage policies. - The IDs should be a string that uniquely identifies each user, with a maximum length of 64 characters. We recommend hashing their username or email address, in order to avoid sending us any identifying information. [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#safety-identifiers). - - - `ServiceTier ResponseServiceTier` - - Specifies the processing type used for serving the request. - - - If set to 'auto', then the request will be processed with the service tier configured in the Project settings. Unless otherwise configured, the Project will use 'default'. - - If set to 'default', then the request will be processed with the standard pricing and performance for the selected model. - - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or '[priority](https://openai.com/api-priority-processing/)', then the request will be processed with the corresponding service tier. - - When not set, the default behavior is 'auto'. - - When the `service_tier` parameter is set, the response body will include the `service_tier` value based on the processing mode actually used to serve the request. This response value may be different from the value set in the parameter. - - - `const ResponseServiceTierAuto ResponseServiceTier = "auto"` - - - `const ResponseServiceTierDefault ResponseServiceTier = "default"` - - - `const ResponseServiceTierFlex ResponseServiceTier = "flex"` - - - `const ResponseServiceTierScale ResponseServiceTier = "scale"` - - - `const ResponseServiceTierPriority ResponseServiceTier = "priority"` - - - `Status ResponseStatus` - - The status of the response generation. One of `completed`, `failed`, - `in_progress`, `cancelled`, `queued`, or `incomplete`. - - - `const ResponseStatusCompleted ResponseStatus = "completed"` - - - `const ResponseStatusFailed ResponseStatus = "failed"` - - - `const ResponseStatusInProgress ResponseStatus = "in_progress"` - - - `const ResponseStatusCancelled ResponseStatus = "cancelled"` - - - `const ResponseStatusQueued ResponseStatus = "queued"` - - - `const ResponseStatusIncomplete ResponseStatus = "incomplete"` - - - `Text ResponseTextConfig` - - Configuration options for a text response from the model. Can be plain - text or structured JSON data. Learn more: - - - [Text inputs and outputs](https://platform.openai.com/docs/guides/text) - - [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs) - - - `Format ResponseFormatTextConfigUnion` - - An object specifying the format that the model must output. - - Configuring `{ "type": "json_schema" }` enables Structured Outputs, - which ensures the model will match your supplied JSON schema. Learn more in the - [Structured Outputs guide](https://platform.openai.com/docs/guides/structured-outputs). - - The default format is `{ "type": "text" }` with no additional options. - - **Not recommended for gpt-4o and newer models:** - - Setting to `{ "type": "json_object" }` enables the older JSON mode, which - ensures the message the model generates is valid JSON. Using `json_schema` - is preferred for models that support it. - - - `type ResponseFormatText struct{…}` - - Default response format. Used to generate text responses. - - - `Type Text` - - The type of response format being defined. Always `text`. - - - `const TextText Text = "text"` - - - `type ResponseFormatTextJSONSchemaConfig struct{…}` - - JSON Schema response format. Used to generate structured JSON responses. - Learn more about [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs). - - - `Name string` - - The name of the response format. Must be a-z, A-Z, 0-9, or contain - underscores and dashes, with a maximum length of 64. - - - `Schema map[string, any]` - - The schema for the response format, described as a JSON Schema object. - Learn how to build JSON schemas [here](https://json-schema.org/). - - - `Type JSONSchema` - - The type of response format being defined. Always `json_schema`. - - - `const JSONSchemaJSONSchema JSONSchema = "json_schema"` - - - `Description string` - - A description of what the response format is for, used by the model to - determine how to respond in the format. - - - `Strict bool` - - Whether to enable strict schema adherence when generating the output. - If set to true, the model will always follow the exact schema defined - in the `schema` field. Only a subset of JSON Schema is supported when - `strict` is `true`. To learn more, read the [Structured Outputs - guide](https://platform.openai.com/docs/guides/structured-outputs). - - - `type ResponseFormatJSONObject struct{…}` - - JSON object response format. An older method of generating JSON responses. - Using `json_schema` is recommended for models that support it. Note that the - model will not generate JSON without a system or user message instructing it - to do so. - - - `Type JSONObject` - - The type of response format being defined. Always `json_object`. - - - `const JSONObjectJSONObject JSONObject = "json_object"` - - - `Verbosity ResponseTextConfigVerbosity` - - Constrains the verbosity of the model's response. Lower values will result in - more concise responses, while higher values will result in more verbose responses. - Currently supported values are `low`, `medium`, and `high`. - - - `const ResponseTextConfigVerbosityLow ResponseTextConfigVerbosity = "low"` - - - `const ResponseTextConfigVerbosityMedium ResponseTextConfigVerbosity = "medium"` - - - `const ResponseTextConfigVerbosityHigh ResponseTextConfigVerbosity = "high"` - - - `TopLogprobs int64` - - An integer between 0 and 20 specifying the maximum number of most likely - tokens to return at each token position, each with an associated log - probability. In some cases, the number of returned tokens may be fewer than - requested. - - - `Truncation ResponseTruncation` - - The truncation strategy to use for the model response. - - - `auto`: If the input to this Response exceeds - the model's context window size, the model will truncate the - response to fit the context window by dropping items from the beginning of the conversation. - - `disabled` (default): If the input size will exceed the context window - size for a model, the request will fail with a 400 error. - - - `const ResponseTruncationAuto ResponseTruncation = "auto"` - - - `const ResponseTruncationDisabled ResponseTruncation = "disabled"` - - - `Usage ResponseUsage` - - Represents token usage details including input tokens, output tokens, - a breakdown of output tokens, and the total tokens used. - - - `InputTokens int64` - - The number of input tokens. - - - `InputTokensDetails ResponseUsageInputTokensDetails` - - A detailed breakdown of the input tokens. - - - `CachedTokens int64` - - The number of tokens that were retrieved from the cache. - [More on prompt caching](https://platform.openai.com/docs/guides/prompt-caching). - - - `OutputTokens int64` - - The number of output tokens. - - - `OutputTokensDetails ResponseUsageOutputTokensDetails` - - A detailed breakdown of the output tokens. - - - `ReasoningTokens int64` - - The number of reasoning tokens. - - - `TotalTokens int64` - - The total number of tokens used. - - - `User string` - - This field is being replaced by `safety_identifier` and `prompt_cache_key`. Use `prompt_cache_key` instead to maintain caching optimizations. - A stable identifier for your end-users. - Used to boost cache hit rates by better bucketing similar requests and to help OpenAI detect and prevent abuse. [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#safety-identifiers). - -### Example - -```go -package main - -import ( - "context" - "fmt" - - "github.com/openai/openai-go" - "github.com/openai/openai-go/option" - "github.com/openai/openai-go/responses" -) - -func main() { - client := openai.NewClient( - option.WithAPIKey("My API Key"), - ) - response, err := client.Responses.New(context.TODO(), responses.ResponseNewParams{ - - }) - if err != nil { - panic(err.Error()) - } - fmt.Printf("%+v\n", response.ID) -} -``` - -#### Response - -```json -{ - "id": "id", - "created_at": 0, - "error": { - "code": "server_error", - "message": "message" - }, - "incomplete_details": { - "reason": "max_output_tokens" - }, - "instructions": "string", - "metadata": { - "foo": "string" - }, - "model": "gpt-5.1", - "object": "response", - "output": [ - { - "id": "id", - "content": [ - { - "annotations": [ - { - "file_id": "file_id", - "filename": "filename", - "index": 0, - "type": "file_citation" - } - ], - "text": "text", - "type": "output_text", - "logprobs": [ - { - "token": "token", - "bytes": [ - 0 - ], - "logprob": 0, - "top_logprobs": [ - { - "token": "token", - "bytes": [ - 0 - ], - "logprob": 0 - } - ] - } - ] - } - ], - "role": "assistant", - "status": "in_progress", - "type": "message", - "phase": "commentary" - } - ], - "parallel_tool_calls": true, - "temperature": 1, - "tool_choice": "none", - "tools": [ - { - "name": "name", - "parameters": { - "foo": "bar" - }, - "strict": true, - "type": "function", - "defer_loading": true, - "description": "description" - } - ], - "top_p": 1, - "background": true, - "completed_at": 0, - "conversation": { - "id": "id" - }, - "max_output_tokens": 0, - "max_tool_calls": 0, - "output_text": "output_text", - "previous_response_id": "previous_response_id", - "prompt": { - "id": "id", - "variables": { - "foo": "string" - }, - "version": "version" - }, - "prompt_cache_key": "prompt-cache-key-1234", - "prompt_cache_retention": "in_memory", - "reasoning": { - "effort": "none", - "generate_summary": "auto", - "summary": "auto" - }, - "safety_identifier": "safety-identifier-1234", - "service_tier": "auto", - "status": "completed", - "text": { - "format": { - "type": "text" - }, - "verbosity": "low" - }, - "top_logprobs": 0, - "truncation": "auto", - "usage": { - "input_tokens": 0, - "input_tokens_details": { - "cached_tokens": 0 - }, - "output_tokens": 0, - "output_tokens_details": { - "reasoning_tokens": 0 - }, - "total_tokens": 0 - }, - "user": "user-1234" -} -```