File and request limits
Maximum file size, page counts, and accepted formats for Parse, Extract, Classify, Split, Index and Batches, Parse timeouts, and the per-request caps on schemas, rules, categories, metadata, webhooks, usage tags and list sizes.
Every limit here is a maximum, not a guaranteed minimum, and values can change. For requests-per-second caps see Rate limits; for credits, storage and directory quotas see Billing. To raise a limit, contact support@runllama.ai.
File size and pages
Section titled “File size and pages”| Product | Maximum file size | Pages | Formats |
|---|---|---|---|
| Parse | 512 MB | No cap; limit with page_ranges.target_pages or max_pages | 130+ document, image, spreadsheet, and audio formats (full list) |
| Extract | 100 MB | 500 per job; target_pages, max_pages | As Parse |
| Classify | 512 MB | No cap; parsing_configuration.target_pages, max_pages | As Parse |
| Split | 512 MB | No cap; min_pages_per_split ≥ 1 | PDF, DOCX, PPTX |
| Index | As Parse | Per plan (plans) | As Parse; files, data sources, and embedding models per plan |
| Batches | As the product run | As the product run | 10,000 source files per batch |
Two per-page limits apply inside Parse: the 35 largest images on a page are extracted, and text beyond 64 KB per page is dropped. Neither raises an error. Audio is billed per minute and spreadsheets per sheet rather than per page (Pricing).
A file over the size limit is refused at submission: 413 Payload Too Large, 400 "File size (... MB) exceeds the maximum allowed size of ... MB.", or, for Extract, 413 "File size limit exceeded. Try uploading a smaller file (< 100 MB).". A file that is accepted but too heavy to
process fails the job with DOCUMENT_TOO_LARGE or PROCESSING_SIZE_LIMIT_EXCEEDED.
Parse timeouts
Section titled “Parse timeouts”A Parse job’s timeout is base_in_seconds + extra_time_per_page_in_seconds × page count, set
under processing_control.timeouts. The base is capped at 7,200 seconds (2 hours) and the per-page
extra at 300 seconds (5 minutes). A job that runs over fails with TIMEOUT, or JOB_EXPIRE when it
exceeds a timeout you set.
{ "processing_control": { "timeouts": { "base_in_seconds": 300, "extra_time_per_page_in_seconds": 30 } } }Working with large files
Section titled “Working with large files”- Process only the pages you need with
target_pages("1,3,7-12", 1-based) ormax_pages; Parse, Extract, and Classify all take them. It cuts credits as well as time. - Split first, then Extract a long document section by section (example).
- Pick a faster tier for very large or image-heavy files, and raise the timeout if a job runs close to the cap. For a directory of files, submit one batch.
Request limits
Section titled “Request limits”| Product | Field | Limit |
|---|---|---|
| Parse | user_metadata | 8 key/value pairs, 24-character keys, 64-character values, 512 bytes total |
| Extract | Schema | 5,000 properties, 7 nesting levels, 120,000 characters of combined strings, 150,000 characters of raw JSON (schema restrictions) |
| Classify | Rules | At least 1; type 1–50 characters (alphanumeric, space, hyphen, underscore); description 10–2,000 characters |
| Split | Categories | 1–50 per job; name 1–200 characters; description up to 2,000; custom instructions up to 5,000 |
| Index | Retrieval top_k | Up to 500 |
| Batches | Source files | 10,000 per batch, all in one directory; parse_v2 or extract_v2; Pro and Enterprise plans |
| Any job | Webhooks | 4 saved webhook_configuration_ids per request; 10 endpoints per job including inline webhook_configurations (delivery limits) |
| Any request | Usage-Tags header | 4 tags of up to 64 characters each, else 422; Enterprise, Parse v2 and Extract v2 (Usage tags) |
| Files, directories, projects, organizations | Name | 3,000 characters |
| Directories | Bulk delete | 100 files per call |
| Directories | Count and size | Per plan: directories per project and files per directory (directory limits) |
| List endpoints | limit / page_size | Up to 1,000 per page; Classify job list up to 100 |