Guide
Files and PDFs
What you can attach, and what is rejected.
On a chat turn
- 4 images, 10 MB each.
- 4 PDFs, 10 MB each, 25 MB together.
- The declared type must match the bytes. An executable renamed to look like an image or a PDF is refused.
- A PDF with scripts, a launch action, or an embedded file is refused.
- Text pages are read locally. A page with little text is treated as a drawing and rasterised to one JPEG before a vision read.
The attachment object is {type, name, mime, data} where data is a base64 data URL and type is image or pdf. content may stay a string. The same object is accepted by chat and by POST /api/v1/chat/completions. Details are on Attachments.
Word, text, and spreadsheets
Those types are PDF, Word, text, Markdown, CSV, and Excel. They are behind the server switch HAWKEYE_DOCS_ENABLED. Unset means off. The code comment says staging pins it on and production pins it off. PDFs and images on a chat turn still work when the switch is off. Other types are refused.
The document switch is on for this process.
- The dedicated upload route accepts 8 MB.
- An inline chat file is at most 10 MB, and the files on one turn are at most 25 MB.
- Extraction keeps at most 30 pages and 40,000 characters.
Partner uploads
POST /api/partner/v1/files accepts JPEG, PNG, GIF, WebP, and PDF only, up to 8 MB. The key needs the files scope (also accepted as file-upload). xAI and Gemini are not used to read these files. They stay on image and video generation.