Costo de OCR por cada 1,000 páginas
8 motores de código abierto, comparados (2026)
Última revisión: 2026-08-18 · Nivel de ejecución: oficial · Benchmark de primera parte · 8 motores × 2 conjuntos de datos de recibos
Qué NO cubre esta página: Cualquier tipo de documento que no sean recibos — sin facturas, formularios, contratos ni documentos largos. Los servicios de OCR en la nube/API (AWS, Google, Azure y sus precios por llamada), los modelos ajustados, la adquisición/amortización de GPU (comprar hardware directamente vs alquilar por hora), el almacenamiento y la transferencia de datos, y el costo en dólares de la extracción de campos con LLM (solo recuento de tokens) quedan fuera del alcance. El resumen completo de precisión/latencia de los 8 motores está en el benchmark de OCR vs VLM de ocho motores.
Declaración de rango: todas las cifras en dólares de esta página corresponden a un solo nivel de GPU (RTX 4090) en una sola marca de tiempo de precio (agosto de 2026, $0.76/hora, registrada en los manifiestos de ejecución como price_recorded_at_utc 2026-08-13T08:00:00Z). Vuelva a calcular con las tarifas actuales antes de presupuestar. Solo conjuntos de datos de recibos (SROIE 2019, CORD v2). Costo = tiempo de ejecución en tiempo real × la tarifa por hora, incluida la inicialización del modelo.
En la misma GPU, los mismos recibos y la misma base de facturación de $0.76/hora, el costo de OCR por cada 1,000 páginas en 8 motores de código abierto abarca 22.2× — desde $0.0479 (docTR) hasta $1.0609 (Surya2) en SROIE 2019. Solo la elección del motor mueve el costo del OCR de código abierto en más de un orden de magnitud, y la clasificación sigue el tiempo de ejecución en tiempo real, no la precisión: el motor más barato (docTR) tiene la segunda mejor tasa de error de caracteres, mientras que el más caro (Surya2) tiene la mejor.
Los dos números que los escritores necesitan con más frecuencia: $0.048 por cada 1,000 páginas para el motor más barato medido (docTR, 449.3 páginas/min) frente a $1.061 por cada 1,000 páginas para el más caro (Surya2, 12.1 páginas/min) — misma división de prueba, mismo nivel de GPU, misma marca de tiempo de precio. Tesseract es solo CPU: no consume horas de GPU facturadas y su celda de costo está vacía en el CSV de origen por diseño — no es cero, y no es gratis.
El costo por cada 1,000 páginas es el tiempo de GPU facturado para procesar 1,000 páginas a la tarifa horaria registrada — tiempo de ejecución en tiempo real × $0.76/hora, donde el tiempo en tiempo real incluye la inicialización del modelo. Toda la clasificación de costos de esta página se calcula exactamente de esa manera; la aritmética detallada se muestra en la sección Cómo Estimar Su Propio Costo y en la línea de fuente de cada tabla.
Debido a que la factura se mide por hora, el costo sigue al tiempo, no a la precisión: un motor que lee una página en 109 ms cuesta ~25× menos que uno que la lee en 2,668 ms a la misma tarifa. El costo de cada motor disminuye aún más a medida que crece el tamaño del lote, porque el costo único de inicialización del modelo se amortiza en más páginas — las cifras en dólares a continuación reflejan el patrón de ejecución del benchmark (división de prueba fija, medición warm_then_scored) y no serán las mismas que el costo de su propia ejecución.
SROIE 2019: Clasificación de Costos por Cada 1,000 Páginas
En 361 recibos en inglés, los motores OCR tradicionales de dos etapas ocupan el extremo económico y los VLM de análisis de documentos el extremo costoso — pero la dispersión dentro de cada familia es lo que sorprende: PaddleOCR-VL, un VLM compacto de 0.9B, se sitúa en $0.2048, dentro de 4.3× del motor más barato, mientras que su hermano VLM Surya2 cuesta 22.2× el más barato — una dispersión de 5.2× solo dentro del clúster de VLM.
Fuente: summary_metrics.csv — columna cost_per_1000_pages, filas sroie_2019. docTR 0.0479, EasyOCR 0.1098, PaddleOCR-VL 0.2048, PaddleOCR 0.2214, Unlimited-OCR 0.3879, Docling 0.3978, Surya2 1.0609. Tesseract solo CPU: celda vacía en el CSV (sin horas de GPU facturadas). Costo = tiempo de ejecución en tiempo real × $0.76/hora (RunPod RTX 4090, precio con marca de tiempo de agosto de 2026), incluyendo la inicialización del modelo.
| Rango | Modelo | Tipo | Costo / 1K páginas | Páginas/min | Fuente |
|---|---|---|---|---|---|
| 1 | docTR | OCR tradicional (GPU) | $0.0479 | 449.3 | summary_metrics.csv · fila doctr/sroie_2019 |
| 2 | EasyOCR | OCR tradicional (GPU) | $0.1098 | 124.5 | summary_metrics.csv · fila easyocr/sroie_2019 |
| 3 | PaddleOCR-VL | VLM de análisis de documentos | $0.2048 | 68.2 | summary_metrics.csv · fila paddleocr_vl_vllm/sroie_2019 |
| 4 | PaddleOCR | OCR tradicional (GPU) | $0.2214 | 79.7 | summary_metrics.csv · fila paddleocr/sroie_2019 |
| 5 | Unlimited-OCR | VLM de análisis de documentos | $0.3879 | 34.4 | summary_metrics.csv · fila unlimited_ocr/sroie_2019 |
| 6 | Docling | Analizador de pipeline | $0.3978 | 56.7 | summary_metrics.csv · fila docling/sroie_2019 |
| 7 | Surya2 | VLM de análisis de documentos | $1.0609 | 12.1 | summary_metrics.csv · fila surya2/sroie_2019 |
| — | Tesseract | OCR tradicional (CPU) | n/d (solo CPU, sin facturación de GPU) | 78.6 | summary_metrics.csv · fila tesseract/sroie_2019 |
Tabla: summary_metrics.csv — cost_per_1000_pages / pages_per_minute, filas sroie_2019 (361 muestras cada una, error_rate 0.0). GPU a $0.76/hora (RTX 4090, precio con marca de tiempo en los manifiestos); Tesseract se ejecutó solo en CPU (celda de costo vacía por diseño — sin horas de GPU facturadas, no un costo cero). El costo incluye la inicialización del modelo, por lo que el costo por página disminuye con lotes más grandes.
El costo sigue al rendimiento, no a la precisión
Clasifique los motores por costo y por precisión de caracteres y las dos clasificaciones apenas coinciden. La mejor calidad de texto bruto en SROIE pertenece a Surya2 (CER 0.1915) — el motor más caro a $1.0609 — mientras que la segunda mejor pertenece a docTR (CER 0.1971) — el más barato a $0.0479. El costo es una factura por tiempo: los 12.1 páginas/min de Surya2 compran ~37× menos rendimiento que los 449.3 páginas/min de docTR a la misma tarifa horaria.
La correlación de peso de arquitectura es real pero flexible. Como clase, los VLM de análisis de documentos (Surya2, Unlimited-OCR, PaddleOCR-VL) se sitúan por encima de los motores OCR tradicionales de dos etapas (docTR, EasyOCR, PaddleOCR), con el analizador de pipeline Docling entre ellos. Pero dentro de cada clase la dispersión es amplia — el grupo VLM abarca 5.2× ($0.2048 a $1.0609) y el grupo tradicional abarca 4.6× ($0.0479 a $0.2214) — y PaddleOCR-VL, el VLM más pequeño en la ejecución con 0.9B parámetros, está dentro de 4.3× del motor más barato mientras que Surya2 está a 22.2×. La conclusión práctica: asuma que "más preciso = más caro" es falso hasta que lo mida en sus propios documentos; en este benchmark la relación entre el rango de costo y el rango de precisión está efectivamente desacoplada.
Fuente: summary_metrics.csv — columna pages_per_minute, filas sroie_2019. Páginas/min en tiempo real incluyendo la inicialización del modelo. Tesseract se ejecutó solo en CPU (78.6 páginas/min en hardware de CPU).
| Modelo | Tipo | CER (menor = mejor) | Latencia p50 (ms) | Páginas/min | Costo / 1K páginas | Costo vs docTR | Fuente |
|---|---|---|---|---|---|---|---|
| docTR | OCR tradicional | 0.1971 | 108.7 | 449.3 | $0.0479 | 1.00× | summary_metrics.csv · fila doctr/sroie_2019 |
| EasyOCR | OCR tradicional | 0.2833 | 413.6 | 124.5 | $0.1098 | 2.29× | summary_metrics.csv · fila easyocr/sroie_2019 |
| PaddleOCR | OCR tradicional | 0.2045 | 297.0 | 79.7 | $0.2214 | 4.62× | summary_metrics.csv · fila paddleocr/sroie_2019 |
| Tesseract | OCR tradicional (CPU) | 0.3347 | 670.9 | 78.6 | n/a (CPU) | n/a | summary_metrics.csv · fila tesseract/sroie_2019 |
| PaddleOCR-VL | VLM de análisis de documentos | 0.3370 | 694.3 | 68.2 | $0.2048 | 4.28× | summary_metrics.csv · fila paddleocr_vl_vllm/sroie_2019 |
| Docling | Analizador de pipeline | 0.5909 | 732.0 | 56.7 | $0.3978 | 8.31× | summary_metrics.csv · fila docling/sroie_2019 |
| Unlimited-OCR | VLM de análisis de documentos | 0.6552 | 1,600.7 | 34.4 | $0.3879 | 8.10× | summary_metrics.csv · fila unlimited_ocr/sroie_2019 |
| Surya2 | VLM de análisis de documentos | 0.1915 | 2,668.0 | 12.1 | $1.0609 | 22.16× | summary_metrics.csv · fila surya2/sroie_2019 |
Tabla: summary_metrics.csv — cer / latency_p50_ms / pages_per_minute / cost_per_1000_pages, filas sroie_2019. Los ratios de costo se calculan por división simple contra el 0.0479 de docTR (p. ej., 1.0609 / 0.0479 = 22.16). El CER de Surya2 debe leerse con la advertencia de normalización de mayúsculas de la metodología (las salidas de VLM se normalizan en cuanto a mayúsculas; el CER sobreestima el error de VLM). La latencia de Tesseract es de hardware CPU; su celda de costo está vacía por diseño (sin facturación de GPU).
La columna de latencia añade la perspectiva de carga de trabajo interactiva: el costo por volumen y la latencia por página son dos vistas del mismo hecho de tiempo real. El p50 de docTR de 108.7 ms lo convierte tanto en el más barato por cada 1,000 páginas como en el único motor cercano a la respuesta interactiva; el p50 de Surya2 de 2,668 ms lo convierte tanto en el más caro como en una carga de trabajo solo por lotes en recibos. Los detalles de latencia se analizan en el resumen comparativo de 8 motores.
CORD (Recibos de Indonesia): El Costo Depende del Conjunto de Datos
Cambia el conjunto de documentos y la clasificación de costos se reorganiza — lo que demuestra que el costo por cada 1,000 páginas no es una constante del motor. En CORD v2, EasyOCR se convierte en el motor más barato ($0.0863) y docTR baja al segundo lugar ($0.0939), mientras que los anclajes se mantienen en ambos extremos: docTR sigue cerca del fondo y Surya2 sigue siendo el más caro ($1.1616). La dispersión en CORD se reduce a 13.5×.
El mecanismo es el rendimiento en el conjunto de documentos real: los recibos de Indonesia de CORD son más cortos y menos densos en texto que los de inglés de SROIE, por lo que las páginas por minuto de cada motor cambian, y el costo por cada 1,000 páginas lo sigue. Los dos conjuntos de datos se mantienen deliberadamente separados en este benchmark — CORD también lleva una inflación de estructura de anotación en su ground truth que hace que sus lecturas de CER no sean fiables (ver metodología) — así que trata las columnas de SROIE y CORD como dos puntos de datos independientes, no como una sola clasificación.
Fuente: summary_metrics.csv — columna cost_per_1000_pages, filas cord_v2. EasyOCR 0.0863, docTR 0.0939, Unlimited-OCR 0.2063, PaddleOCR-VL 0.2409, PaddleOCR 0.3419, Docling 0.5382, Surya2 1.1616. Tesseract solo CPU (celda vacía). Misma RTX 4090 @ $0.76/hora (precio con marca de tiempo), costo incl. init del modelo.
| Rango | Modelo | Tipo | Costo / 1K páginas | Fuente |
|---|---|---|---|---|
| 1 | EasyOCR | OCR tradicional (GPU) | $0.0863 | summary_metrics.csv · fila easyocr/cord_v2 |
| 2 | docTR | OCR tradicional (GPU) | $0.0939 | summary_metrics.csv · fila doctr/cord_v2 |
| 3 | Unlimited-OCR | VLM de análisis de documentos | $0.2063 | summary_metrics.csv · fila unlimited_ocr/cord_v2 |
| 4 | PaddleOCR-VL | VLM de análisis de documentos | $0.2409 | summary_metrics.csv · fila paddleocr_vl_vllm/cord_v2 |
| 5 | PaddleOCR | OCR tradicional (GPU) | $0.3419 | summary_metrics.csv · fila paddleocr/cord_v2 |
| 6 | Docling | Analizador de pipeline | $0.5382 | summary_metrics.csv · fila docling/cord_v2 |
| 7 | Surya2 | VLM de análisis de documentos | $1.1616 | summary_metrics.csv · fila surya2/cord_v2 |
| — | Tesseract | OCR tradicional (CPU) | n/d (solo CPU, sin facturación de GPU) | summary_metrics.csv · fila tesseract/cord_v2 |
Tabla: summary_metrics.csv — cost_per_1000_pages, filas cord_v2 (100 muestras cada una). CORD se mantiene separado del ranking SROIE (idioma diferente, estructura de ground-truth diferente); el objetivo de la comparación es que el costo por cada 1,000 páginas varía con el conjunto de documentos, no que un ranking "gane".
Escenarios de Volumen Mensual (Estimaciones Derivadas)
Las cifras por cada 1,000 páginas se multiplican directamente en los cálculos de volumen que necesitan los responsables de presupuestos. A 100,000 páginas/mes sobre la base de costo de SROIE, el tiempo de GPU de docTR es de $4.79/mes y el de Surya2 es de $106.09/mes — una diferencia de aproximadamente $101/mes que se amplía a unos $1,013/mes a 1 millón de páginas. Estas son extensiones aritméticas de las cifras medidas por cada 1,000 páginas, no ejecuciones adicionales.
| Volumen mensual | Tiempo de GPU de docTR (aritmético) | Tiempo de GPU de Surya2 (aritmético) | Diferencia | Base |
|---|---|---|---|---|
| 10,000 páginas | $0.48 (10 × $0.0479) | $10.61 (10 × $1.0609) | $10.13 | summary_metrics.csv cost_per_1000_pages, filas doctr / surya2 sroie_2019; derivado por multiplicación simple — no es una ejecución medida |
| 100,000 páginas | $4.79 (100 × $0.0479) | $106.09 (100 × $1.0609) | $101.30 | |
| 1,000,000 páginas | $47.88 (1,000 × $0.0479) | $1,060.85 (1,000 × $1.0609) | $1,012.97 |
Tabla: Estimaciones derivadas sobre la base de costo de SROIE 2019 — no son ejecuciones medidas. Cada celda es una multiplicación simple del cost_per_1000_pages medido (docTR 0.0479, Surya2 1.0609; filas sroie_2019 de summary_metrics.csv) por el volumen en miles, a la misma tarifa de $0.76/hora de RTX 4090, precio con fecha de agosto de 2026. Solo tiempo de GPU — sin CPU, almacenamiento, salida de datos, orquestación ni posprocesamiento con LLM. A 10 millones de páginas/mes, solo Surya2 alcanza aproximadamente $10,609/mes sobre esta base (10,000 × $1.0609).
El perfil de costo real de Tesseract: sin factura de GPU, pero no gratis
Tesseract es el único motor solo-CPU en la evaluación comparativa, y su celda de costo está vacía por diseño — no consumió horas de GPU facturables, por lo que no hay nada que facturar a $0.76/hora. Eso no es lo mismo que no costar nada: la infraestructura de CPU en la que se ejecuta (tu propio hardware o una instancia de CPU alquilada) es un costo real que esta evaluación no cuantifica, y su límite de recuperación de campos puede empujar el gasto hacia etapas posteriores.
En SROIE, Tesseract aún mantuvo 78.6 páginas/min en CPU — más alto que cuatro de los siete motores GPU (PaddleOCR-VL 68.2, Docling 56.7, Unlimited-OCR 34.4, Surya2 12.1). A bajo volumen en infraestructura de CPU ya aprovisionada, eso lo hace genuinamente rentable: sin alquiler de GPU en absoluto. El inconveniente aparece cuando los campos, no solo el texto, son el entregable: el texto base débil de Tesseract limita lo que un LLM posterior puede recuperar — su F1 de campo LLM en CORD es 0.163 con un CER de CORD de 0.9523 (field_method_comparison.csv, fila tesseract/cord_v2) — por lo que el ahorro de GPU puede verse compensado por gastos de posprocesamiento y corrección en otros lugares. La compensación CPU-vs-GPU es el tema del enfrentamiento dedicado Tesseract vs PaddleOCR; el límite del posprocesador se cubre en la comparación de extracción basada en reglas vs LLM.
Costo del pipeline ≠ costo del motor: el límite del posprocesador LLM
Cada número en esta página es la factura de GPU del motor OCR y nada más. Los pipelines de extracción en producción comúnmente añaden una pasada de extracción de campos con LLM sobre el texto OCR — la evaluación ejecutó una (deepseek-v4-flash) en las 16 ejecuciones — y esa pasada es un costo de API separado por token que no aparece en ninguna cifra de motor aquí.
El CSV de comparación registra los recuentos de tokens para la pasada de posprocesamiento en SROIE — por ejemplo, el texto OCR de docTR costó 151,131 tokens de prompt + 25,377 tokens de finalización para extraer los cuatro campos de recibo — y esos recuentos de tokens son la base para estimar el gasto adicional. Esta página deliberadamente no convierte tokens a dólares: los precios de LLM varían según proveedor, plan y modelo, y cualquier cifra en dólares quedaría obsoleta de inmediato. El costo del motor y el costo del pipeline son dos líneas en el presupuesto; la línea del LLM es función del diseño de tu prompt y del proveedor, no del motor OCR.
| Motor (fuente de texto OCR) | Tokens de prompt LLM (SROIE) | Tokens de finalización LLM (SROIE) | Fuente |
|---|---|---|---|
| Tesseract | 128,285 | 24,561 | field_method_comparison.csv · fila tesseract/sroie_2019 |
| PaddleOCR | 134,746 | 26,059 | field_method_comparison.csv · fila paddleocr/sroie_2019 |
| EasyOCR | 138,689 | 25,607 | field_method_comparison.csv · fila easyocr/sroie_2019 |
| docTR | 151,131 | 25,377 | field_method_comparison.csv · fila doctr/sroie_2019 |
| Surya2 | 130,262 | 26,372 | field_method_comparison.csv · fila surya2/sroie_2019 |
| Docling | 157,191 | 26,087 | field_method_comparison.csv · fila docling/sroie_2019 |
| Unlimited-OCR | 185,705 | 25,876 | field_method_comparison.csv · fila unlimited_ocr/sroie_2019 |
| PaddleOCR-VL | 148,973 | 26,301 | field_method_comparison.csv · fila paddleocr_vl_vllm/sroie_2019 |
Tabla: field_method_comparison.csv — llm_prompt_tokens / llm_completion_tokens, filas sroie_2019; llm_model = deepseek-v4-flash. Los recuentos de tokens cubren una pasada de extracción de campos (cuatro campos de recibo) sobre la división de prueba SROIE de 361 páginas. Estos son la base para estimar el gasto de posprocesamiento con LLM; no se proporciona conversión en dólares porque los precios de LLM varían según el proveedor y el plan.
Cómo Estimar Su Propio Costo
No necesita volver a ejecutar un punto de referencia de 8 motores para obtener una estimación de costos defendible para su propia carga de trabajo. El método del punto de referencia — tiempo de ejecución × su tarifa por hora — se reproduce con cuatro pasos y un ejemplo práctico.
- Elija su motor y su rendimiento medido. Use la columna de páginas por minuto como proxy para un tipo de documento similar (p. ej., docTR 449.3 o Surya2 12.1 páginas/min en SROIE; filas sroie_2019 de summary_metrics.csv). Para su propia combinación de documentos, mida su propio rendimiento en una muestra pequeña — la clasificación anterior muestra que el costo por 1,000 páginas depende del conjunto de datos.
- Convierta el volumen a horas de tiempo de ejecución.
horas = (inicialización del modelo + N / páginas_por_minuto) / 60para N páginas. La inicialización del modelo se paga una vez por proceso/lote, por lo que debe aparecer en el numerador. - Multiplique por su tarifa por hora.
costo = horas × tarifa. La tarifa del punto de referencia fue de $0.76/hora (RunPod RTX 4090, precio con fecha de agosto de 2026). Ejemplo práctico del propio punto de referencia: la ejecución de docTR en SROIE tomó 81,867 ms de tiempo de ejecución para 361 páginas (performance.run_wall_time_msen su manifiesto redactado) → 0.0227 h × $0.76 = $0.0173 para la ejecución → × 1,000 / 361 = $0.0479 por 1,000 páginas, coincidiendo exactamente con la fila del CSV. - Considere la amortización de la inicialización y el tamaño del lote. Los 81,867 ms anteriores incluyen la inicialización para un lote de 361 páginas; a 1,000,000 de páginas, la misma inicialización se diluye ~2,770× y el costo por página se acerca al estado estacionario puro. Los lotes pequeños pagan el costo de inicialización repetidamente — un lote de 10 páginas paga la misma inicialización que una ejecución de 10,000 páginas, por lo que el costo por 1,000 páginas aumenta bruscamente con lotes pequeños. Si su carga de trabajo es intermitente, aumente el tamaño de los lotes o acepte una economía dominada por la inicialización.
- Agregue costos de canalización en líneas separadas. La extracción de campos con LLM se factura por token (recuentos de tokens en el CSV de comparación), el almacenamiento y la transferencia de datos se facturan por byte, y las pilas de solo CPU estilo Tesseract se facturan por tiempo de CPU — ninguno de esos está incluido en las cifras por 1,000 páginas de esta página.
Este es un método aproximado derivado de la base de costos del propio punto de referencia (tiempo de ejecución × tarifa, incl. inicialización del modelo); no es asesoramiento financiero y sus cifras exactas varían según el hardware, la combinación de documentos, los tamaños de lote y la utilización. La tarifa de $0.76/hora es un precio bajo demanda de agosto de 2026 con fecha — vuelva a calcularla con las tarifas actuales.
Preguntas Frecuentes
¿Cuánto cuesta el OCR por cada 1,000 páginas?
Entre $0.048 (docTR) y $1.061 (Surya2) por cada 1,000 páginas en SROIE 2019, medido en una RTX 4090 a $0.76/hora con el precio con fecha de agosto de 2026 (summary_metrics.csv cost_per_1000_pages, filas sroie_2019). El costo incluye la inicialización del modelo, por lo que el costo por página disminuye a medida que crece el tamaño del lote. En CORD v2, los mismos motores van de $0.086 (EasyOCR) a $1.162 (Surya2).
¿Qué motor OCR de código abierto es el más barato de ejecutar?
docTR fue el motor GPU más barato medido a $0.0479 por cada 1,000 páginas en SROIE (449.3 páginas/min, fila doctr/sroie_2019 de summary_metrics.csv) — y la advertencia sobre la dependencia del conjunto de datos importa: en CORD v2, EasyOCR ($0.0863) superó a docTR ($0.0939). La respuesta a "¿cuál es el más barato?" depende de tu conjunto de documentos; los anclajes (docTR casi bajo, Surya2 alto) se mantuvieron en ambos.
¿Por qué el motor más rápido también es el más barato?
Porque la factura se basa en horas de tiempo real a $0.76/hora: el motor que termina una página en 109 ms (docTR) paga ~1/25 de las horas que paga un motor de 2,668 ms (Surya2) por página (summary_metrics.csv latency_p50_ms / cost_per_1000_pages, filas sroie_2019). Con facturación de GPU por uso, el rendimiento es el costo — por eso la clasificación de costos y la de rendimiento son casi imágenes especulares.
¿El OCR de Tesseract es gratuito?
No — Tesseract es solo CPU, por lo que no consume horas de GPU facturadas y su celda de costo está vacía en el CSV de referencia por diseño, pero eso no es un cero: la infraestructura de CPU en la que se ejecuta es un costo real, y su límite de recuperación de campos (F1 de campo LLM de CORD 0.163, fila tesseract/cord_v2 de field_method_comparison.csv) puede elevar el gasto hacia el posprocesamiento. A bajo volumen en hardware de CPU ya aprovisionado puede ser genuinamente rentable — 78.6 páginas/min en SROIE, más rápido que cuatro de los siete motores GPU — pero "sin factura de GPU" y "gratuito" son afirmaciones diferentes.
¿Por qué Surya2 es tan caro por cada 1,000 páginas?
Porque es el motor más lento del benchmark: 12.1 páginas/min en SROIE significa la mayor cantidad de horas de tiempo real por cada 1,000 páginas a la misma tarifa de $0.76/hora (summary_metrics.csv pages_per_minute / cost_per_1000_pages, fila surya2/sroie_2019). Cabe destacar que también tiene la mejor precisión de caracteres (CER 0.1915) — el ejemplo más claro del benchmark de que el costo sigue al tiempo, no a la precisión.
¿El costo de OCR por página disminuye a medida que crece el volumen?
Sí, hasta un límite mínimo. El costo aquí incluye la inicialización del modelo, que se paga una vez por proceso/lote; la ejecución de docTR en el benchmark pagó la inicialización dentro de 81,867 ms para 361 páginas (manifest performance.run_wall_time_ms), por lo que a 1 millón de páginas esa inicialización se diluye hasta casi cero y el costo se acerca al rendimiento puro en estado estable. El límite mínimo es el costo en estado estable en sí mismo — los $0.0479/1K de docTR en SROIE ya están cerca de su límite; los $1.0609 de Surya2 reflejan una inferencia en estado estable genuinamente lenta, no solo una sobrecarga de inicialización.
¿Qué no está incluido en estas cifras por cada 1,000 páginas?
El posprocesamiento con LLM (un costo de API por token separado; recuentos de tokens en field_method_comparison.csv), CPU/infraestructura para pilas estilo Tesseract, almacenamiento y salida, orquestación, brechas de utilización de GPU y servicios de OCR en la nube/API — nada de lo cual está en la factura de GPU del motor que representan estas cifras. Las API en la nube también facturan por llamada con precios según la función, un modelo de costo diferente al tiempo de GPU alquilado; no se comparan en esta página.
¿De dónde provienen estos números?
Cada cifra es una fila de los CSV publicados del benchmark de primera parte — results/summary_metrics.csv (costo por 1,000 páginas, rendimiento, latencia, precisión) y results/field_method_comparison.csv (tokens del posprocesador LLM y F1 de campo) — alojados en ImageToTableai/benchmark-ocr, con un manifest.json redactado por ejecución que registra la tarifa de $0.76/hora, la marca de tiempo del precio de agosto de 2026, las versiones del modelo y los hashes del entorno.
Metodología y fuentes
Protocolo
Esta página informa la dimensión de costo de una ejecución de referencia independiente y reproducible (nivel oficial) — no una encuesta de afirmaciones de terceros. Solo divisiones de prueba fijas: prueba de SROIE 2019 (361 recibos en inglés, campos planos empresa/fecha/dirección/total) y prueba de CORD v2 (100 recibos en indonesio, campos anidados menú/subtotal/total); las divisiones de entrenamiento nunca se evaluaron. Cada par (motor × conjunto de datos) reutilizó las mismas imágenes, la misma verdad de referencia y el mismo protocolo de medición (warm_then_scored: una pasada de calentamiento fija precede a la pasada puntuada). Las 16 ejecuciones se completaron con error_rate 0.0 (columna error_rate de summary_metrics.csv).
Entorno de ejecución y base de costos
- Hardware: todas las ejecuciones de GPU en una NVIDIA RTX 4090 (24 GB); el costo de GPU se calcula a la tarifa bajo demanda de RunPod de $0.76/hora, con la marca de tiempo del precio (
price_recorded_at_utc 2026-08-13T08:00:00Z) registrada en el manifiesto redactado de cada ejecución. Tesseract se ejecutó solo con CPU y no tiene costo de GPU (celda de costo vacía en el CSV — por diseño, no un cero). - Fórmula de costo: costo por 1,000 páginas = tiempo de ejecución de pared × $0.76/hora × (1,000 / páginas procesadas), incluida la inicialización del modelo. Verificado por el ejemplo trabajado de docTR en la sección Cómo estimar (81,867 ms → $0.0479/1K).
- Motores: todos los modelos se ejecutan listos para usar, sin ajuste fino. Versiones bloqueadas según los manifiestos de ejecución (Tesseract 5.3.4, PaddleOCR 3.7.0, EasyOCR 1.7.2, docTR v1.0.1, Docling 2.119.0, Surya2 0.22.1, Unlimited-OCR servido por vLLM, PaddleOCR-VL 1.6).
- Postprocesador LLM: deepseek-v4-flash vía API a temperatura 0 (la columna llm_model en field_method_comparison.csv); sus recuentos de tokens se informan como base para el costo de pipeline separado — las cifras de costo del motor OCR nunca lo incluyen.
- Postprocesamiento de campos: las métricas de campo de SROIE son
postprocessed_sroie_receipt_regex_*/ variantes LLM — campos extraídos del texto de OCR, no de la salida estructurada nativa. - Advertencia de CORD: el texto de verdad de referencia de CORD incorpora la estructura de anotación, lo que infla el CER bruto para cada motor; por lo tanto, las filas de CORD se mantienen separadas de las clasificaciones de SROIE. Las cifras de costo (basadas en tiempo de ejecución de pared) no se ven afectadas por la advertencia de CER, pero ambos conjuntos de datos siguen siendo solo recibos.
Definición de Métricas
- Costo por 1,000 páginas: horas de GPU facturadas por 1,000 páginas a la tarifa registrada de $0.76/hora, tiempo real incluyendo la inicialización del modelo. Vacío para Tesseract solo con CPU.
- Páginas por minuto: rendimiento en tiempo real incluyendo la inicialización del modelo.
- Latencia p50/p95: tiempo de inferencia por página en estado estable (evaluado en caliente, excluye la carga del modelo).
- CER/WER: distancia de edición (inserciones + eliminaciones + sustituciones) sobre los caracteres/palabras de referencia. Sensible a mayúsculas y convenciones de formato — las salidas de VLM están normalizadas en mayúsculas, por lo que CER sobreestima el error de VLM (ver la página de resumen).
- F1 de valor de campo: media armónica de precisión/recall sobre los valores de campo extraídos, por postprocesador (regex o LLM).
Lista de Fuentes
- summary_metrics.csv (GitHub raw). 16 filas = 8 motores × 2 conjuntos de datos de recibos (sroie_2019, cord_v2). Columnas: model, compute_type, dataset, cer, wer, field_f1_regex, field_acc_regex, latency_p50_ms, latency_p95_ms, cost_per_1000_pages, pages_per_minute, error_rate. Cada cifra de costo, rendimiento, latencia y CER en esta página proviene de una fila aquí.
- field_method_comparison.csv (GitHub raw). 16 filas; columnas model, dataset, llm_model (= deepseek-v4-flash), precisión y F1 de valor de campo regex/LLM, document-fields-exact, llm_median_latency_ms, llm_prompt_tokens, llm_completion_tokens. Cada recuento de tokens y cifra de F1 de campo LLM proviene de una fila aquí.
- Repositorio ImageToTableai/benchmark-ocr. Repositorio público que aloja los CSV de resultados, manifiestos de ejecución redactados, protocolo congelado y listas de muestra de conjuntos de datos (divisiones de prueba fijas) para reproducción.
- results/manifests/ (GitHub). Un manifest.json redactado por ejecución publicada (16 ejecuciones) con la huella del entorno, versiones del modelo, metadatos de costo (
gpu_hourly_usd,price_recorded_at_utc), tiempo real y hashes de artefactos. - Huang et al., "ICDAR2019 Competition on Scanned Receipt OCR and Information Extraction" (2019). Definición del conjunto de datos SROIE 2019, estructura de tareas y licencia (CC-BY-4.0).
- Park et al., "CORD: A Consolidated Receipt Dataset for Post-OCR Parsing" (2020). Definición del conjunto de datos CORD v2, esquema de campos anidados y licencia (CC-BY-4.0).
Limitaciones
- Un solo nivel de GPU y una única marca de tiempo de precio: todas las cifras de GPU provienen de una RTX 4090 a $0.76/hora, precio registrado en agosto de 2026. Los precios de GPU spot/on-demand cambian — vuelva a calcular con las tarifas actuales; otras GPUs, servicio multi-GPU y programación por lotes alteran el rendimiento y el costo.
- Solo recibos: recibos SROIE (inglés) y CORD (indonesio). El costo, el rendimiento y la precisión en facturas, formularios, contratos o documentos largos no están medidos; las clasificaciones anteriores no son generalizables más allá de los recibos.
- El costo incluye la inicialización del modelo — depende del tamaño del lote: las cifras reflejan el patrón de ejecución del benchmark (divisiones fijas de 361/100 páginas, cálido y luego puntuado). Los lotes más pequeños pagan la inicialización repetidamente y cuestan más por cada 1,000 páginas; los lotes más grandes se acercan al piso de estado estable.
- Asimetría CPU/GPU: Tesseract (CPU) se compara con motores acelerados por GPU. Su ventaja de costo refleja facturación de GPU cero, no costo cero — la infraestructura de CPU, la energía y el tiempo del personal no están cuantificados, y su techo de recuperación de campos (F1 de campo LLM CORD 0.163) puede trasladar el gasto al postprocesamiento.
- Sin modelos de nube/API: AWS Textract, Google Document AI, Azure AI Document Intelligence y las API de OCR/VLM alojadas no están incluidas; su precio por llamada y por función medida difiere fundamentalmente de la facturación por tiempo de pared de GPU alquilada y no se implica ninguna comparación.
- Utilización y tiempo inactivo no modelados: las cifras asumen que la GPU se factura por el tiempo de pared de la ejecución y que por lo demás no se utiliza; las implementaciones reales con GPUs inactivas, multiinquilino o subutilizadas tienen costos efectivos diferentes.
- El costo del postprocesamiento LLM no se convierte a dólares: los recuentos de tokens (field_method_comparison.csv) son la base; el precio de LLM varía según el proveedor y el plan y se deja intencionalmente al lector.
- Los escenarios derivados no se miden: la tabla de volumen mensual es aritmética simple sobre la base de costos de SROIE, etiquetada como estimaciones derivadas — no ejecuciones de benchmark adicionales.
- Tamaño de muestra y fijación de versiones: 361 + 100 muestras; los resultados se mantienen para las versiones de modelos de agosto de 2026 enumeradas anteriormente. Los lanzamientos de motores más nuevos pueden cambiar el costo/rendimiento; las diferencias de un solo dígito porcentual deben tratarse como ruido.
Referencias relacionadas: OCR tradicional vs VLM de análisis de documentos · docTR vs Surya2: Empate en CER, Brecha de Costo · Tesseract vs PaddleOCR: Perfil de Costo de CPU · cómo las regex y los LLM extraen campos · Desglose del Costo de Procesamiento de Documentos
Lectura relacionada: Precios de Extracción de Documentos con IA (2026) · precisión a nivel de campo en OCR con IA vs OCR tradicional · cómo la extracción visual con IA lee imágenes de manera diferente al OCR