$5 free credits when you sign up Claim now
Marlin 2b now available Test it!
MiniMax H3 now available! Test it!
Browse all Models
Browse all
Browse all
Browse all

Image-to-Text (OCR)

LightOnOCR-3 API for scans, tables and charts

Send a scan, photo or screenshot to POST /api/v2/images/ocr with the model LightOnOcr_3_4B_Q8. You get Markdown back, with tables in HTML, formulas in LaTeX and bar charts turned into a table of their values.

  • An A4 page rendered at 2048 px costs $0.025, a 1024 × 1024 image $0.0093
  • Priced by image size, so a dense page costs the same as a blank one
  • Open model from LightOn under Apache 2.0, nothing to host

No credit card · Free credits valid for 30 days · Then top up and pay as you go, no subscription

LightOnOCR-3-4B Image-to-Text (OCR)
Test invoice from a German seller to a Polish buyer, rotated, blurred and noisy like a phone photo
Markdown returned by the API
# INVOICE No. 2026/11/0457

## Seller:
Nordwind Tools GmbH
Hafenstraße 12, 20457 Hamburg
VAT ID: DE 298 114 551

Issue date: 2026-11-02

## Buyer:
Kowalski & Syn sp. z o.o.
ul. Żółkiewskiego 7/3, 31-539 Kraków
NIP: 676-25-81-904

Due date: 2026-11-30

<table>
  <thead>
    <tr>
      <th>#</th>
      <th>Item</th>
      <th>Qty</th>
      <th>Unit price (EUR)</th>
      <th>VAT</th>
      <th>Net (EUR)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Torque wrench TW-40, 1/2"</td>
      <td>12</td>
      <td>84.50</td>
      <td>0%</td>
      <td>1,014.00</td>
    </tr>
    <tr>
      <td>2</td>
      <td>Socket set S-94 (94 pcs)</td>
      <td>5</td>
      <td>129.00</td>
      <td>0%</td>
      <td>645.00</td>
    </tr>
    <tr>
      <td>3</td>
      <td>Shipping DHL Freight</td>
      <td>1</td>
      <td>48.90</td>
      <td>0%</td>
      <td>48.90</td>
    </tr>
  </tbody>
</table>

Total net: **1,707.90 EUR**
Reverse charge, Art. 196 Directive 2006/112/EC
1220 × 641 px, rotated 2°, blurred · Markdown + HTML table Cost on deAPI: $0.007 (price as of November 2026)

What goes in, what comes back

Four rules for the input and the output, then unedited API results for three test images we made for this page.

  1. Input: one image per request, JPG, PNG, GIF or BMP, up to 10 MB and 128 to 4096 px per side. The API does not take PDFs, so render each page to an image first, for example with pypdfium2.

  2. Resolution: LightOn recommends 2048 px on the long edge. We ran the same A4 page at 1024 px for $0.0067 instead of $0.025, and one number in the body text came back wrong (40% read as 46%). Go lower only for large print.

  3. Output: Markdown. Tables come as HTML <table>, math as LaTeX and pictures as an ![image](image_1.png) placeholder. With return_result_in_response the text arrives in the job status; otherwise you download it from result_url.

  4. Price: only the image size counts. The amount of text on the page and the language and format fields do not change it.

Bar chart of quarterly API requests in millions, Q1 to Q4
Output
# Quarterly API requests (millions)

![image](image_1.png)

Source: internal dashboard, 2026.

## Data Table

<table>
  <thead>
    <tr>
      <th>Quarter</th>
      <th>API Requests (millions)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Q1</td>
      <td>8.0</td>
    </tr>
    <tr>
      <td>Q2</td>
      <td>14.0</td>
    </tr>
    <tr>
      <td>Q3</td>
      <td>20.5</td>
    </tr>
    <tr>
      <td>Q4</td>
      <td>27.5</td>
    </tr>
  </tbody>
</table>
Bar chart to table The four bars came back as an HTML table with their values. Nanonets-OCR-s, the other OCR model on deAPI, returned only the source line for the same image.
Paragraph from a paper with a cross-entropy loss formula
Output
## 2.1 Loss function

We minimise the cross-entropy over the vocabulary $V$ :

$$
L(\theta) = -\Sigma_{t=1}^{T} \log p_{\theta}(y_t \mid y_{<t}, x)
$$

where $x$ is the image and $T$ the length of the target sequence.
Formula to LaTeX Symbols in the text came back as $V$ and $x$, the equation as a $$ block you can render with KaTeX or MathJax.
Charger warning printed in Polish, German, Japanese and Spanish
Output
# Instrukcja obsługi / Bedienungsanleitung / 取扱説明書

Przed pierwszym użyciem naładuj akumulator do pełna. Nie zostawiaj ładowarki podłączonej dłużej niż 12 godzin.

Vor dem ersten Gebrauch den Akku vollständig aufladen. Das Ladegerät nicht länger als 12 Stunden angeschlossen lassen.

初めてご使用になる前に、バッテリーを完全に充電してください。充電器を12時間以上接続したままにしないでください。

Antes del primer uso, cargue la batería por completo. No deje el cargador conectado más de 12 horas.
Four languages on one page Polish, German, Japanese and Spanish came back with every diacritic and kanji as printed.

LightOnOCR-3 API pricing

You pay per image by its pixel count: about $0.00045 plus $0.0084 per megapixel. No subscription.

A4 page at 2048 px (1448 × 2048) $0.025 ≈ 196
A4 page at 1024 px (724 × 1024) $0.0067 ≈ 746
Square image, 1024 × 1024 $0.0093 ≈ 538
Screenshot, 1920 × 1080 $0.018 ≈ 279

What the free account includes

  • $5 of credits, about 196 A4 pages at 2048 px
  • No credit card, credits valid for 30 days
  • Rate limits go up after the first top-up
Get $5 credits

Prices for LightOnOcr_3_4B_Q8 from the deAPI price API, November 2026, in USD. Quote any size before you send it: POST /api/v2/images/ocr/price with model, width and height.

LightOnOCR-3-4B or Nanonets-OCR-s

Model ID LightOnOcr_3_4B_Q8 Nanonets_Ocr_S_F16
Built on Qwen3.5 vision-language architecture, 4B Fine-tuned from Qwen2.5-VL-3B-Instruct
Price $0.0093 at 1024 × 1024 $0.0093 at 1024 × 1024
Bar chart (test above) Table with all four values Source line only
Invoice photo (hero image) Every field in page order, Polish diacritics intact No invoice number, "Żółkiewskiego" read as "Zólkiewskiego", totals before the table

LightOnOCR-3 API example

Upload the image as multipart. Replace YOUR_API_KEY with a key from your dashboard.

Endpoint
POST /api/v2/images/ocr
Model ID
LightOnOcr_3_4B_Q8
Input
image: JPG, PNG, GIF or BMP, up to 10 MB, 128–4096 px per side
Output
Markdown, tables in HTML, math in LaTeX
Price quote
POST /api/v2/images/ocr/price with width and height
curl -X POST 'https://api.deapi.ai/api/v2/images/ocr' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Accept: application/json' \
  -F 'model=LightOnOcr_3_4B_Q8' \
  -F 'return_result_in_response=true' \
  -F '[email protected]'
import time, requests

API = "https://api.deapi.ai/api/v2"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY", "Accept": "application/json"}

with open("invoice.jpg", "rb") as f:
    job = requests.post(f"{API}/images/ocr", headers=HEADERS,
        data={"model": "LightOnOcr_3_4B_Q8", "return_result_in_response": "true"},
        files={"image": f}).json()["data"]

while True:
    status = requests.get(f"{API}/jobs/{job['request_id']}", headers=HEADERS).json()["data"]
    if status["status"] in ("done", "error"):
        break
    time.sleep(2)

print(status.get("result"))  # the Markdown

What is LightOnOCR-3?

LightOnOCR-3-4B is the largest model in LightOn's LightOnOCR-3 family, released in October 2026 under Apache 2.0. It turns a page image into Markdown in one pass, with no separate layout or table detection step. In LightOn's benchmark report the 4B model scores 86.3 on olmOCR-Bench, against 81.9 for Mistral OCR 4.1 in the same table. On deAPI it runs under the model ID LightOnOcr_3_4B_Q8, and you send images to it with an API key. For document pipelines built on it, see the OCR API use case.

  1. Create a free account

    Sign up and get $5 of credits. No credit card.

  2. Copy your API key

    Create a key in the dashboard.

  3. Send an image

    POST it to /images/ocr and read the Markdown from the job.

LightOnOCR-3 API FAQ

The price depends on the image size only. An A4 page at 2048 px costs $0.025, a 1024 × 1024 image $0.0093 and a 1920 × 1080 screenshot $0.018 (November 2026). A blank page and a dense one of the same size cost the same. You pay per image, with no subscription.
No. The endpoint takes JPG, PNG, GIF and BMP images up to 10 MB. Render each PDF page to an image, for example with pypdfium2 or pdftoppm, at about 2048 px on the long edge, and send one request per page.
Markdown. Headings and lists stay Markdown, tables come as HTML <table>, formulas as LaTeX, and bar charts as a table of their values. You get it as a text file at result_url, or in the job status when you set return_result_in_response.
LightOn does not publish a list of supported languages. In our test it read Polish, German, Japanese and Spanish on one page without errors, and LightOn reports a separate benchmark for French documents. Try a few of your own pages before a large batch.
Yes. New accounts get $5 of credits without a credit card, enough for about 196 A4 pages at 2048 px.
Yes. LightOn releases LightOnOCR-3-4B under the Apache 2.0 license, which allows commercial use, including in paid products. On deAPI you pay per image and need no GPU or server of your own.

Read your first 196 pages with $5 of free credits

Sign up with e-mail or Google. No credit card, no subscription.