{"openapi": "3.0.3", "info": {"title": "Argentech OCR", "version": "1.0.0", "description": "Consola y API para los motores ya instalados: Tesseract en ocrt y PaddleOCR (PP-OCRv6 small) en ocrp. El archivo va en el cuerpo del request. Esta API no descarga URLs."}, "servers": [{"url": "https://ocr.argentech.online"}], "components": {"securitySchemes": {"bearer": {"type": "http", "scheme": "bearer"}}}, "security": [{"bearer": []}], "paths": {"/health": {"get": {"security": [], "summary": "Estado del gateway y de cada motor", "responses": {"200": {"description": "Gateway en marcha"}}}}, "/v1/ocr": {"post": {"summary": "Procesar un documento con el motor elegido", "requestBody": {"required": true, "content": {"multipart/form-data": {"schema": {"type": "object", "required": ["file", "engine"], "properties": {"file": {"type": "string", "format": "binary"}, "engine": {"type": "string", "enum": ["tesseract", "paddle"]}, "lang": {"type": "string", "enum": ["eng", "eng+spa", "spa", "spa+eng"]}, "psm": {"type": "string", "enum": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"]}, "fileType": {"type": "integer", "enum": [0, 1]}, "useDocOrientationClassify": {"type": "boolean"}, "useDocUnwarping": {"type": "boolean"}, "useTextlineOrientation": {"type": "boolean"}, "textDetLimitSideLen": {"type": "integer", "minimum": 32, "maximum": 4000}, "textDetLimitType": {"type": "string", "enum": ["min", "max"]}, "textDetThresh": {"type": "number"}, "textDetBoxThresh": {"type": "number"}, "textDetUnclipRatio": {"type": "number"}, "textRecScoreThresh": {"type": "number"}, "returnWordBox": {"type": "boolean"}, "visualize": {"type": "boolean"}}}}}}, "responses": {"200": {"description": "Texto y respuesta cruda del motor"}, "401": {"description": "Sin bearer válido"}}}}, "/v1/tesseract/ocr": {"post": {"summary": "Mismos argumentos que POST /v1/ocr de ocrt", "parameters": [{"name": "lang", "in": "query", "schema": {"type": "string", "enum": ["eng", "eng+spa", "spa", "spa+eng"]}}, {"name": "psm", "in": "query", "schema": {"type": "string", "enum": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"]}}], "responses": {"200": {"description": "text, lang, pages"}}}}, "/v1/paddle/ocr": {"post": {"summary": "Mismos campos que POST /ocr de PaddleX, con file en base64", "responses": {"200": {"description": "InferResult de PaddleOCR"}}}}}}