openai.internal._lower_block

(internal) One content block at `position` -> its typed input part. The Responses API's input modalities, per position:

Reference version

Signature

function openai.internal._lower_block(
block: ai.content.Block,
position: string,
preview: bool = …
) -> openai.internal.OaInputPart throws baml.errors.InvalidArgument | baml.errors.Io | baml.errors.Timeout | ai.errors.Failure

(internal) One content block at position -> its typed input part. The Responses API's input modalities, per position:

position | text | image | pdf | audio | video system | Accept | Accept | Reject | Reject | Reject user | Accept | Accept | Accept | Accept | Reject assistant | Accept | Reject | Reject | Reject | Reject tool_result | Accept | Accept | Accept | Degrade | Reject

An image in a system message is kept for compatibility: the legacy lowering accepted image parts in the system message a role-less prompt produced. function_call_output.output takes text, image and file parts but no audio, so audio in a tool result degrades into a user turn after the run of results (lower_journal). There is no video input part at all.

Source:<builtin>/openai/ns_internal/responses.bamlbytes 1174415834