Detectar el idioma hablado
Le enviamos cualquier grabación y le decimos qué idioma se habla, sin transcribir una sola palabra. Sirve justo antes del momento en que su sistema debe decidir todo lo demás: a qué modelo enrutar, a qué equipo avisar, qué pista de subtítulos abrir.
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.
Por qué un endpoint dedicado
La mayoría de los servicios de transcripción y traducción asumen que usted ya sabe el idioma de entrada, o gastan un proceso completo solo para adivinarlo. Esa suposición se rompe apenas su aplicación recibe audio del público: buzones de voz, líneas de soporte, notas de voz subidas por usuarios, catálogos de podcasts comprados en otros mercados. audio.detect_language responde una pregunta acotada, rápido y barato, para que no pague el costo completo de una transcripción solo para enrutar un archivo.
Qué ocurre después de subir el audio
Envíe el audio a POST /audio/detect-language y recibirá un task_id de inmediato; el análisis real ocurre fuera del hilo de la solicitud. Tomamos muestras de la grabación, ejecutamos identificación de idioma sobre ellas y devolvemos el resultado a su webhook o a un enlace firmado válido por 24 horas. Archivos con varios hablantes, cambios de idioma a mitad de frase, ruido de fondo y llamadas de baja calidad son parte del desafío, así que devolvemos lo que el modelo puede sostener con confianza en lugar de forzar una sola respuesta cuando la grabación es genuinamente mixta.
Una nota breve sobre cómo funciona la identificación de idioma
Identificar el idioma hablado es una disciplina distinta del reconocimiento de voz: analiza la distribución de fonemas, la prosodia y los patrones acústicos, en lugar de intentar mapear sonido a palabras. Por eso funciona en clips muy cortos y en audio ruidoso donde una transcripción completa sería poco confiable, y por eso resulta mucho más económico por minuto que transcribir o traducir.
Dónde encaja dentro de la automatización
Encadénelo antes de cualquiera de nuestros otros endpoints de audio: detecte primero y luego ramifique su flujo hacia el idioma correcto de transcripción, el idioma de traducción de destino o la cola de revisión humana adecuada. Plataformas de soporte lo usan para etiquetar tickets de voz entrantes por idioma antes de asignar agentes; equipos de medios lo usan para clasificar archivos antes de decidir cuáles realmente necesitan presupuesto de traducción.
Pensado para volumen, no para adivinar
Como la tarea es acotada, es rápida y económica, algo que importa cuando se ejecuta sobre miles de archivos y no sobre uno solo. Cada llamada se cobra únicamente si tiene éxito: una detección fallida tras tres reintentos nunca se cobra, y usted recibe un error claro en lugar de un misterio.
Qué puede hacer con ella
Clasificación de buzones de voz
Un centro de llamadas enruta mensajes de voz anónimos hacia el equipo del idioma correcto antes de que alguien los escuche, reduciendo tickets mal asignados.
Organización de archivos de podcast
Una empresa de medios hereda un catálogo sin metadatos y usa la detección para etiquetar miles de episodios por idioma hablado en un solo lote.
Filtro previo a la traducción
Una aplicación solo envía audio al endpoint de traducción cuando la detección confirma que aún no está en el idioma de destino, evitando llamadas innecesarias.
Registro para cumplimiento
Una firma de servicios financieros registra el idioma detectado de llamadas grabadas junto con la transcripción para revisión regulatoria regional.
Preguntas frecuentes
¿Cómo detecto el idioma de un archivo de audio con la API?
Envíe el archivo a POST /audio/detect-language, guarde el task_id devuelto y reciba el idioma detectado por webhook o mediante un enlace firmado válido por 24 horas.
¿Existe un plan gratuito para la API de detección de idioma?
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.
¿Qué formatos de audio se aceptan?
Se aceptan formatos comprimidos y sin comprimir habituales para voz y llamadas; revise la referencia del endpoint para la lista vigente antes de integrar.
¿Cuánto cuesta detectar el idioma de un audio?
Tiene un costo de $0.002 por solicitud más $0.0055 por minuto de audio, cobrado únicamente cuando la tarea se completa con éxito.
¿Puede detectar más de un idioma en la misma grabación?
Sí, el audio con cambios de idioma o varios hablantes es común, y la respuesta puede reflejar más de un idioma cuando la grabación realmente los contiene.
¿En qué se diferencia esto de una transcripción?
La detección identifica el idioma hablado sin generar texto, lo que la hace más rápida y mucho más económica por minuto que una transcripción completa.
¿Funciona con clips muy cortos?
Sí, la identificación de idioma funciona con muestras breves porque se apoya en patrones acústicos y prosódicos, no en el contexto completo de una frase.
¿Se usa mi audio para entrenar modelos?
No. El audio y los resultados se eliminan después del período de retención y nunca se usan para entrenamiento.
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/audio/detect-language \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"audio":"https://ejemplo.com/audio.mp3"}'const res = await fetch("https://api.kit.forhosting.com/audio/detect-language", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"audio": "https://ejemplo.com/audio.mp3"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/audio/detect-language",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"audio": "https://ejemplo.com/audio.mp3"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/audio/detect-language", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"audio":"https://ejemplo.com/audio.mp3"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"audio":"https://ejemplo.com/audio.mp3"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/audio/detect-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
{
"audio": "https://ejemplo.com/audio.mp3"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.detect_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 | 200 |
max_minutes | 180 |
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. |