call_id: str

The call ID, used to map this custom tool call output to a custom tool call.

output: Union[str, List[OutputOutputContentList]]

The output from the custom tool call generated by your code. Can be a string or an list of output content.

One of the following:
str

A string of the output of the custom tool call.

List[OutputOutputContentList]

Text, image, or file output of the custom tool call.

One of the following:
class BetaResponseInputText: …

A text input to the model.

text: str

The text input to the model.

type: Literal["input_text"]

The type of the input item. Always input_text.

prompt_cache_breakpoint: Optional[PromptCacheBreakpoint]

Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request’s prompt_cache_options.ttl; the boundary is not rounded to a token block.

mode: Literal["explicit"]

The breakpoint mode. Always explicit.

class BetaResponseInputImage: …

An image input to the model. Learn about image inputs.

The detail level of the image to be sent to the model. One of high, low, auto, or original. Defaults to auto.

type: Literal["input_image"]

The type of the input item. Always input_image.

file_id: Optional[str]

The ID of the file to be sent to the model.

image_url: Optional[str]

The URL of the image to be sent to the model. A fully qualified URL or base64 encoded image in a data URL.

formaturi
prompt_cache_breakpoint: Optional[PromptCacheBreakpoint]

Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request’s prompt_cache_options.ttl; the boundary is not rounded to a token block.

mode: Literal["explicit"]

The breakpoint mode. Always explicit.

class BetaResponseInputFile: …

A file input to the model.

type: Literal["input_file"]

The type of the input item. Always input_file.

detail: Optional[Literal["auto", "low", "high"]]

The detail level of the file to be sent to the model. Use auto to let the system select the detail level; for GPT-5.6 and later models, auto uses high-quality rendering, which may increase input token usage. Use low for lower-cost rendering, or high to render the file at higher quality. Defaults to auto.

One of the following:
"auto"
"low"
"high"
file_data: Optional[str]

The content of the file to be sent to the model.

file_id: Optional[str]

The ID of the file to be sent to the model.

file_url: Optional[str]

The URL of the file to be sent to the model.

formaturi
filename: Optional[str]

The name of the file to be sent to the model.

prompt_cache_breakpoint: Optional[PromptCacheBreakpoint]

Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL from the request’s prompt_cache_options.ttl; the boundary is not rounded to a token block.

mode: Literal["explicit"]

The breakpoint mode. Always explicit.

type: Literal["custom_tool_call_output"]

The type of the custom tool call output. Always custom_tool_call_output.

id: Optional[str]

The unique ID of the custom tool call output in the OpenAI platform.

agent: Optional[Agent]

The agent that produced this item.

agent_name: str

The canonical name of the agent that produced this item.

caller: Optional[Caller]

The execution context that produced this tool call.

One of the following:
class CallerDirect: …
type: Literal["direct"]

The caller type. Always direct.

class CallerProgram: …
caller_id: str

The call ID of the program item that produced this tool call.

minLength1
maxLength64
type: Literal["program"]

The caller type. Always program.