Transcribir audio
Toda conversación grabada se vuelve buscable, citable y analizable en cuanto se convierte en texto, y sigue siendo audio inaccesible mientras no lo sea. Este endpoint convierte un archivo hablado en palabras escritas en más de 90 idiomas, para que lo dicho deje de depender de que alguien le dé play para enterarse.
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é el audio y el texto son activos tan distintos
El audio es secuencial por naturaleza: para saber qué hay en el minuto cuarenta, alguien tiene que pasar por los primeros treinta y nueve, o adelantar a ciegas esperando acercarse. El texto no tiene esa limitación: se puede buscar, indexar, hojear, traducir y citar al instante. audio.transcribe existe para mover una grabación de la primera categoría a la segunda sin que una persona teclee mientras escucha.
Cómo lucen la solicitud y la respuesta
Envíe el archivo de audio a POST /audio/transcribe, reciba un task_id de inmediato y obtenga la transcripción por webhook o mediante un enlace firmado válido por 24 horas cuando la tarea termine. Soporta audio en más de 90 idiomas, así que una sola integración cubre un centro de llamadas en español, un podcast en portugués y una charla de conferencia en japonés sin configuración distinta por idioma.
Qué afecta la calidad de la transcripción
El audio claro con uno o dos hablantes y poco ruido de fondo se transcribe con mayor precisión, simplemente por la naturaleza del problema acústico: hablantes que se superponen, acentos marcados poco familiares para el modelo y micrófonos de baja calidad dificultan separar la señal del ruido. Reconocer el habla es un problema de investigación desde la década de 1950 y sigue siendo genuinamente difícil en condiciones ruidosas con varios hablantes; espere resultados sólidos en grabaciones limpias y un borrador más tosco en el micrófono ruidoso de una sala de reuniones.
Dónde encaja la transcripción en un flujo más grande
Una transcripción rara vez es el producto final; es la materia prima para búsqueda, subtítulos, registros de cumplimiento o resúmenes posteriores. Como el resultado es texto plano, alimenta directamente lo que sigue —un índice de búsqueda, un documento, una tarea de traducción— sin que una persona tenga que hacer de puente entre lo dicho y lo escrito.
Cómo encaja en sistemas automatizados
Redes de podcast transcriben cada episodio nuevo apenas se sube para generar un archivo buscable y texto accesible junto al audio. Equipos legales y de cumplimiento transcriben llamadas grabadas para crear un registro escrito sin tener un taquígrafo en nómina. Como se cobra por solicitud más por minuto y corre de forma asíncrona, transcribir una nota de voz o un día entero de reuniones grabadas es la misma integración, solo cambia el número de tareas.
Qué puede hacer con ella
Archivo y accesibilidad de podcast
Una red de podcast transcribe cada episodio al publicarlo para ofrecer una versión de texto buscable junto al audio para quienes prefieren leer.
Revisión de calidad en centro de llamadas
Un equipo de soporte transcribe llamadas de clientes grabadas para que los supervisores busquen y revisen conversaciones por palabra clave en vez de reproducir el audio.
Cobertura multilingüe de conferencias
Una empresa de eventos transcribe charlas dadas en distintos idiomas para producir cobertura escrita sin contratar un transcriptor por idioma.
De nota de voz a notas escritas
Un investigador de campo transcribe notas de voz grabadas en el terreno a notas de texto que se archivan y buscan después.
Preguntas frecuentes
¿Cómo transcribo audio con la API?
Envíe el archivo a POST /audio/transcribe, guarde el task_id devuelto y reciba la transcripción por webhook o mediante un enlace firmado válido por 24 horas.
¿Es gratis la API de audio a texto?
No, no hay plan gratuito ni prueba. Cuesta $0.004 por solicitud más $0.0125 por minuto de audio, y una tarea fallida nunca se cobra.
¿Cuántos idiomas soporta?
Más de 90 idiomas a través del mismo endpoint, sin necesidad de configuración distinta por idioma.
¿Qué tan precisa es la transcripción?
El audio limpio con habla clara y poco ruido de fondo da los mejores resultados; hablantes superpuestos, ruido intenso o acentos poco comunes dificultan el problema para cualquier sistema.
¿Identifica a los distintos hablantes?
Este endpoint se enfoca en convertir habla en texto; combínelo con una tarea de diarización si necesita etiquetas de hablante en cada segmento.
¿Puedo transcribir grabaciones largas como reuniones o webinars?
Sí, se cobra por minuto en lugar de tener un límite corto fijo, así que maneja desde una nota de voz breve hasta una grabación de varias horas.
¿Puedo transcribir muchos archivos por lote?
Sí, envíe cada archivo de audio como su propia tarea asíncrona y recoja las transcripciones por webhook a medida que cada una termina.
¿Se conserva mi audio después de transcribirlo?
No, los archivos de audio y las transcripciones se eliminan después del período de retención y nunca se usan para entrenar ningún modelo.
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/transcribe \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"audio":"https://ejemplo.com/reunion.mp3"}'const res = await fetch("https://api.kit.forhosting.com/audio/transcribe", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"audio": "https://ejemplo.com/reunion.mp3"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/audio/transcribe",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"audio": "https://ejemplo.com/reunion.mp3"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/audio/transcribe", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"audio":"https://ejemplo.com/reunion.mp3"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"audio":"https://ejemplo.com/reunion.mp3"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/audio/transcribe", 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/reunion.mp3"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.transcribe",
"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. |