Skip to main content
The Responses API accepts text, images, audio, and files in a single request. Use structured input with content arrays to combine modalities.

Supported input types

Image input

Send an image for the model to describe, analyze, or answer questions about. Provide the image as a URL, a base64 data URI, or a previously uploaded file_id.

Image via URL

Image via base64

Encode the image as a data URI with the appropriate MIME type.

Image via file_id

Upload an image with the Files API first, then reference it by ID.

Audio input

Send audio for the model to process. The audio is automatically transcribed and the model responds to the spoken content. Supported formats: WAV and MP3 (max 25 MB).
The model automatically transcribes the audio and responds to the spoken content. For example, sending a WAV file containing “Hello, how are you today?” returns:

Document input

Send documents for the model to read and reason over. PDF and scanned documents are automatically processed with OCR — no extra configuration needed.

Document via URL

Document via base64

Encode the file as a data URI. Include the MIME type so the API can route it to the correct processor.

Scanned documents and OCR

Scanned PDFs and images of documents are processed automatically. The API uses OCR to extract text from:
  • Scanned PDF pages (converted to images at 150 DPI, then OCR’d)
  • Photos of documents (JPEG, PNG, TIFF)
  • Office files (DOCX, XLSX, PPTX — converted to PDF first, then OCR’d)
Multi-page documents are processed in parallel. The extracted text is returned as Markdown and passed to the model for reasoning. No special parameters are needed — just send the file as input_file and the pipeline handles detection, conversion, and OCR.

Supported document formats

Size limit: 30 MB per file.

Mixed input

Combine multiple content types in a single message. The model sees all inputs together and can reason across them.

Next steps