How it works
Instead of passing a single document URL, you pass a list:- Parses all documents in parallel
- Combines the parsed content into a single context
- Runs extraction once across the combined content
- Returns parse results as an array (one per document) and extract as a single result
Understanding the response
The key difference from single-document pipelines is thatresult.parse becomes an array:
When to use multi-document pipelines
Multi-document pipelines work best when your documents are related and the extraction benefits from seeing them together:| Good use cases | Why it works |
|---|---|
| Contract with exhibits split into separate PDFs | Extract can reference terms from main contract when processing exhibits |
| Multi-page report scanned as individual files | Reassemble logical document from physical pages |
| Application with supporting documents | Extract can cross-reference between application form and attachments |
Schema design matters
Because extraction runs once across combined content, your schema determines what you get back. Consider three invoices with amounts 2,000, and $3,000: Singular field schema:{"total_amount": 1000} β picks one value, not a sum
Aggregate field schema:
{"total_spend": 6000} β LLM computes the aggregate
Array field schema:
{"invoices": [{"invoice_number": "A001", "amount": 1000}, ...]} β extracts from each
The LLM sees all documents together, so it can answer questions that span them. But you need to design your schema to ask the right questions.
Requirements and limitations
Requirements:- Pipeline must include an Extract step
- At least one document required
- All documents must be accessible URLs or uploaded files
- Split is not supported with multi-document pipelines
- Only one Extract step is supported
- Edit pipelines donβt support multi-document input
Credits
Multi-document pipelines bill for:- Parse credits for each document (based on page count)
- Extract credits once for the combined extraction