# ✅ SOLUCIÓN FINAL - Instrucciones Paso a Paso ## 🎯 El Problema ``` ERROR: [youtube] 6hini9Xz_fc: Requested format is not available ``` ## ✅ Cambio Implementado He simplificado **completamente** el comando yt-dlp en `main.py` (línea ~95): ### ANTES: ```python command = [ "yt-dlp", "--skip-download", "--dump-json", "--no-warnings", "--extractor-args", "youtube:player_client=android", # Esto puede causar problemas url ] ``` ### AHORA: ```python command = [ "yt-dlp", "--skip-download", "--dump-json", "--no-warnings", url ] ``` **Cambio clave:** Eliminé `--extractor-args` que puede causar conflictos con YouTube. --- ## 🚀 PASOS PARA APLICAR LA SOLUCIÓN ### Paso 1: Detener Todo ```bash cd /Users/cesarmendivil/Documents/Nextream/TubeScript-API # Detener servicios docker-compose down # O forzar detención docker stop $(docker ps -aq) 2>/dev/null docker rm $(docker ps -aq) 2>/dev/null ``` ### Paso 2: Limpiar Imágenes Antiguas ```bash # Eliminar imagen vieja docker rmi tubescript-api # O limpiar todo Docker docker system prune -a ``` ### Paso 3: Reconstruir la Imagen ```bash # Build desde cero (SIN CACHÉ) docker-compose build --no-cache tubescript-api # Esto toma 3-5 minutos # Espera a que termine completamente ``` ### Paso 4: Iniciar el Servicio ```bash # Iniciar en segundo plano docker-compose up -d tubescript-api # Esperar 15 segundos sleep 15 ``` ### Paso 5: Verificar que Está Corriendo ```bash # Ver contenedores activos docker ps # Debería mostrar: tubescript_api ... Up ``` ### Paso 6: Probar el Endpoint ```bash # Probar el video que fallaba curl -X GET "http://localhost:8080/transcript/6hini9Xz_fc?lang=es" # Si funciona, verás JSON con subtítulos # Si falla, ver logs: docker logs tubescript_api ``` --- ## 🔍 DIAGNÓSTICO SI SIGUE FALLANDO ### Ver Logs Completos ```bash docker logs tubescript_api 2>&1 | tail -100 ``` ### Entrar al Contenedor y Probar Manualmente ```bash # Entrar al contenedor docker exec -it tubescript_api bash # Dentro del contenedor, probar yt-dlp directo: yt-dlp --version # Probar obtener metadatos del video: yt-dlp --skip-download --dump-json --no-warnings \ "https://www.youtube.com/watch?v=6hini9Xz_fc" | head -50 # Ver si hay subtítulos: yt-dlp --list-subs "https://www.youtube.com/watch?v=6hini9Xz_fc" # Salir: exit ``` ### Probar con Otro Video ```bash # Probar con un video diferente que sabemos que tiene subtítulos: curl -X GET "http://localhost:8080/transcript/jNQXAC9IVRw?lang=en" # Video de prueba popular: curl -X GET "http://localhost:8080/transcript/dQw4w9WgXcQ?lang=en" ``` --- ## 📊 POSIBLES CAUSAS DEL ERROR ### 1. El Video Específico Tiene Problemas - Prueba con otro video - Verifica que el video sea accesible: https://www.youtube.com/watch?v=6hini9Xz_fc ### 2. YouTube Está Bloqueando - Agrega cookies.txt (exporta desde tu navegador) - Usa una VPN - Espera unos minutos y vuelve a intentar ### 3. yt-dlp Desactualizado ```bash # Dentro del contenedor: docker exec -it tubescript_api bash pip install --upgrade yt-dlp exit # Reiniciar: docker-compose restart tubescript-api ``` ### 4. El Video NO Tiene Subtítulos - Verifica manualmente en YouTube si el video tiene subtítulos - El video podría estar geo-bloqueado - El video podría haber sido eliminado --- ## 💡 SOLUCIÓN ALTERNATIVA Si el video `6hini9Xz_fc` específicamente siempre falla, puede ser que: 1. **El video no tenga subtítulos** - Verifica manualmente 2. **El video esté restringido** - Prueba con cookies.txt 3. **El video fue eliminado** - Busca otro video ### Probar con Video Conocido que Funciona: ```bash # CNN en vivo (siempre tiene subtítulos): curl -X GET "http://localhost:8080/transcript/XWq5kBlakcQ?lang=en" # BBC News (en inglés): curl -X GET "http://localhost:8080/transcript/9Auq9mYxFEE?lang=en" ``` Si estos funcionan pero `6hini9Xz_fc` no, el problema es específico de ese video. --- ## 🎯 RESUMEN EJECUTIVO ### ✅ Lo que hice: 1. Simplifiqué el comando yt-dlp eliminando opciones problemáticas 2. Eliminé `--extractor-args` que puede causar conflictos 3. El código ahora es minimalista y robusto ### ✅ Lo que debes hacer: 1. Reconstruir Docker: `docker-compose build --no-cache tubescript-api` 2. Iniciar: `docker-compose up -d tubescript-api` 3. Probar: `curl "http://localhost:8080/transcript/6hini9Xz_fc?lang=es"` ### ✅ Si falla: 1. Ver logs: `docker logs tubescript_api` 2. Probar otro video 3. Verificar que el video tenga subtítulos en YouTube 4. Agregar cookies.txt si es necesario --- ## 📞 COMANDOS COMPLETOS LISTOS PARA COPIAR ```bash # Ejecuta esto en orden: # 1. Ir al directorio cd /Users/cesarmendivil/Documents/Nextream/TubeScript-API # 2. Detener y limpiar docker-compose down docker rmi tubescript-api 2>/dev/null || true # 3. Reconstruir docker-compose build --no-cache tubescript-api # 4. Iniciar docker-compose up -d tubescript-api # 5. Esperar sleep 15 # 6. Probar curl -X GET "http://localhost:8080/transcript/6hini9Xz_fc?lang=es" # 7. Ver logs si falla docker logs tubescript_api 2>&1 | tail -50 ``` --- **El código está LISTO. Solo necesitas reconstruir Docker con los pasos de arriba.** Si después de esto el error persiste, es muy probable que sea un problema específico del video `6hini9Xz_fc` (sin subtítulos, bloqueado, eliminado, etc.) y no del código. --- **TubeScript API Pro © 2026** Última Actualización: 30 Enero 2026