Actualizado 5 junio 2026 · 10 min de lectura
Subtítulos automáticos en videos con API: tutorial completo
El 85% de los videos en redes sociales se ven sin sonido. Si tu video no tiene subtítulos, estás perdiendo la mayoría de tu audiencia. Pero agregar subtítulos manualmente es tedioso: sincronizar tiempos, elegir tipografía, exportar con quemado.
Con la API de Videora, los subtítulos se generan automáticamente, sincronizados palabra por palabra con la narración. Solo envías el texto y recibes un MP4 con subtítulos integrados.
Por qué los subtítulos son obligatorios en 2026
- Instagram Reels: videos con subtítulos tienen 40% más de tiempo de visualización
- TikTok: el algoritmo indexa el texto de los subtítulos para SEO interno
- YouTube Shorts: subtítulos mejoran la retención en móvil
- LinkedIn: 90% de los usuarios ven video en mute en la oficina
- Accesibilidad: cumple WCAG 2.1 para personas con discapacidad auditiva
Subtítulos manuales vs automáticos
| Método | Tiempo por video | Costo | Precisión |
|---|---|---|---|
| Manual (CapCut/Premiere) | 15-30 min | Gratis pero lento | 100% |
| Servicio humano (Rev, GoTranscript) | 1-24 horas | $1-3 USD/min | 99% |
| IA genérica (Whisper solo) | 1-5 min | Variable | 90-95% |
| Videora (integrado) | 0 min extra | Incluido | 100% |
Con Videora los subtítulos tienen 100% de precisión porque se generan desde tu propio texto (no desde reconocimiento de audio). No hay errores de transcripción.
Cómo funcionan los subtítulos en Videora
- Tú envías el texto de cada escena en el JSON
- La API genera la narración con voz de IA
- Los subtítulos se sincronizan automáticamente con el audio
- Se queman en el video — no como archivo SRT separado, sino integrados
Tutorial: video con subtítulos automáticos
JSON de ejemplo
{
"title": "5 hábitos de personas exitosas",
"aspect_ratio": "9:16",
"voice": "es-MX-Jorge",
"music": "motivational",
"scenes": [
{
"text": "Hábito uno: se levantan temprano. El 90 por ciento de los CEOs están despiertos antes de las 6 de la mañana.",
"image_url": "https://images.pexels.com/photos/3771069/pexels-photo-3771069.jpeg",
"duration": 7
},
{
"text": "Hábito dos: hacen ejercicio. No para verse bien, sino para pensar mejor.",
"image_url": "https://images.pexels.com/photos/3775566/pexels-photo-3775566.jpeg",
"duration": 6
},
{
"text": "Hábito tres: leen todos los días. Warren Buffett lee 5 horas diarias.",
"image_url": "https://images.pexels.com/photos/159711/books-bookstore-book-reading-159711.jpeg",
"duration": 5
},
{
"text": "Hábito cuatro: dicen que no. Eliminan lo que no importa para enfocarse en lo que sí.",
"image_url": "https://images.pexels.com/photos/3184292/pexels-photo-3184292.jpeg",
"duration": 6
},
{
"text": "Hábito cinco: reflexionan antes de dormir. Escriben lo que aprendieron hoy. Empieza esta noche.",
"image_url": "https://images.pexels.com/photos/796602/pexels-photo-796602.jpeg",
"duration": 7
}
]
}
Python — generar y descargar
import requests, time
API = "https://videora.4l3.org"
payload = {
"title": "5 hábitos de personas exitosas",
"aspect_ratio": "9:16",
"voice": "es-MX-Jorge",
"music": "motivational",
"scenes": [
{"text": "Hábito uno: levantarse temprano. El 90% de CEOs madruga.", "duration": 6},
{"text": "Hábito dos: ejercicio diario. No vanidad, claridad mental.", "duration": 5},
{"text": "Hábito tres: leer cada día. Buffett lee 5 horas.", "duration": 5},
{"text": "Hábito cuatro: decir que no. Foco en lo que importa.", "duration": 5},
{"text": "Hábito cinco: reflexionar antes de dormir. Empieza hoy.", "duration": 5}
]
}
r = requests.post(f"{API}/v1/video/render", json=payload,
headers={"Authorization": "Bearer TU_API_KEY"})
job_id = r.json()["job_id"]
# El video resultante tendrá subtítulos sincronizados automáticamente
while True:
s = requests.get(f"{API}/v1/jobs/{job_id}").json()
if s["status"] == "done":
print(f"Video con subtítulos listo: {API}{s['output_url']}")
break
time.sleep(3)
cURL
curl -X POST https://videora.4l3.org/v1/video/render \
-H "Content-Type: application/json" \
-H "Authorization: Bearer TU_API_KEY" \
-d '{
"title": "5 hábitos exitosos",
"aspect_ratio": "9:16",
"voice": "es-MX-Jorge",
"scenes": [
{"text": "Hábito uno: levantarse temprano.", "duration": 5},
{"text": "Hábito dos: hacer ejercicio.", "duration": 5},
{"text": "Hábito tres: leer cada día.", "duration": 5}
]
}'
Mejores prácticas para subtítulos en video corto
Longitud por línea
Máximo 12 palabras por subtítulo. En móvil, líneas más largas se truncan o son ilegibles. Videora divide automáticamente textos largos en segmentos legibles.
Contraste y legibilidad
Los subtítulos de Videora usan fondo semi-transparente oscuro para garantizar legibilidad sobre cualquier imagen de fondo, sin importar si la escena es clara u oscura.
Posición
Los subtítulos se colocan en el tercio inferior del video, evitando tapar la acción principal. En formato 9:16, esto deja espacio para que el pulgar del espectador no los tape al scrollear.
Automatizar subtítulos en lote
Si tienes 20 guiones listos en un CSV, genera todos los videos con subtítulos en un solo script:
import csv, requests
API = "https://videora.4l3.org"
HEADERS = {"Authorization": "Bearer TU_API_KEY", "Content-Type": "application/json"}
with open("guiones.csv") as f:
reader = csv.DictReader(f) # columnas: titulo, escena1, escena2, escena3
for row in reader:
scenes = [
{"text": row["escena1"], "duration": 5},
{"text": row["escena2"], "duration": 5},
{"text": row["escena3"], "duration": 5}
]
payload = {
"title": row["titulo"],
"aspect_ratio": "9:16",
"voice": "es-MX-Dalia",
"scenes": scenes
}
r = requests.post(f"{API}/v1/video/render", json=payload, headers=HEADERS)
print(f"✓ {row['titulo']}: {r.json()['job_id']}")
Cada video sale con subtítulos quemados automáticamente. Sin paso extra.
Videos con subtítulos automáticos, gratis
3 videos/mes. Subtítulos sincronizados incluidos. Probar Videora →
Preguntas frecuentes
¿Los subtítulos se queman o son archivo SRT?
Se queman directamente en el video (hardcoded). Esto garantiza visibilidad en cualquier plataforma sin que el usuario active nada.
¿Puedo personalizar la fuente?
Los planes Pro y Premium permiten ajustar fuente, tamaño, color y posición de los subtítulos.
¿Funcionan con diferentes acentos del español?
Sí. Los subtítulos se generan desde el texto que envías, no mediante reconocimiento de voz. Funcionan con cualquier acento.
¿Cuántas palabras por subtítulo es lo ideal?
Entre 5 y 12 palabras. Videora divide automáticamente textos más largos en fragmentos legibles.
Relacionados: Generar video desde texto con API · Video con narración IA · Automatizar TikTok y Reels