1. Use Variable Chunking for RAG
The default chunking mode (disabled) returns the entire document as one chunk. For RAG applications you need smaller chunks that can be embedded and retrieved independently.
Variable chunking splits at semantic boundaries like section headers, tables, and figures, keeping related content together while creating chunks sized for embedding models.
embed field contains table and figure summaries as natural language, which embeds better than raw Markdown tables. The content field preserves the original formatting for display.
2. Augment r-1 Only for Customized Processing
r-1 handles handwriting, difficult scans, complex tables, figures, and page layouts natively. It is not necessary to enable agentic processing as a general accuracy upgrade. Add agentic processing when your workflow needs:- A text-scoped custom prompt for form regions
- A table-scoped custom prompt for domain-specific representation
- A figure-scoped custom prompt for a use-case-specific description
- The advanced chart agent for structured numerical extraction
3. Set Priority for Async Requests
Parse has sync (/parse) and async (/parse_async) endpoints.
Async requests without priority: true enter a queue and may experience delays during high traffic. If you’re using async for latency-sensitive requests (user-facing features, real-time processing), always set priority.
4. Use HTML for Complex Tables
The default table format (dynamic) auto-selects HTML or Markdown based on complexity. For documents with complex tables (merged cells, nested headers, multi-row cells), explicitly request HTML.
json format instead.
5. Filter Headers and Footers for RAG
Page headers, footers, and page numbers add noise to RAG retrieval. When a user asks about invoice totals, you don’t want to retrieve chunks containing “Page 1 of 5” or “Confidential - Do Not Distribute”.chunks[].blocks metadata (so you can access them if needed), but they’re excluded from content and embed fields.
Common Pitfalls
Requests taking too long
Requests taking too long
If you’re using agentic mode, it adds latency since it runs an LLM pass over the output. Disable it and only enable for document types that actually need correction. For async calls, make sure you have
priority: true set.RAG retrieval quality is poor
RAG retrieval quality is poor
Check your chunking. If you’re using
disabled (default), the entire document is one chunk. Switch to variable for semantic chunking.Tables render incorrectly
Tables render incorrectly
Switch from
dynamic to html format. Markdown can’t handle merged cells.Async jobs are slow even for small docs
Async jobs are slow even for small docs
You forgot to set
priority: true. Without it, jobs enter a queue.Document fails with 'corrupted' or 'invalid' error
Document fails with 'corrupted' or 'invalid' error
The PDF file may be malformed or use unsupported encryption. Try opening the file in a PDF viewer to verify it’s valid. If the file opens but Reducto fails, the PDF may use non-standard formatting. Re-save it using a tool like Adobe Acrobat or a PDF printer, then retry.
Configuration Reference
For complete details on all options mentioned above, see the dedicated configuration pages:Chunking Methods
All chunking modes and their use cases.
Agentic Mode
When and how to use LLM-assisted parsing.
Table Formats
HTML, Markdown, JSON, CSV options.
Configuration Overview
Full reference of all configuration options.
Related
Parse Overview
Quick start and basic usage.
Response Format
Understanding chunks, blocks, and bounding boxes.