Concepts and terms#
At natif.ai, we use a certain terms to communicate about our APIs and concepts. Knowing these hopefully makes understanding this documentation easier, so please bear with us, and let's get over it.
A "document" in our world is a digital representation of visual information originally created to be read and understood by humans ‐ independent of the exact file-format. These documents (e.g. invoices, letters, retail receipts, legal contracts, driving licenses, etc.) may come in the form of digitally created PDFs, scans of a printout or an image of a piece of paper taken with a smartphone.
Optical Character Recognition is the act of detecting and extracting characters (with AI methods) or pieces of text from visual information, i.e. "documents" in our case.
Detecting only the text of a document is oftentimes not enough to "understand it" and pass it to automated processes. Instead, pieces of information that are relevant for the type of analyzed document need to be detected and extracted to a structured, machine-readable format to do so.
For an invoice, this might be entities like:
- Vendor: Business Address, Bank account, …
- Customer: Names, Delivery Address, …
- Totals: Net amount, Tax rate, Total amount, Currency, …
- Single items: Count, Unit price, …
Document splitting involves taking a large document composed of smaller sub-documents, possibly one that was created when scanning multiple related but distinct documents, and decomposing that into those smaller sub-documents. These sub-documents, and their associating extraction information can then be retrieved as a separate entity from the larger processed document.
A workflow is the blueprint for a sequence of analysis, extraction, and transformation steps for a document. The sequence of steps might involve switches and branches, e.g. going for the correct dedicated extraction AI after an automated classification of the document type (invoice, receipts, …) or text language.
A workflow is referenced by a unique workflow identifier, which is a descriptive name like
When a document file is submitted to be processed with a workflow, the exact workflow run is identified with a
processing_id. Later on - once the processing has completed - the
processing_id can be used to access the
related ocr- and extraction-results of the workflow applied to the submitted document.
Credits are our currency to measure processing cost for pairs of documents and workflows. The standard payment plans include an inclusive quota per month. For the freemium plan this included quota is a hard limit - if you have a higher demand you should consider an upgrade. Credits are meant to simplify keeping track of processing quotas and to decouple the processing from actual pricing ‐ since this depends on the purchased plan or individual contract.
As a rule of thumb:
- The more complex a workflow is, i.e. the more it has to branch, detect and extract from a document, the more credits per page are billed
- The more pages a document has, the more credits are billed (i.e. the workflow cost per page times the number of pages)
- The more processing capacity you purchase the lower the cost per credit gets on average, based on the amount of
- monthly inclusive quota
- credit unit price beyond the included quota
The workflow cost per page can be found in the respective documentation, whereas the current quota usage of an account can be checked on the API-Hub.