LiteParse reads the file locally in milliseconds. Jev then answers one question per field to find the chunk that holds the value, one more to pick the span from typed candidates, and, for free text only, one to trim it to the exact words. No generation, no parsing, no retries.
jextract turns a PDF into the fields you ask for. You describe the fields once as a taxonomy; it finds each value on the page and tells you how sure it is. Nothing is generated, so every value is text that exists in the document.
On the sample invoice, twelve fields took 813ms and cost $0.00055 across 3 Jev requests. Documents are processed in memory and never stored.
Drop a text PDF of up to 8 MB and 40 pages, or open one of the four samples. Tick OCR for scanned pages; it runs locally and takes seconds instead of milliseconds.
Start from a preset (invoice, contract, résumé, purchase order) or edit its fields. Each field has a name, a one-sentence description and one of ten types.
LiteParse parses the PDF locally, then Jev answers where each field lives and which span is its value. Free-text fields get one more question that trims the span to the exact words.
Every field comes back with its value, a confidence, the page and the box it was read from. Copy or download the JSON, or share a link to the run.
The text as printed, a normalised value (ISO dates, numbers for amounts), a confidence, the page and bounding box, the top candidates with their probabilities, and a status: found, low confidence or absent.
If no chunk holds a value, Jev puts its probability on none and the field is reported as absent rather than guessed. The candidates list shows what was offered, so a wrong pick is easy to spot.
The same extraction is one multipart request to POST /api/extract with the file and a taxonomy. See the API tab above, the curl guide and the architecture.