Ana Brainiall

Extrae texto de imágenes con Vision AI

iniciante · 8 min · Por Ana Brainiall

El OCR cambió por completo entre 2024 y 2026

El OCR tradicional (Tesseract, desde 1985) funciona en 2 pasos:

1. Detección: encuentra las regiones de la imagen que contienen texto
2. Reconocimiento: clasifica cada letra de forma individual

Funciona bien en documentos impresos limpios, con fuentes comunes, en inglés. En cualquier otro escenario (manuscritos, carteles curvos, texto en fotos, idiomas poco comunes, layouts complejos) la precisión cae al 60-70%.

Los vision-language models modernos (Claude Sonnet, GPT-5, Gemini 3 Pro) revolucionaron el OCR. En lugar de clasificar letra por letra, interpretan la imagen como un todo — reconocen el contexto, corrigen errores basándose en el significado y manejan layouts arbitrarios.

comparação lado a lado — à esquerda uma receita manuscrita com Tesseract gerando

Cuándo usar cada herramienta

Tesseract (open source, CPU local):
- Documentos impresos estandarizados (facturas, PDFs escaneados)
- Alto volumen (10k+ páginas/día) donde la latencia importa
- Casos donde la privacidad impide enviar datos a la nube
- Costo: prácticamente cero

Vision-LLM (vía API):
- Texto manuscrito
- Carteles, letreros, fotos de calle
- Textos en objetos 3D (latas, etiquetas curvas)
- Documentos con layout complejo (tablas, múltiples columnas, notas al pie)
- Idiomas con pocos recursos (árabe, chino, hebreo)
- Costo: entre $0,005 y $0,05 por imagen

Whisper-OCR (modelo especializado):
- Documentos con muchas tablas
- Ecuaciones matemáticas
- Layouts científicos (papers)

Cómo hacer un buen request

Para que el vision-LLM funcione mejor, estructura el prompt así:

Mal:
> "OCR this"

Bien:
> "Extrae todo el texto visible en esta imagen, preservando la estructura jerárquica (título, subtítulos, párrafos). Si hay una tabla, fórmateala en markdown. Si el texto es ilegible en alguna región, indica [ilegible]. Si hay texto en varios idiomas, sepáralos."

La diferencia de calidad es dramática. El LLM usa su "comprensión" de la estructura para organizar el output.

Casos de uso prácticos

Errores técnicos comunes

Integración vía API

`python
import httpx, base64

with open("foto.jpg", "rb") as f:
img_b64 = base64.b64encode(f.read()).decode()

r = httpx.post(
"https://api.brainiall.com/v1/chat/completions",
json={
"model": "claude-sonnet-4-6",
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "Extrae el texto de esta imagen en markdown, preservando la estructura."},
{"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{img_b64}"}}
]
}]
},
headers={"Authorization": "Bearer brnl-xxx"}
)
print(r.json()["choices"][0]["message"]["content"])
`

Pruébalo ahora mismo

En el chat de Brainiall, haz clic en el clip para adjuntar archivos, envía una imagen con texto y escribe "extrae el texto de esta imagen". Resultado en 2-5 segundos. El plan Pro incluye 100 análisis/mes; el plan Business desbloquea el procesamiento en batch.

¿Te gustó el curso?

Desbloquea 17 cursos Pro + 40+ IAs en chat + generación de video, música y Studio completo.

Hazte Pro · US$5.99/mes

Cancela cuando quieras · Sin compromiso