Imagen a tabla
Extrae estructuras de tablas como JSON, CSV o Excel.
POST /api/v1/image-to-table
Envía una imagen en el campo multipart image a POST /api/v1/image-to-table; los valores admitidos de format son json (predeterminado), csv y xlsx. Sustituye YOUR_API_KEY y table.png, y llama desde tu servidor según las instrucciones Bearer.
curl --silent --show-error --include --max-time 150 \
'https://freeaiocr.com/api/v1/image-to-table?format=json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Idempotency-Key: example-table-request-0001' \
-F 'image=@table.png'La respuesta JSON incluye request_id, usage, billing y tables con objetos {title, html}. El HTML se limpia por seguridad; Table N es un nombre de respaldo, no un título detectado. No se expone el texto bruto del modelo.
{
"request_id": "b2c8ec98-2a36-4f87-99d2-3d7839b92518",
"usage": {
"input_tokens": 2000,
"output_tokens": 4000
},
"billing": {
"currency": "USD",
"price_version": "2026-10-26-v1",
"base_usd": "0.002000000",
"input_overage_usd": "0.000000000",
"output_overage_usd": "0.002400000",
"total_usd": "0.004400000"
},
"tables": [
{
"title": "Sales",
"html": "<table><tbody><tr><th>Item</th><th>Qty</th></tr><tr><td>Notebook</td><td>0012</td></tr></tbody></table>"
}
]
}Conserva la misma imagen y el mismo Idempotency-Key para descargar otros formatos sin volver a reconocer ni pagar:
curl --silent --show-error --fail --output tables.csv --max-time 150 \
'https://freeaiocr.com/api/v1/image-to-table?format=csv' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Idempotency-Key: example-table-request-0001' \
-F 'image=@table.png'curl --silent --show-error --fail --output tables.xlsx --max-time 150 \
'https://freeaiocr.com/api/v1/image-to-table?format=xlsx' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Idempotency-Key: example-table-request-0001' \
-F 'image=@table.png'- CSV: una tabla produce CSV UTF-8 normal; varias tablas producen secciones separadas por líneas en blanco, cada una encabezada por
# Table N: Title. No es un único CSV estándar. Divide las secciones antes de importar. Se neutralizan cadenas que podrían ejecutar fórmulas - XLSX: un archivo Excel con una hoja
Table Npor tabla y celdas combinadas preservadas. Los números, incluidos los ceros iniciales, se guardan como texto; revísalos antes de calcular - Entrada: la API solo admite una imagen PNG, JPEG o WebP de hasta 10 MB. La herramienta web también admite HEIC, HEIF y BMP, pero la API no. No se admiten PDF, documentos multipágina ni lotes, aunque una imagen puede contener varias tablas
Errores específicos y reglas compartidas
Si no se detecta una tabla válida, se devuelve 422 no_tables antes de la liquidación, se libera la reserva y no se cobra. Si falla la exportación CSV/XLSX tras reconocer y cobrar, se devuelve 503 export_failed con recognition_succeeded: true. Reintenta con format=json durante la ventana de repetición usando la misma imagen, cuenta e Idempotency-Key; no inicies otra operación si el cobro es incierto. Los errores son JSON con request_id, error.code y Cache-Control: no-store; las descargas correctas incluyen X-Request-Id, X-OCR-Charged-USD y X-OCR-Price-Version.
Cambiar format no repite el reconocimiento ni el cargo. Los resultados terminados pueden recuperarse durante 24 horas; los reintentos cuentan en los límites de frecuencia. Reutilizar una clave entre endpoints devuelve 409 idempotency_conflict, y el saldo API es independiente de los créditos web. Consulta precios y reservas, límites e idempotencia y reintentos seguros.