Skip to main content
Put an image or a PDF into a chat message and the model can read it. It’s the same messages array, with a richer content field — no separate endpoint. Vision and PDF are model capabilities, so you send the media to a regular chat model that supports them. Not every model does. Filter the catalog by capability — or call GET /v3/models?capability=vision (images) or ?capability=pdf (documents) — to find ones that accept each. The Claude, Gemini, and GPT families support both.

Images

Two ways to send an image: a hosted URL or inline base64.
Use the URL form when the image is already on the web. Use base64 for local files or anything not publicly reachable.

PDFs

PDFs work the same way. The model reads both the text and any embedded images (charts, diagrams, scanned pages).
Python

Free text or structured output

Add response_format when you want typed JSON out of an image or PDF. Leave it off when the model just needs to talk about the media.

What’s next

Structured output

Multimodal input with typed JSON output.

Conversations

Multi-turn chat. Works with image and PDF messages too.

Models

Which models accept which input types.