---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/llm/openai_responses/types/type-aliases/OpenAIResponsesInputContentBlock.md
description: >-
  Discriminated union of content block shapes accepted by the OpenAI Responses
  `input` item content array (and, per the API reference, also the shape a
  `function_call_output.output` array entry may take).
---

# Type Alias: OpenAIResponsesInputContentBlock

```ts
type OpenAIResponsesInputContentBlock =
  | {
      text: string;
      type: "input_text";
    }
  | {
      detail: "low" | "high" | "auto" | "original";
      file_id?: string;
      image_url?: string;
      type: "input_image";
    }
  | {
      detail?: "low" | "high";
      file_data?: string;
      file_id?: string;
      file_url?: string;
      filename?: string;
      type: "input_file";
    };
```

Defined in: [src/batteries/llm/openai\_responses/types.ts:78](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/llm/openai_responses/types.ts#L78)

Discriminated union of content block shapes accepted by the OpenAI Responses `input` item
content array (and, per the API reference, also the shape a `function_call_output.output` array
entry may take).

## Remarks

`input_audio` is deliberately absent — confirmed against the `openai` SDK's own type definitions
(`ResponseInputContent` has no audio member). Audio media routes through `unsupportedMediaPolicy`,
unlike `openai_chat_completions`.

`input_file.file_data` uses a full `data:<mime>;base64,<b64>` data URI (not bare base64) —
confirmed via a live probe against the real Responses API (see the battery's design notes).
`filename` is required alongside `file_data`.
