Lucas Vitti

Prensa

site: prensa.lucas.mat.br atualizado em

Prensa é um serviço pequeno que pega um PDF — ou Word, PowerPoint, Excel, HTML, EPUB, imagem — e devolve Markdown limpo. Cabeçalhos, listas e tabelas que o modelo entende nativamente, em vez das mesmas páginas como imagem enchendo o contexto de token à toa. Veio de um incômodo pessoal: alimentar Claude com PDFs escaneados custava caro, respondia mal, e ninguém queria montar mais um pipeline pra isso. Uma prensa achata o documento; sobra texto.

Três motores por trás de uma API só: markitdown (Microsoft) pra tudo que não é PDF — DOCX, PPTX, XLSX, HTML, EPUB, ZIP; PyMuPDF pra PDFs com camada de texto e layout simples; e Docling (IBM) pra PDFs escaneados, com OCR português + inglês e tabelas complexas. O engine=auto escolhe o mais barato que serve — markitdown pra não-PDF, PyMuPDF pra PDF com texto, Docling só quando as primeiras páginas não têm camada de texto ou contêm tabelas. O que sai vira cache: mesmo documento, mesmo motor, mesmas opções → uma conversão só, mesmo pedido de três projetos diferentes.

Três degraus de acesso: público em / (sem cadastro, 10 MB, motores rápidos, nada armazenado); logado em /app/ (Authentik SSO, 50 MB, Docling desbloqueado, histórico + chaves de API); e admin (todo mundo, chaves de servidor). Debaixo, FastAPI + SQLite + dois containers Docker (API + worker Docling, ambos read-only e sem privilégio; o worker não tem rede). Também expõe um endpoint /mcp autenticado por Bearer — plug direto no Claude Code sem escrever adaptador.