Necesitas permitir que los usuarios descarguen un video de YouTube o extraigan audio en un formato específico y necesitas que funcione esta semana. Al final de esta guía, tendrás una solicitud lista para copiar y pegar que devuelve un trabajo de descarga listo para usar para una URL específica de YouTube, además de notas pragmáticas para integrarlo en tu flujo de trabajo de medios.
Qué hace esta API y cuándo usarla
La API de Descarga e Información de YouTube en Zyla API Hub te proporciona un simple endpoint HTTP para solicitar una versión descargable de un video de YouTube o audio en un formato objetivo. Pasas la URL de YouTube y el formato que deseas; la API devuelve un identificador de trabajo, una URL de imagen en miniatura y una URL de progreso que puedes usar para monitorear el trabajo.
Casos de uso típicos:
- Permitir a los usuarios descargar un video en 720p o 1080p para uso sin conexión.
- Extraer pistas de audio (por ejemplo, mp3, m4a, flac, opus, wav) para rellenos de podcast o muestreo de voz en off.
- Herramientas por lotes que estandarizan las cargas de los creadores en un conjunto fijo de entregables.
Zyla API Hub alberga más de 10,000 APIs públicas en las categorías de Medios y otras bajo una cuenta, una clave API y un modelo de suscripción + cuota. Esta API es parte de la categoría de Medios y se centra en la recuperación de video/audio.
Comenzando en Zyla API Hub
Para llamar a esta API, abre la lista del mercado y suscríbete. Obtendrás una clave API que se utiliza en todas las APIs de Zyla, y te autenticas con un encabezado de Autorización. La primera API que elijas generalmente puede ser probada con una prueba de 7 días o 50 solicitudes; verifica la lista para ver qué está disponible en este momento.
- Ve a la lista: Comienza la prueba de 7 días en la API de Descarga e Información de YouTube
- Haz clic en Suscribirse (o Comenzar Prueba Gratuita cuando esté disponible) y copia tu clave API.
- Usa el encabezado Authorization: Bearer YOUR_API_KEY en tus solicitudes.
Puedes explorar otras APIs de Medios y categorías en Zyla API Hub con la misma cuenta y clave.
Endpoint: Descargar
Este endpoint solicita una versión descargable de la URL de YouTube dada en un formato especificado, y devuelve un descriptor de trabajo para rastrear el progreso.
- Método: GET
- URL: https://zylalabs.com/api/11016/youtube-download-and-info-api/20761/download
- Parámetros de consulta requeridos:
- url (cadena): La URL de YouTube. Ejemplo: https://www.youtube.com/watch?v=aGSKrC7dGcY (codificar en la solicitud).
- format (cadena): El formato de salida deseado.
Formatos soportados:
- Video: 360p, 480p, 720p, 1080p, 1440p, 2160p
- Audio: mp3, m4a, flac, opus, wav
Notas:
- Los enlaces de descarga de audio expiran después de 2 horas.
- Este endpoint solo admite la descarga de videos regulares.
Ejemplo oficial de cURL
curl -s -X GET "https://zylalabs.com/api/11016/youtube-download-and-info-api/20761/download?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DaGSKrC7dGcY&format=720" \
-H "Authorization: Bearer YOUR_API_KEY"
Ejemplo de respuesta oficial
{
"success": true,
"id": "2ec15939807689549d3f3115f168be6b9c868105",
"image": "https://i.ytimg.com/vi/aGSKrC7dGcY/hqdefault.jpg",
"progress_url": "https://youtube-api-progress-copy-development.up.railway.app/api/progress?id=2ec15939807689549d3f3115f168be6b9c868105"
}
Significados de los campos que realmente usarás:
- success: Si el trabajo fue encolado con éxito.
- id: El identificador del trabajo; guárdalo para correlacionar registros y el estado de la interfaz de usuario.
- image: Una miniatura que puedes mostrar en tu interfaz de usuario mientras se ejecuta el trabajo.
- progress_url: Una URL que puedes consultar para verificar el progreso del trabajo. Úsala para impulsar el sondeo en tu frontend o trabajador. Si expones descargas de audio, recuerda la nota sobre los enlaces de audio que expiran después de 2 horas una vez generados.
Ejemplo en Python usando requests
Este ejemplo llama al mismo endpoint con los mismos parámetros que el cURL oficial, analiza el JSON y imprime los metadatos del trabajo. Mantén el encabezado de Autorización y la URL exactamente como se muestra al probar ese ID de video; cambia el formato a uno de los valores soportados según sea necesario.
import requests
from urllib.parse import quote_plus
API_KEY = "YOUR_API_KEY"
youtube_url = "https://www.youtube.com/watch?v=aGSKrC7dGcY"
format_value = "720" # o "1080p", "mp3", "m4a", "flac", "opus", "wav", etc.
encoded_url = quote_plus(youtube_url)
endpoint = (
"https://zylalabs.com/api/11016/youtube-download-and-info-api/20761/download"
f"?url={encoded_url}&format={format_value}"
)
headers = {
"Authorization": f"Bearer {API_KEY}",
}
resp = requests.get(endpoint, headers=headers, timeout=30)
resp.raise_for_status()
data = resp.json()
# Usa los campos exactamente como los devuelve la API
print("Success:", data.get("success"))
print("Job ID:", data.get("id"))
print("Thumbnail:", data.get("image"))
print("Progress URL:", data.get("progress_url"))
# Ejemplo: si deseas sondear el progress_url, mantén un retroceso corto y detente
# cuando tu interfaz de usuario o trabajador vea que el trabajo está completo. El formato de las respuestas de progreso
# no está documentado aquí; diseña tu sondeo de manera conservadora.
Detalles de implementación que ahorran tiempo
- Codificación de URL: Siempre codifica la URL de YouTube para el parámetro url. Muchos fallos provienen de ampersands en bruto en las URLs de visualización.
- Cadenas de formato: Para videos, usa las resoluciones listadas (por ejemplo, 720p o 1080p). Para audios, usa uno de mp3, m4a, flac, opus, wav. Si tu interfaz de usuario tiene un menú desplegable, valida contra esa lista antes de llamar.
- Seguimiento de trabajos: Persiste el id devuelto en tu base de datos y asócialo con el usuario/sesión actual para que puedas restaurar los indicadores de progreso después de una actualización de página.
- Miniaturas: Usa el campo de imagen para proporcionar retroalimentación inmediata en tu interfaz de usuario mientras se ejecuta el trabajo de descarga.
- Expiración de audio: Los enlaces de descarga de audio expiran después de 2 horas una vez generados. Si tu flujo de trabajo implica recuperación retrasada (por ejemplo, correo electrónico más tarde), activa la regeneración a demanda o instruye a los usuarios para que descarguen de inmediato.
- Reintentos: Si implementas sondeo en progress_url, mantén tu retroceso modesto para evitar sobrecargar. Almacena el último estado en tu tienda para evitar parpadeos en la interfaz de usuario.
- Transmisiones en vivo: El endpoint admite videos regulares. Si los usuarios pegan transmisiones en vivo, muestra un error de validación antes de llamar a la API.
- Suscripción + cuota: Las llamadas consumen la cuota de tu plan bajo tu suscripción; esta API no es de pago por llamada. Verifica la lista para opciones de acceso actuales. La primera API que elijas generalmente ofrece una prueba de 7 días o 50 solicitudes.
Flujos comunes en el mundo real
1) Modal de “Descargar como” en una aplicación web
- El usuario pega una URL de YouTube y elige un formato (por ejemplo, video 1080p o audio mp3).
- Tu frontend llama a tu backend, que invoca el endpoint de Descarga con url y format.
- Muestra la miniatura de la imagen y muestra un spinner mientras sondeas progress_url en el servidor.
- Cuando esté completo, presenta el enlace de descarga final al usuario. Para audio, muestra una nota sobre la expiración de 2 horas.
2) Normalización de biblioteca de medios por lotes
- Mantén una cola de URLs de YouTube y formatos objetivo (por ejemplo, todo video 720p para vistas previas).
- Llama al endpoint de Descarga para cada trabajo; almacena id y progress_url.
- Haz que un trabajador sondee progress_url para avanzar los estados de trabajo y publique resultados en el almacenamiento en la nube a medida que estén disponibles.
3) Pipeline de ingestión solo de audio
- El frontend valida que el usuario seleccionó uno de mp3, m4a, flac, opus, wav.
- Inicia el trabajo a través del endpoint de Descarga.
- Al completar, activa inmediatamente la transcripción o etiquetado posterior, teniendo en cuenta la ventana de expiración de 2 horas para los enlaces de audio.
Usando esta API desde un agente de IA a través de MCP
Si prefieres orquestar llamadas desde un agente de IA o un IDE compatible con MCP, puedes conectarte a la puerta de enlace MCP de Zyla. Clientes compatibles con MCP como Claude Code, Cursor y Windsurf pueden llamar a las APIs del mercado usando tu clave API de Zyla. Revisa los detalles de conexión de MCP aquí: MCP.
- Apunta tu cliente MCP al endpoint MCP y proporciona tu clave API de Zyla.
- En tu herramienta o aviso de agente, instrúyele para que haga una solicitud GET a la URL del endpoint de Descarga con los parámetros url y format, e incluye el encabezado Authorization: Bearer YOUR_API_KEY.
- Analiza success, id, image y progress_url de la respuesta para impulsar acciones posteriores (por ejemplo, sondeo o actualizaciones de UI).
Lista de verificación de pruebas
- Valida las URLs de YouTube y formatos del lado del cliente antes de llamar al endpoint.
- Haz una llamada de prueba con video 720p para confirmar que los campos success, id, image y progress_url se devuelven como se esperaba.
- Implementa un manejo básico de errores alrededor de los códigos de estado HTTP y los tiempos de espera.
- Decide dónde almacenar el id del trabajo y con qué frecuencia sondear progress_url.
- Si expones salidas de audio, implementa un consejo o recordatorio de UX sobre la expiración de 2 horas del enlace de audio resultante.
FAQ
¿Qué formatos son compatibles?
Video: 360p, 480p, 720p, 1080p, 1440p, 2160p. Audio: mp3, m4a, flac, opus, wav.
¿Cómo me autentico?
Incluye el encabezado Authorization: Bearer YOUR_API_KEY en cada solicitud.
¿Los enlaces de descarga de audio expiran?
Sí. Los enlaces de descarga de audio expiran después de 2 horas una vez generados. Diseña tu UX en consecuencia.
¿Esto admite transmisiones en vivo?
Este endpoint solo admite la descarga de videos regulares.
¿Cómo se maneja la facturación?
Las APIs de Zyla utilizan un modelo de suscripción + cuota, no de pago por llamada. Para opciones de acceso actuales (por ejemplo, una prueba de 7 días o 50 solicitudes para tu primera API), verifica la lista del mercado.
Llévalo a cabo
Suscríbete y ejecuta el cURL anterior, luego conecta el id, image y progress_url a tu rastreador de trabajos. Puedes estar listo para producción hoy. Comienza aquí: Comienza la prueba de 7 días en la API de Descarga e Información de YouTube.