Search the documentation

Pick a page and open it with Enter.

Vision Upload

Look at uploaded image files (multipart).

POST/api/v1/vision/upload

Raw image files — the path for a frontend with a file picker. multipart/form-data, nothing is stored persistently.

Form fields

filesfile[] · multipartrequired

One or more images.

questionstring

Optional text field.

detaillow | high | original | auto

Optional text field.

Example request

bash
curl -X POST http://localhost:8000/api/v1/vision/upload \
  -F "files=@screenshot.png" \
  -F "question=What is in the image?" \
  -F "detail=high"

Response

json
{
  "answer": "A login form with email and password fields and a blue sign-in button.",
  "model": "deepseek-v4-flash-vision-exp",
  "images": [
    {
      "source": "uploaded file",
      "media_type": "image/png",
      "bytes": 48213,
      "inlined": true
    }
  ]
}

Uploaded bytes are always embedded → inlined=true.

200

Description generated.

422

Invalid format or file too large.