Detectar el idioma de un documento
Ordenar por idioma una bandeja de archivos sin etiquetar es una tarea pequeña que silenciosamente frena un proceso mucho más grande, porque las herramientas de traducción, OCR y revisión necesitan saber qué están leyendo antes de poder trabajar. Este endpoint lee un documento, identifica su idioma o idiomas, y devuelve eso como JSON antes de que cualquier paso posterior siquiera abra el archivo.
Ejecútela online
Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.
El problema de enrutamiento que nadie nota hasta que falla
Una bandeja de soporte, una carpeta de recepción legal o un proyecto de archivo escaneado rara vez llegan etiquetados por idioma; el archivo simplemente aparece, y cada paso posterior —qué modelo de OCR usar, a qué traductor asignarlo, qué revisor domina el idioma lo suficiente para verificarlo— depende de conocer esa respuesta primero. Adivinar mal desperdicia por completo un ciclo de procesamiento, y hacerlo abriendo cada archivo a mano no funciona más allá de unas pocas docenas de documentos.
Quién necesita saber el idioma antes que nada
Agencias de traducción que clasifican un lote entrante de archivos de un cliente antes de cotizar o asignar traductor, equipos de soporte multinacionales que enrutan correspondencia escaneada a la oficina regional correcta, archivos digitales que ordenan una colección en varios idiomas antes de aplicar modelos de OCR específicos por idioma, y equipos de cumplimiento que marcan documentos en un idioma que requiere la aprobación de un revisor específico.
Qué devuelve la llamada
Envía el archivo a POST /ocr/language y recibe un task_id de inmediato, porque la detección corre como una tarea asíncrona en lugar de bloquear la solicitud. El resultado —el idioma o idiomas detectados, ordenados según cuánto del documento cubre cada uno en los casos de idiomas mixtos— llega mediante un webhook firmado o queda disponible en un enlace firmado durante 24 horas.
Por qué los documentos con varios idiomas son la verdadera prueba
Un memorando en un solo idioma es el caso fácil; el más difícil y mucho más común es un documento que cambia de idioma a mitad de página —un contrato con una cláusula en inglés y un anexo en español, un formulario con etiquetas impresas en un idioma y respuestas manuscritas en otro, un hilo de correo que va cambiando de idioma según responde cada participante. Detectar el idioma de forma confiable exige leer el documento completo en lugar de muestrear la primera línea, porque esa primera línea es precisamente donde un documento tiene menos probabilidad de revelar lo que hay en la página cuatro.
Dónde se ubica antes que todo lo demás
A $0.003 por solicitud más $0.0135 por documento, y con cobro solo cuando la detección tiene éxito, este endpoint resulta lo bastante económico como para correr como el primer paso de un flujo de recepción, antes del OCR, antes de la traducción, antes de que el documento llegue a una cola humana: el idioma detectado se convierte en la clave de enrutamiento para lo que sigue. Una detección fallida se reintenta automáticamente hasta tres veces sin costo, y el acceso requiere saldo prepago; no hay capa gratuita, lo que mantiene el endpoint ágil bajo volumen de recepción.
Qué puede hacer con ella
Clasificación en agencias de traducción
Una agencia detecta el idioma de cada archivo entrante de un cliente antes de cotizarlo o asignarlo a un traductor que trabaje en ese idioma.
Enrutamiento de soporte multinacional
Un equipo de soporte enruta correspondencia escaneada a la oficina regional que atiende el idioma detectado, en lugar de adivinar según la dirección del remitente.
Orden de archivos con varios idiomas
Un proyecto de digitalización ordena una colección de documentos escaneados sin etiquetar según el idioma detectado antes de aplicar el modelo de OCR correcto a cada grupo.
Asignación de revisión de cumplimiento
Un equipo de cumplimiento marca documentos escritos en un idioma que requiere la aprobación de un revisor específico antes de continuar el proceso.
Preguntas frecuentes
¿Qué devuelve la api detectar idioma de documento?
El idioma o idiomas detectados del documento en JSON, ordenados según cuánto del documento cubre cada uno cuando hay más de uno presente.
¿Cómo se usa la api de detección de idioma?
Envíe el archivo a POST /ocr/language, reciba un task_id de inmediato, y obtenga el idioma detectado por webhook o enlace firmado cuando termine la tarea asíncrona.
¿Puede detectar más de un idioma en el mismo documento?
Sí, lee el documento completo y devuelve cada idioma que encuentra, ordenado según cuánto del contenido corresponde a cada uno.
¿Existe una capa gratuita para detectar idioma de documento?
No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.
¿Cuánto cuesta detectar el idioma de un documento?
$0.003 por solicitud más $0.0135 por documento, precio publicado y se cobra solo cuando la detección tiene éxito.
¿Funciona con documentos escaneados o manuscritos, no solo texto tipeado?
Sí, lee páginas escaneadas y manuscritas además de texto digital nativo antes de identificar el idioma.
¿Se cobra si falla la detección?
No. Una tarea fallida se reintenta automáticamente hasta tres veces y nunca se cobra; en su lugar recibe un error claro.
¿En qué se diferencia de solo revisar los metadatos o la configuración regional del archivo?
Los metadatos y la configuración regional del archivo muchas veces no coinciden con el idioma real del contenido; este endpoint lee el texto en sí en lugar de confiar en las propiedades del archivo.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/ocr/language \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/ocr/language", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/ocr/language",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/ocr/language", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/ocr/language", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"input": "…"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "ocr.language",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_mb | 25 |
max_pages | 10 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
422 | task_failed | La tarea falló tras 3 reintentos. No se cobra. |