Documents
Uploading PDFs
How PDF files enter the system and become searchable, citable documents.
Supported files
- Text-based PDFs and scanned PDFs — both are accepted.
- Files must be 25 MiB or smaller and no more than 100 pages.
- Research papers, contracts, manuals, financial reports, and other long-form documents.
Every PDF is OCR'd
Unlike many PDF tools, ChatPDF does not read embedded text directly. All uploads — including text-based PDFs — are processed through Mistral OCR 4. This keeps one consistent extraction path for scanned and native PDFs.
Processing states
After upload, a background Convex action runs the full pipeline. The document status moves from uploaded to processing to ready — or failed if it cannot complete.
- 01UploadThe file is stored in Convex file storage and connected to a document record.
- 02OCRMistral OCR 4 extracts page markdown from the PDF.
- 03ChunkStructure-aware retrieval chunks retain OCR and Markdown units with exact page spans. See the retrieval pipeline for boundary and overlap rules.
- 04Embed & summarizeChunks are embedded (1536-dim), and per-page plus document summaries are generated.
- 05ReadyThe document can be selected for grounded chat and citation lookup.
Rendering diagram…
Failure handling
Transient errors (timeouts, rate limits, 5xx responses) are retried automatically — up to three attempts with 15s and 60s backoff. Persistent failures stop the pipeline and surface an error on the document.
First places to check
If a document lands in
failed, verify service credentials: the Convex deployment, Clerk keys, OpenAI key, and Mistral API key are the most common causes.