mdfi.ai Docs

Pricing

What each plan costs, how pages are counted, and what happens when the month runs out.

Plan Price Weighted pages per month API keys Templates
Starter $10 / month 2,000 2 5
Pro $20 / month 10,000 10 50
Enterprise Contact us Unlimited Unlimited Unlimited

There is no free plan, and nothing is converted for an account without an active plan. Every plan can use all three tiers. For Enterprise, contact us. API keys count only while they are active: a revoked key frees its place. Templates are field lists for extraction that you keep on the dashboard; extraction through the connector is coming soon.

The allowance is a calendar month in UTC: it starts again at 00:00 UTC on the 1st, and unused pages do not carry over. The dashboard's Usage page shows the weighted pages used this month.

Weighted pages

Each page costs the weight of the highest tier that read it:

Tier What reads the page Weighted pages
1 For PDF, Office, HTML and image files, a layout-aware parser (text layer, with OCR for scans); text and email files are parsed directly 1
2 Enhanced OCR 2
3 A vision model 5

A page is charged for the highest tier that returned output, even when a lower tier's version is kept, because that tier's work was done either way. For example, a scanned page goes to enhanced OCR, still scores under 85, and goes on to the vision model; the vision text scores lower, so the enhanced OCR text is kept. The page costs 5, not 2, and not 2 + 5. A tier that fails or returns nothing is not charged.

Only PDF and image pages are ever re-read at Tier 2 or 3; the pages of every other format cost 1 each. How it works gives the rules that decide which pages are re-read.

A document is charged once, when its conversion completes. Reading it again (read_document on the same file, read_pages, export_table) is free while mdfi keeps it, which is 7 days.

What counts as a page

File One page is Counted before conversion as
PDF one page, blank pages included its page count
Image (PNG, JPEG, TIFF, BMP, WebP) one frame; a multi-page TIFF has several its frame count
PowerPoint one slide its slide count
Word, Excel, HTML about 3,000 characters of converted text; each sheet of a spreadsheet starts a new page 1
Text and Markdown about 3,000 characters its size in bytes ÷ 3,000, rounded up
Email (.eml) about 3,000 characters of the converted message; attachments are listed by name, not converted 1

A page of converted text is never split inside a block, so a table or code block longer than 3,000 characters stays on one page.

Before converting, mdfi checks the count in the last column against the pages you have left. Word, Excel, HTML and email files count as 1 at that check, because their file size says little about how much text they hold (an email's size is mostly its attachments). The converted document is checked again: if it has more pages than you had left, or more than 1,000 pages, the conversion fails and nothing is charged.

Escalation cap

Re-reads can add at most 100 extra weighted pages to one document, on every plan. The cap limits the extra, not the total: a 300-page PDF costs 300 at Tier 1, and re-reads can add up to 100, so it costs at most 400.

Re-reads also never take a document past the pages you have left this month. A page whose re-read would go over the cap or the allowance is kept at its lower tier and flagged not_enhanced_cap (shown by the connector as "could not be enhanced (escalation cap reached)").

Worked examples

  • A 142-page born-digital PDF whose pages all score 85 or more: no page is re-read, so it costs 142 × 1 = 142.
  • A 40-page PDF with 3 scanned pages escalated to vision costs 37 + 3 × 5 = 52.
  • A 300-page scan whose pages all score under 85: re-reads add at most 100, so it costs at most 400. Pages the cap did not reach keep their Tier 1 text and are flagged.
  • A Word document that converts to 12 pages of text costs 12, whatever its scores: Word pages are never re-read.

Limits

  • 100 MB per file. A larger upload is refused (HTTP 413).
  • 1,000 pages per document. A larger document is refused before conversion (HTTP 400), or, for formats whose count is only estimated (Word, Excel, HTML, email, text), fails after conversion without a charge.

Both answer Too large: limit is 1,000 pages / 100 MB per document.

When the month runs out

There is no overage billing. Before converting, mdfi compares the document's page count with the pages you have left. If it does not fit, the upload is refused with HTTP 429, nothing is converted, and the message says what was needed. On Starter:

Not enough pages left this month: needed 40, 12 left. Upgrade to Pro or wait until November 1.

On Pro:

Not enough pages left this month: needed 40, 12 left. Your allowance resets on November 1.

The month in the message is the next one. The check counts each page once; re-reads are then limited to what is left, as described under Escalation cap. A Word, Excel, HTML, email or text document that turns out larger than the pages you had left fails after conversion with Not enough pages left this month: needed N, M left. and is not charged.

Plan changes go through the Stripe customer portal, from the dashboard's Billing page. Without an active subscription (cancelled, or a payment that is past due), the API answers HTTP 402 Subscription required. Choose a plan at … with a link to the Billing page.

The older /convert, /jobs and /batches endpoints draw on the same allowance at one page per conversion; see API.

What is never charged

  • Reading a document your account already has: read_document on the same file, read_pages and export_table.
  • A re-read that fails or returns nothing.
  • A page Tier 1 could not convert, flagged not_converted (shown by the connector as "page could not be converted"). If a re-read then converts it, that re-read is charged.
  • A document whose conversion fails, including one stopped by the checks above.