Home Blog

LightOnOCR-3 4B vs Qwen3.5 4B vs Gemma 4 26B-A4B vs Mistral Small 3.1: OCR on three documents

LightOnOCR-3 4B vs Qwen3.5 4B vs Gemma 4 26B-A4B vs Mistral Small 3.1 blog cover

Oct 25, 2026

EmpirioLabs AI

Disclosure: This article was written with AI assistance and reviewed by EmpirioLabs AI.

Short answer: on three clean digital pages (an invoice, a two-column report with a table, and lecture notes with equations), all four models transcribed the body of every page correctly: every field, sentence, table cell, and equation. They differ in what else comes back, what they accept, and what they cost. LightOnOCR-3 4B takes PDFs, reads up to 1,000 pages per request, and returns each page's layout with headers and footers marked, at $3.00 per 1,000 pages with a minimum of 5 pages per request ($0.015 for one page). Gemma 4 26B-A4B and Qwen3.5 4B each cost under $0.0002 a page, and Mistral Small 3.1 costs $0.0019 a page. The three chat models take page images rather than PDFs and return Markdown only. All four run on EmpirioLabs through one API.

Specs at a glance

LightOnOCR-3 4BQwen3.5 4BGemma 4 26B-A4BMistral Small 3.1
EndpointPOST /v1/ocrPOST /v1/chat/completionsPOST /v1/chat/completionsPOST /v1/chat/completions
Price$3.00 per 1,000 pages, minimum 5 pages per request$0.04 per 1M input tokens, $0.07 per 1M output tokens$0.05 per 1M input tokens, $0.29 per 1M output tokens$0.0019 per message
One page in this test$0.015$0.00016 to $0.00017$0.00016 to $0.00019$0.0019
1,000 pages like these$3.00, sent 5 or more pages per requestAbout $0.17About $0.17$1.90
Page body correct (of 3 pages)3333
Equations correct (of 5)5555
Running headers and page numbers kept (of 7)7471
InputA PDF (up to 1,000 pages per request) or an imageImagesImagesImages
Page layout (block types and positions)YesNoNoNo

How we ran it

We made three pages for this test, each a US Letter page rendered as a 1583x2048 PNG: an invoice with five line items, a two-column report page with a five-row table, and a page of lecture notes with five numbered equations. Each page went once to each model through api.empiriolabs.ai on October 25, 2026: to LightOnOCR-3 4B on POST /v1/ocr with its default options, and to the three chat models on POST /v1/chat/completions with the same prompt, temperature 0, up to 8,192 output tokens, and thinking off for Qwen3.5 4B and Gemma 4 26B-A4B. No result was retried or picked. Prices are what each request was charged, at the list prices of that day.

The prompt for the chat models:

Convert this document page to Markdown. Transcribe all of the text exactly as written, in reading order. Use Markdown headings, lists and tables, and write mathematical expressions in LaTeX. Return only the Markdown.

All three are clean digital pages. Scans, photographs of paper, handwriting, and charts were not part of this test.

Document 1: an invoice

Test invoice from a fictional instrument maker with five line items, a subtotal, sales tax, and a total

All four returned every detail at the top of the invoice, both addresses, all 20 line-item cells, and the subtotal, tax, and total. LightOnOCR-3 4B returned both tables as HTML and left one stray bold marker in the totals block (Subtotal**). Qwen3.5 4B wrote the invoice details as a Markdown table without the separator row a table needs, so they render as plain text. Gemma 4 26B-A4B put the subtotal, tax, and total into the line-item table as extra rows.

Full outputs: LightOnOCR-3 4B | Qwen3.5 4B | Gemma 4 26B-A4B | Mistral Small 3.1

Document 2: a two-column report with a table

Test report page in two columns with four numbered sections, a table of five wind stations, a running header, and a page number

All four read the left column before the right one and returned all 15 sentences and all 30 table cells, including the station name that wraps onto two lines. LightOnOCR-3 4B and Qwen3.5 4B kept the running header and the page number as written. Gemma 4 26B-A4B kept them with a hyphen in place of the header's middle dot, and wrote the speeds in the text as LaTeX ($6.1\text{ m/s}$). Mistral Small 3.1 left out the header and the page number.

Full outputs: LightOnOCR-3 4B | Qwen3.5 4B | Gemma 4 26B-A4B | Mistral Small 3.1

Document 3: lecture notes with equations

Test page of lecture notes on the damped harmonic oscillator with five numbered equations and a table of values

All four returned the five numbered equations, the inline math, and the table of values correctly. Mistral Small 3.1 wrote \phi where the page shows the curly phi (\varphi). LightOnOCR-3 4B and Gemma 4 26B-A4B kept the running header and the page number; Qwen3.5 4B and Mistral Small 3.1 left both out. Equation 6.2 as LightOnOCR-3 4B returned it:

$$
r = \frac{-c \pm \sqrt{c^2 - 4mk}}{2m} \quad \text{(6.2)}
$$

Full outputs: LightOnOCR-3 4B | Qwen3.5 4B | Gemma 4 26B-A4B | Mistral Small 3.1

What comes back besides the text

Layout. With the Markdown, LightOnOCR-3 4B returned each page's layout: 12, 18, and 16 blocks for the three pages, each with its type (title, text, table, equation, caption, header, or footer) and its position in pixels. Headers and footers are marked as such, and extract_header and extract_footer move them into their own fields.

Plain answers. The chat models return text only. Qwen3.5 4B and Mistral Small 3.1 wrapped all three answers in a ```markdown code fence, which has to be removed before the text is used; Gemma 4 26B-A4B did not.

Tables. LightOnOCR-3 4B returns tables as HTML inside the Markdown, or separately in tables as Markdown or HTML with table_format. The chat models wrote Markdown tables.

When to use each

  • LightOnOCR-3 4B for PDFs and long documents, and when you need each page's layout, headers and footers, or image regions as data, with no prompt to maintain. Send several pages per request: each request is billed at least 5 pages.
  • Gemma 4 26B-A4B for text from single page images at the lowest price, under $0.0002 a page in this test.
  • Qwen3.5 4B for text from page images at about the same price per page as Gemma 4 26B-A4B; it left out the header and page number on one of the three pages.
  • Mistral Small 3.1 when you want the same price for every page image; it left out the headers and page numbers on two of the three pages.

The chat models can also answer questions about a page or return the fields you name as JSON in the same request, which /v1/ocr does not do.

Run the test on EmpirioLabs

curl https://api.empiriolabs.ai/v1/ocr \
  -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "lightonocr-3-4b",
    "document": {
      "type": "image_url",
      "image_url": "https://media.empiriolabs.ai/assets/blog-images/lightonocr-3-4b-test-2026-10-25/invoice.png"
    }
  }'

The same page on a chat model:

curl https://api.empiriolabs.ai/v1/chat/completions \
  -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemma-4-26b-a4b",
    "messages": [{"role": "user", "content": [
      {"type": "image_url", "image_url": {"url": "https://media.empiriolabs.ai/assets/blog-images/lightonocr-3-4b-test-2026-10-25/invoice.png"}},
      {"type": "text", "text": "Convert this document page to Markdown. Transcribe all of the text exactly as written, in reading order. Use Markdown headings, lists and tables, and write mathematical expressions in LaTeX. Return only the Markdown."}
    ]}],
    "temperature": 0,
    "max_tokens": 8192,
    "enable_thinking": false
  }'

Change model to qwen3-5-4b to run Qwen3.5 4B, or to mistral-small-3-1 without enable_thinking to run Mistral Small 3.1. Each model page lists its own parameters.

Frequently asked questions

Which model read the documents most accurately?

On these three clean pages, all four transcribed every field, sentence, table cell, and equation correctly. They differed on running headers and page numbers: LightOnOCR-3 4B and Gemma 4 26B-A4B kept all seven, Qwen3.5 4B four, and Mistral Small 3.1 one.

Can the chat models read a PDF?

Not directly: Qwen3.5 4B, Gemma 4 26B-A4B, and Mistral Small 3.1 take images, so a PDF has to be rendered to page images first. LightOnOCR-3 4B takes a PDF of up to 50 MB and reads up to 1,000 of its pages in one request.

What does a page cost?

LightOnOCR-3 4B costs $3.00 per 1,000 pages with a minimum of 5 pages per request, so one page costs $0.015 and a 100-page PDF $0.30. In this test a page cost under $0.0002 on Qwen3.5 4B and Gemma 4 26B-A4B, which bill by token, and $0.0019 on Mistral Small 3.1, which bills per message.

Does LightOnOCR-3 4B need a prompt?

No. It takes the document and options such as pages and table_format, and returns the same structure for every page.

Try it

Playground | OCR models | Pricing | Document OCR guide

Ready to use better endpoints?

Explore our models, or contact us about business inquiries, custom deployments, or anything else.