Transcribir un vídeo
Las palabras dichas en un video quedan encerradas en la imagen hasta que alguien las escribe, y hacerlo a mano para una hora de material puede consumir toda una tarde. Esta API para transcribir video escucha la pista de audio de un video y devuelve las palabras habladas como texto con marcas de tiempo, así el contenido se vuelve buscable, citable y editable en cuanto termina el procesamiento.
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 video esconde texto que tarde o temprano todos necesitan
Un webinar grabado, una entrevista, una demostración de producto, todos contienen información que solo es accesible viendo el material de principio a fin, y ese es exactamente el cuello de botella que impide que ese contenido se busque, subtitule, traduzca o reutilice. Equipos de marketing que convierten un webinar en un artículo de blog, investigadores que codifican material de entrevistas y equipos legales que necesitan un registro de lo dicho en un video de declaración chocan con la misma barrera: el video no es texto, y la transcripción manual no escala más allá de un puñado de archivos.
Qué pasa después de que envía un video
Envía el archivo de video a POST /video/transcribe; la tarea se pone en cola de forma asíncrona y devuelve un task_id de inmediato, así nada en su aplicación tiene que quedarse esperando un proceso largo. Cuando la transcripción termina, el texto llega, con marcas de tiempo y estructurado, por webhook firmado o por un enlace firmado válido por 24 horas, listo para insertarse en un documento, un índice de búsqueda o un archivo de subtítulos.
Reconocimiento de voz aplicado a una imagen en movimiento
Detrás de escena, transcribir video es transcribir audio con un paso adicional: primero se extrae la pista de audio hablada del contenedor de video, y luego se procesa igual que cualquier voz grabada. Esa separación explica por qué la misma capacidad de fondo que convierte un podcast en texto también convierte el diálogo, la narración o el audio de un presentador en un video en texto, sin importar lo que ocurra en pantalla, porque solo la pista de audio lleva las palabras.
Del texto crudo a un flujo de trabajo terminado
Un transcript con marcas de tiempo es lo que hace posible la automatización posterior: un transcript con tiempo puede alimentar la generación de subtítulos, marcadores de capítulo, búsqueda por palabra clave dentro de una biblioteca de video, o un resumen escrito generado a partir del contenido hablado. El precio es de $0.079 por solicitud más $0.01 por minuto de video, así que un clip de cinco minutos cuesta una fracción de una grabación de sesenta, y una tarea que falla tras los reintentos automáticos nunca se cobra.
Acceso y estado actual
El endpoint requiere saldo prepago, igual que el resto de la API; sin saldo, las solicitudes devuelven un HTTP 402 limpio en vez de una respuesta degradada o parcial. Este endpoint está actualmente en despliegue y comenzará a aceptar tareas pronto. El video subido y el transcript resultante se conservan solo durante la ventana de entrega y nunca se usan para entrenar modelos.
Qué puede hacer con ella
De webinar a artículo
Transcriba un webinar grabado para convertir el contenido hablado en un artículo de blog o de base de conocimiento.
Codificación de entrevistas para investigación
Obtenga un transcript con marcas de tiempo de material de entrevistas grabadas para que investigadores busquen y citen declaraciones específicas.
Texto base para subtítulos
Genere el transcript crudo con marcas de tiempo que alimenta directamente un flujo de trabajo de subtitulado.
Archivo de video buscable
Transcriba una biblioteca de videos de capacitación o presentaciones para que quien la consulta busque por palabra clave en vez de recorrer el video a mano.
Preguntas frecuentes
¿Cómo funciona la api para transcribir video?
Envía un video a POST /video/transcribe; extrae y procesa el audio hablado y devuelve un transcript de texto con marcas de tiempo por webhook o por un enlace firmado.
¿Hay prueba gratuita para transcribir video?
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 transcribir un video?
Cuesta $0.079 por solicitud más $0.01 por minuto de video, así que el costo escala directamente con la duración del material.
¿El transcript incluye marcas de tiempo?
Sí, el transcript devuelto trae marcas de tiempo, lo que lo hace útil para subtítulos, marcadores de capítulo o búsqueda dentro del video.
¿Está disponible ya la api para transcribir video?
Actualmente está en despliegue y comenzará a aceptar tareas pronto; el endpoint, el precio y el método de entrega descritos aquí son los definitivos para el lanzamiento.
¿Qué formatos de video puedo enviar?
Acepta formatos de video estándar habituales en grabaciones, webinars y presentaciones.
¿Puedo transcribir un lote grande de videos?
Sí, envíe una solicitud por video; cada una se procesa y se cobra de forma independiente, así puede procesar un archivo completo en paralelo.
¿En qué se diferencia transcribir video de transcribir audio?
Transcribir video primero extrae la pista de audio del video y luego la transcribe igual que a cualquier audio, así que el proceso y el resultado son prácticamente los mismos una vez aislado el audio.
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/video/transcribe \
-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/video/transcribe", {
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/video/transcribe",
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/video/transcribe", 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/video/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/audio.mp3"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video.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 | 500 |
max_minutes | 60 |
max_megapixels | 3.9 |
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. |