🚀 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
Información del Servicio
Obtiene información básica del servicio y endpoints disponibles.
Extracción Básica de Texto
Requiere autenticación - Extrae texto de una imagen con configuración por defecto.
Parámetros:
image(file): Archivo de imagenAuthorization(header): Bearer TOKEN
Extracción Avanzada de Texto
Requiere autenticación - Extrae texto con opciones de configuración avanzadas.
Parámetros:
image(file): Archivo de imagenlanguage(string, opcional): Idiomas (ej: "spa+eng")psm(string, opcional): Modo de segmentación (6 por defecto)whitelist(string, opcional): Caracteres permitidosAuthorization(header): Bearer TOKEN
Validar 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ñoleng- Inglésfra- Francésdeu- Alemánspa+eng- Español + Inglés (recomendado)
Modos de Segmentación (PSM)
6- Bloque uniforme de texto (por defecto)7- Una sola línea de texto8- Una sola palabra13- 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