LightOnOCR-2-1B

Convert PDFs and images to Markdown with LightOnOCR-2-1B, served in the EU and US: its model ID, prices and a code example.

Munito AI serves the LightOnOCR-2-1B OCR model in the EU and US. It reads PDFs and images into Markdown.

Use this model ID in the model field of a request:

lightonai/lightonocr-2-1b
Model IDlightonai/lightonocr-2-1b
TypeOCR
InputPDF, image
Context16K tokens (16,384)
RegionsEU, US

APIs

  • OCR: POST /ocr

Prices

Prices are in USD for each 1,000 pages, in the standard tier. The global host bills the global price. A regional host or a regional model ID bills the price of its region.

RegionPer 1,000 pages
Global$4.00
EU$4.40
US$4.40

See Models and pricing for the priority and flex tiers, and for how a request is billed.

Rate limits

Base limits per organization.

Usage tierPages per minute
Free20
Tier 140
Tier 280
Tier 3160
Tier 4320
CustomOn request

See Rate limits for dynamic limits, headers and retries.

Request custom limits through Support in the console.

Regions

Munito AI serves this model in the EU and US. The global host, api.munito.ai, sends each request to a region that serves it. To keep the processing in one region, use the host of that region:

RegionHost
EUapi.eu.munito.ai
USapi.us.munito.ai

See Regions for the base URLs and the rules for stored data.

Example

Send a document by URL. The response has the Markdown of each page.

export MUNITO_API_KEY="munitoai_..."
curl https://api.munito.ai/inference/v1/ocr \
  -H "Authorization: Bearer $MUNITO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "lightonai/lightonocr-2-1b",
    "document": {"type": "url", "url": "https://example.com/invoice.pdf"}
  }'
# pip install requests
import os
import requests

response = requests.post(
    "https://api.munito.ai/inference/v1/ocr",
    headers={"Authorization": f"Bearer {os.environ['MUNITO_API_KEY']}"},
    json={
        "model": "lightonai/lightonocr-2-1b",
        "document": {"type": "url", "url": "https://example.com/invoice.pdf"},
    },
    timeout=600,
)
response.raise_for_status()
for page in response.json()["pages"]:
    print(page["markdown"])

A long document can return 202 with a location to poll. See Run OCR.