🔍 OCR API

Servicio de Reconocimiento Óptico de Caracteres

Extrae texto de imágenes de forma rápida y precisa

🚀 Características

Rápido y Eficiente

Procesamiento optimizado con Tesseract.js para obtener resultados en segundos.

🌐

Múltiples Idiomas

Soporte para español, inglés, francés, alemán y combinaciones de idiomas.

🔒

Seguro

Autenticación por token y limpieza automática de archivos temporales.

📊

Estadísticas Detalladas

Obtén métricas de confianza, palabras detectadas, líneas y párrafos.

🖼️

Formatos Múltiples

Compatible con JPG, PNG, GIF, BMP, WebP y TIFF hasta 10MB.

⚙️

Configurable

Modos de segmentación avanzados y filtros de caracteres personalizables.

📡 Estado del Servicio

API Operativa

Último check: Verificando...

📋 Endpoints de la API

GET

Información del Servicio

https://ocr.unatecla.us/

Obtiene información básica del servicio y endpoints disponibles.

POST

Extracción Básica de Texto

https://ocr.unatecla.us/extract-text

Requiere autenticación - Extrae texto de una imagen con configuración por defecto.

Parámetros:

  • image (file): Archivo de imagen
  • Authorization (header): Bearer TOKEN
POST

Extracción Avanzada de Texto

https://ocr.unatecla.us/extract-text-advanced

Requiere autenticación - Extrae texto con opciones de configuración avanzadas.

Parámetros:

  • image (file): Archivo de imagen
  • language (string, opcional): Idiomas (ej: "spa+eng")
  • psm (string, opcional): Modo de segmentación (6 por defecto)
  • whitelist (string, opcional): Caracteres permitidos
  • Authorization (header): Bearer TOKEN
GET

Validar Token

https://ocr.unatecla.us/validate-token

Requiere autenticación - Verifica si un token es válido.

💻 Ejemplos de Uso

Usando cURL

# Extracción básica curl -X POST \ -H "Authorization: Bearer TU_TOKEN_AQUI" \ -F "image=@imagen.jpg" \ https://ocr.unatecla.us/extract-text # Extracción avanzada curl -X POST \ -H "Authorization: Bearer TU_TOKEN_AQUI" \ -F "image=@imagen.jpg" \ -F "language=spa+eng" \ -F "psm=6" \ https://ocr.unatecla.us/extract-text-advanced

Usando JavaScript (Fetch)

async function extractText(imageFile, token) { const formData = new FormData(); formData.append('image', imageFile); formData.append('language', 'spa+eng'); try { const response = await fetch('https://ocr.unatecla.us/extract-text-advanced', { method: 'POST', headers: { 'Authorization': `Bearer ${token}` }, body: formData }); const result = await response.json(); if (response.ok) { console.log('Texto:', result.text); console.log('Confianza:', result.confidence); return result; } else { console.error('Error:', result.error); } } catch (error) { console.error('Error:', error); } }

Usando Python (requests)

import requests def extract_text(image_path, token): url = 'https://ocr.unatecla.us/extract-text-advanced' headers = {'Authorization': f'Bearer {token}'} with open(image_path, 'rb') as image_file: files = {'image': image_file} data = { 'language': 'spa+eng', 'psm': '6' } response = requests.post(url, headers=headers, files=files, data=data) if response.status_code == 200: result = response.json() print(f"Texto: {result['text']}") print(f"Confianza: {result['confidence']}%") return result else: print(f"Error: {response.json()}") # Uso token = 'TU_TOKEN_AQUI' result = extract_text('imagen.jpg', token)

Usando PHP (cURL)

new CURLFile($imagePath), 'language' => 'spa+eng', 'psm' => '6' ]; $headers = [ 'Authorization: Bearer ' . $token ]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($httpCode === 200) { $result = json_decode($response, true); echo "Texto: " . $result['text'] . "\n"; echo "Confianza: " . $result['confidence'] . "%\n"; return $result; } else { echo "Error: " . $response . "\n"; } } // Uso $token = 'TU_TOKEN_AQUI'; $result = extractText('imagen.jpg', $token); ?>

Respuesta de la API

Éxito (200):

{ "success": true, "text": "Texto extraído de la imagen", "confidence": 85.6, "words": 15, "lines": 3, "paragraphs": 1, "metadata": { "language": "spa+eng", "psm": "6", "originalFilename": "imagen.jpg", "fileSize": 1024000 } }

Error de autenticación (401):

{ "error": "Token de acceso requerido", "message": "Envía el token en el header Authorization: Bearer TOKEN" }

⚙️ Configuración

Idiomas Soportados

  • spa - Español
  • eng - Inglés
  • fra - Francés
  • deu - Alemán
  • spa+eng - Español + Inglés (recomendado)

Modos de Segmentación (PSM)

  • 6 - Bloque uniforme de texto (por defecto)
  • 7 - Una sola línea de texto
  • 8 - Una sola palabra
  • 13 - Línea cruda

Límites

  • Tamaño máximo: 10MB por imagen
  • Formatos: JPG, PNG, GIF, BMP, WebP, TIFF
  • Rate limiting: Aplicado por token

🔐 Obtener Token de Acceso

Para obtener un token de acceso a la API, contacta al administrador del servicio o envía un email a:

admin@unatecla.us

En tu solicitud incluye:

  • Propósito de uso de la API
  • Volumen estimado de requests
  • Información de contacto