OCR tradicional (Tesseract) é rápido mas burro: ele reconhece pixels, não entende layout. O Surya é um OCR moderno baseado em transformers que detecta blocos, tabelas, ordem de leitura e suporta 90+ idiomas incluindo português. E você sobe em 1 clique no GPUBrasil.

⚡ Resumo

Surya = OCR + detecção de texto + análise de layout + ordem de leitura, tudo em um pacote open-source com licença GPL/Comercial. Processa ~30 páginas/min em RTX A4000.

O que é o Surya?

Surya é o motor de OCR criado pela VikParuchuri (mesmo autor do Marker), composto por 4 modelos especializados:

Características principais

Casos de uso no Brasil

Hardware recomendado

💰 Custo no GPUBrasil

RTX A4000 (R$ 1,80/h) processa ~1.800 páginas/hora = R$ 0,001 por página. AWS Textract cobra R$ 0,08/página. Economia de 99%.

Deploy em 1 clique

Passo 1: Iniciar template

  1. Console → Templates → 📄 Documentos IA
  2. Selecione Surya OCR
  3. GPU recomendada: RTX A4000
  4. Clique em Iniciar

O template instala dependências, baixa os 4 modelos do Surya (~2GB) e expõe a Web UI Streamlit na porta 8501.

Passo 2: Web UI

Acesse https://<sua-instancia>.gpubrasil.com.br. Faça upload de PDF ou imagem, e veja:

Passo 3: Uso programático via Python

from surya.ocr import run_ocr
from surya.model.detection.model import load_model as load_det
from surya.model.recognition.model import load_model as load_rec
from surya.model.detection.model import load_processor as load_det_proc
from surya.model.recognition.processor import load_processor as load_rec_proc
from PIL import Image

# 1. Carregar modelos
det_model = load_det()
det_proc = load_det_proc()
rec_model = load_rec()
rec_proc = load_rec_proc()

# 2. OCR de imagem
image = Image.open("nota_fiscal.jpg")
langs = ["pt"]

predictions = run_ocr(
    [image], [langs],
    det_model, det_proc,
    rec_model, rec_proc
)

# 3. Extrair texto por bloco
for block in predictions[0].text_lines:
    print(f"[{block.bbox}] {block.text} (conf={block.confidence:.2f})")

Passo 4: Layout analysis

from surya.layout import batch_layout_detection
from surya.model.layout.model import load_model as load_layout
from surya.model.layout.processor import load_processor as load_layout_proc

layout_model = load_layout()
layout_proc = load_layout_proc()

# Detecta regiões: Title, Text, Table, Figure, etc.
layout = batch_layout_detection(
    [image], layout_model, layout_proc, [det_pred]
)

for block in layout[0].bboxes:
    print(f"{block.label}: {block.bbox}")

Surya vs alternativas

Dicas de produção

Crie seu OCR profissional em minutos

Ganhe R$ 25 grátis no GPUBrasil e suba Surya OCR em 90 segundos.

Começar Grátis →

Conclusão

Surya é o melhor OCR open-source para documentos brasileiros: suporte nativo a PT-BR, entende layouts complexos e custa centavos por mil páginas no GPUBrasil. Para qualquer workflow de digitalização, KYC ou ingestão documental, é a escolha óbvia em 2026.

Próximos: Marker: PDF → Markdown · GROBID para papers acadêmicos