Casa Blog

Como Usar a API 4B do LightOnOCR-3

Capa do blog da API 4B do LightOnOCR-3

Oct 25, 2026

EmpirioLabs AI

LightOnOCR-3 4B está disponível no EmpirioLabs. É o modelo OCR de documentos do LightOn: envie um PDF ou uma imagem, e ele retorna cada página como Markdown, com o texto em ordem de leitura, títulos, listas, tabelas, matemática em LaTeX e gráficos como tabelas dos seus pontos de dados. Cada página também retorna com seu layout: o tipo e a posição de cada bloco na página. Ela funciona PÓS-/v1/ocr, na API e na Playground.

Referência. O LightOn reporta uma pontuação geral de 86,3 no olmOCR-Bench para o LightOnOCR-3 4B em seus Anúncio de lançamento de 8 de outubro de 2026.

O que diz

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

Uma página de teste com anotações de aula, lida em um pedido. Esta página e mais duas contra três modelos de chat de visão estão em LightOnOCR-3 4B vs Qwen3.5 4B vs Gemma 4 26B-A4B vs Mistral Small 3.1.

O início do Markdown retornou para aquela página; as outras três equações, a tabela e o número da página seguem na mesma resposta:

PHYS 210 · Notas da Aula Semana 6 ## 6.2 O oscilador harmônico amortecido Uma massa $m$ em uma mola de rigidez $k$, com força de amortecimento proporcional à sua velocidade, obedece $$ m \frac{d^2 x}{dt^2} + c \frac{dx}{dt} + kx = 0 \quad \text{(6.1)} $$ Substituindo $x(t) = e^{rt}$ dá a equação característica $mr^2 + cr + k = 0$, cujas raízes são $$ r = \frac{-c \pm \sqrt{c^2 - 4mk}}{2m} \quad \text{(6.2)} $$

Seu primeiro pedido

Envie um documento por URL ou como um URI de dados base64. Essa solicitação lê as duas primeiras páginas de um PDF de exemplo:

curl https://api.empiriolabs.ai/v1/ocr \ -H "Autorização: Portador $EMPIRIOLABS_API_KEY" \ -H "Tipo-de-Conteúdo: application/json" \ -d '{ "modelo": "lightonocr-3-4b", "documento": { "tipo": "document_url", "document_url": "https://media.empiriolabs.ai/assets/blog-images/lightonocr-3-4b-test-2026-10-25/sample-document.pdf" }, "páginas": [0, 1] }'

Um arquivo na sua máquina entra como um URI de dados, sem necessidade de hospedagem:

importar base64 importar solicitações de importação de sistemas operativos com open("report.pdf", "rb") como handle: encoded = base64.b64encode(handle.read()).decode() resposta = requests.post("https://api.empiriolabs.ai/v1/ocr", cabeçalhos={"Authorization": f"Bearer {os.environ['EMPIRIOLABS_API_KEY']}"}, json={ "model": "lightonocr-3-4b", "document": {"type": "document_url", "document_url": f"data:application/pdf; base64,{encoded}"}, }, timeout=300,) response.raise_for_status() para página em response.json()["páginas"]: print(f"--- página {page['index']} ---") print(page["markdown"])

Uma imagem funciona da mesma forma, com "tipo": "image_url" e a URL ou URI de dados em image_url. Um documento pode ser um PDF ou uma imagem PNG, JPEG, WebP, TIFF, BMP, GIF ou AVIF de até 50 MB, e uma requisição pode ler até 1.000 páginas.

O que volta

A resposta comporta um objeto por página em páginas. Cada uma tem a página como Desconto; Blocos, cada região da página em ordem de leitura com seu tipo (Título, Texto, Lista, Tabela, Equação, legenda, cabeçalho, rodapé, e outros) e sua caixa em pixels; Imagens, as regiões da imagem; e Dimensões, o tamanho da imagem da página à qual as caixas se referem. usage_info.pages_processed conta as páginas lidas. Um dos 16 blocos retornados para a página de anotações de aula:

{ "tipo": "equação", "top_left_x": 641, "top_left_y": 526, "bottom_right_x": 1447, "bottom_right_y": 610, "conteúdo": "$$\nr = \\frac{-c \\pm \\sqrt{c^2 - 4mk}}{2m} \\quad \\text{(6.2)}\n$$" }

Um pedido de respostas quando suas páginas são lidas. Um ainda está correndo após cerca de quatro minutos e meio de respostas 202 com um job id: enquete VÁ /v1/jobs/{job_id} até Status é completo, e as páginas estão em Resultado. Para obter o ID do trabalho imediatamente, envie o cabeçalho Preferir: respond-async.

Opções

  • Páginas. páginas Considera números de página baseados em zero como uma lista ([0, 2, 3]) ou uma corda ("0,2-4"). Deixe para ler cada página.
  • Mesas. table_format definir para Desconto ou HTML move cada mesa para Tabelas nesse formato e deixa um link como [tbl-0.html] (tbl-0.html) na página Markdown. Sem ele, as tabelas permanecem no Markdown como HTML.
  • Imagens. include_image_base64 retorna cada região da imagem como um URI de dados JPEG. image_limit limita quantas imagens retornam para todo o documento, e image_min_size Deixa de fora regiões mais estreitas ou mais curtas que esse número de pixels.
  • Cabeçalhos e rodapés. extract_header e extract_footer movê-los para fora do Markdown para seus próprios campos.
  • Layout. include_blocks definir para falso folhas Blocos fora.

Notas operacionais

  • Os números das páginas começam em 0. "páginas": [1] Lê a segunda página.
  • Cifrões podem voltar escapando. No texto da página, um cifrão pode dizer \$, e dentro de tabelas HTML $. Saiba da Redução antes de procurar por quantias.
  • Campos de anotação são recusados. bbox_annotation_format, document_annotation_format, e document_annotation_prompt resposta 400 antes de qualquer página ser lida.

Preços

Cobrado por página lida. Cada solicitação é cobrada com pelo menos 5 páginas, então envie um documento longo como um PDF em vez de uma solicitação por página. Uma solicitação que falha não é cobrada por páginas que não devolveu. As tarifas atuais estão no página do modelo e o página de preços.

Comece a construir

Tente LightOnOCR-3 4B no Playground com seu próprio documento, e leia o Guia OCR de documentos e o Documentação da API para cada parâmetro.

Divulgação: Este artigo foi escrito com assistência de IA e revisado por EmpirioLabs IA.

Pronto para usar endpoints melhores?

Explore nossos modelos ou entre em contato conosco para consultas de negócios, implantações personalizadas ou qualquer outra coisa.