Your extraction pipeline,
fully under your control.

Define schemas, classify documents, split and chain operations — all from a single platform. Build, test and deploy with full visibility.

Matil platform
Define

Design your data model,
teach the AI what to look for.

Create custom schemas and classifiers without writing ML code. Define the fields you need, the categories that matter, and let the platform handle the rest.

Schema editor

Define exactly what data to extract with a custom schema. Specify field names, types, and descriptions — receive structured JSON matching your definition.

invoice-schema.json
{
"name":"invoice",
"fields":[
{"key":"vendor","type":"string"},
{"key":"total","type":"number"},
{"key":"date","type":"date"},
{"key":"line_items","type":"array"}
]
}

Classifier builder

Create document categories with just a label and a short description. The AI learns to sort incoming documents by type automatically.

InvoiceContains totals, tax IDs and line items
ContractLegal agreements with clauses and signatures
PayrollSalary breakdowns and contribution bases
ID DocumentPersonal identification with photo and number
Process

Split, chain, and orchestrate
complex document workflows.

Handle multi-document PDFs and build processing pipelines that combine classification, partitioning and extraction into a single flow.

Partitioner

Upload a PDF containing multiple documents and get each one separated automatically. Page-level detection identifies where each document starts and ends.

36 pp
Invoice #2341pp. 1–3
Invoice #2342pp. 4–7
Invoice #2343pp. 8–10

Composer

Chain multiple operations into a single pipeline. Classify first, then route each category to its own extraction schema — all in one API call.

Classify
Invoice
Extract
Contract
Split
Run

One API,
three ways to process.

Choose the processing mode that fits your use case. From real-time single documents to bulk batch jobs — same API, different throughput.

View API reference

Normal

Synchronous processing. Send a document, get structured data back instantly. Ideal for real-time integrations.

{ "vendor": "..." }
200 OK · 1.2s

Async

Asynchronous with webhook callback. Submit the document and receive results via webhook when ready.

{ "job_id": "abc-123" }
200 OK · webhook

Batch

Bulk processing. Submit hundreds of documents in a single request. Perfect for nightly imports and migrations.

[ 248 results ]
200 OK · 248 docs
Evaluate

Measure extraction quality,
field by field.

Run evaluations against ground truth datasets. Track precision and recall per field and catch regressions before they reach production.

eval_invoice_schema_v2
9 passed·3 failed
21.37sinvoice_001 — Premium: Failed
17.67sinvoice_002 — Standard
21.25sinvoice_003 — Flex
13.16sinvoice_004
13.61sinvoice_005 — Multi-page
13.59sinvoice_006 — Scanned
15.88sinvoice_007 — International
17.19sinvoice_008 — Handwritten
17.88sinvoice_009 — Low quality: Failed
11.65sinvoice_010 — Digital
17.82sinvoice_011 — CSV export
21.84sinvoice_012 — Mixed format: Failed
FAQ

Frequently asked questions

© 2026 Matil