Necesitas una API para descargar archivos de video programáticamente y enviarlo esta semana. Al final de esta guía, podrás llamar a un único endpoint que devuelve URLs de descarga directas más metadatos de medios que puedes usar para elegir la transmisión correcta, y luego guardar el archivo en tu backend o pipeline.
Lo que puedes hacer con esta API de Medios
Zyla API Hub alberga la API Social Saver, una API de la categoría Medios que proporciona un enlace de descarga directa y metadatos para un video dado. Está diseñada para desarrolladores que construyen flujos de trabajo de medios: guardar videos fuente en almacenamiento, crear copias de revisión offline, prefetching de activos para editores, o preparar entradas para transcoding.
Comportamiento clave del endpoint de Descargar Video:
- Devuelve una carga útil JSON con una o más variantes de “medias” descargables para el mismo video (por ejemplo, diferentes calidades y tipos de archivo).
- Cada elemento incluye una
urldirecta para descargar, la etiquetaquality, si es solo audio a través deis_audio, eltypede medio, y laextensiondel archivo. - Como señala la API: la descarga para Instagram no está disponible.
Por diseño, los enlaces de descarga directa son limitados en el tiempo (verás un parámetro de consulta expire en la URL de ejemplo). Tu integración debe obtener y almacenar el activo de inmediato.
Comenzando en Zyla API Hub
Abre la página de la API Social Saver en Zyla, suscríbete y obtén tu clave:
- Ve a la lista del mercado: Comienza prueba de 7 días en la API Social Saver.
- Haz clic en Suscribirse o Comenzar Prueba Gratuita (cuando esté disponible) para obtener una clave API. Zyla utiliza un modelo de suscripción + cuota (no pago por llamada). Para esta API, puedes comenzar con una prueba de 7 días o 50 solicitudes; consulta la página de la API para opciones de acceso y precios actuales.
- Envía solicitudes con Authorization: Bearer YOUR_API_KEY.
Puedes gestionar todas tus APIs de Medios bajo una sola cuenta y clave de Zyla a través de más de 10,000 APIs públicas.
Endpoint: Descargar Video
La API Social Saver expone un único endpoint de Medios enfocado en descargar recursos de video.
- Método: POST
- Ruta:
https://zylalabs.com/api/5617/social-saver-api/7304/download-video - Propósito: Devuelve un enlace de descarga directa y metadatos (formato, tamaño, duración) en JSON. La respuesta incluye un array
mediascon campos que puedes filtrar, comoquality,type,extension, y si es solo audio (is_audio). - Parámetros: No documentados en la lista del hub. Autentica solo con tu clave de Zyla.
- Nota: Las descargas de Instagram no están disponibles.
Solicitud cURL que puedes pegar
Autentica con tu clave de Zyla en el encabezado de autorización. Copia esto tal cual y reemplaza YOUR_API_KEY.
curl -s -X POST "https://zylalabs.com/api/5617/social-saver-api/7304/download-video" \
-H "Authorization: Bearer YOUR_API_KEY"
Respuesta real de la API
A continuación se muestra el ejemplo de respuesta oficial de la lista del mercado. Nota el array de medias. Cada elemento describe una transmisión descargable con una URL directa y sus atributos.
{"medias":[{"url":"https://rr1---sn-uvu5a2a5t-j00e.googlevideo.com/videoplayback?expire=1736299646&ei=HoB9Z_zLBt3bsfIP2_b38AY&ip=187.189.58.232&id=o-ADEmoHyt2c-jvecX7TCXCFzNwjCKWmTQdub8B14Lp6oI&itag=18&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1736278046%2C&mh=MZ&mm=31%2C29&mn=sn-uvu5a2a5t-j00e%2Csn-q4fzen7e&ms=au%2Crdu&mv=m&mvi=1&pl=24&rms=au%2Cau&gcr=mx&initcwndbps=3491250&bui=AfMhrI82lAjJY0WOeSw4RzQd2O7_8Y6bmXk_ZbZLjySWxJOJuL-BwW52kyzAAy6EWJkSuSg61HTO_0N5&spc=x-caUK7O22hI5OSL_QCSR-xQ&vprv=1&mime=video%2Fmp4&rqh=1&gir=yes&clen=12665255&ratebypass=yes&dur=268.306&lmt=1734290066368598&mt=1736277676&fvip=5&fexp=51326932%2C51335594%2C51371294&c=ANDROID_VR&txp=5538434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cbui%2Cspc%2Cvprv%2Cmime%2Crqh%2Cgir%2Cclen%2Cratebypass%2Cdur%2Clmt&sig=AJfQdSswRgIhAP8_1X4hO59Dv6XjFSNgbyuJbDFqy7lMkE7C3HsrxQe7AiEApBnqG74O6k_WVUrzyhzZEvtf9erlAyliN78-JkkHRkw%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Crms%2Cinitcwndbps&lsig=AGluJ3MwRAIgBSiwjWgvUEx6UIJknkYNRfmeUvSHj9UrBPKaWykkoYMCIF50GZRAFXfL09I8W2EJG_MZegzkWyUDStwYe3RS8XDh","quality":"360p","is_audio":true,"type":"video","extension":"mp4"},{"url":"https://rr1---sn-uvu5a2a5t-j00e.googlevideo.com/videoplayback?expire=1736299646&ei=HoB9Z_zLBt3bsfIP2_b38AY&ip=187.189.58.232&id=o-ADEmoHyt2c-jvecX7TCXCFzNwjCKWmTQdub8B14Lp6oI&itag=137&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1736278046%2C&mh=MZ&mm=31%2C29&mn=sn-uvu5a2a5t-j00e%2Csn-q4fzen7e&ms=au%2Crdu&mv=m&mvi=1&pl=24&rms=au%2Cau&gcr=mx&initcwndbps=3491250&bui=AfMhrI9VvQoIacAzvD2W3w5jlW_vLkoD4y6oMkRnf7lpOEIHZmQFTZR_rFMk0TDU6ri1VYNZuqe099AJ&spc=x-caUNzL6WsY4e6P&vprv=1&mime=video%2Fmp4&rqh=1&gir=yes&clen=39897728&dur=268.249&lmt=1734289668428610&mt=1736277676&fvip=5&keepalive=yes&fexp=51326932%2C51335594%2C51371294&c=ANDROID_VR&txp=5532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cbui%2Cspc%2Cvprv%2Cmime%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRAIgfWD2wDcFVnGBH4igkfdwjjCM96VvjIVtS9WZDkfkam8CIB794at9yDgSh9LU43fWVbGiY8jT5EuJjx0RYUovzwiO&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Crms%2Cinitcwndbps&lsig=AGluJ3MwRAIgBSiwjWgvUEx6UIJknkYNRfmeUvSHj9UrBPKaWykkoYMCIF50GZRAFXfL09I8W2EJG_MZegzkWyUDStwYe3RS8XDh","quality":"1080p","is_audio":false,"type":"video","extension":"mp4"},{"url":"https://rr1---sn-uvu5a2a5t-j00e.googlevideo.com/videoplayback?expire=1736299646&ei=HoB9Z_zLBt3bsfIP2_b38AY&ip=187.189.58.232&id=o-ADEmoHyt2c-jvecX7TCXCFzNwjCKWmTQdu…
Campos que normalmente usarás:
medias: array de variantes que puedes presentar o seleccionar.medias[].url: la URL de descarga directa. Está limitada en el tiempo; obtén de inmediato.medias[].quality: etiqueta como “360p”, “1080p”. Útil para clasificar.medias[].is_audio: verdadero si la transmisión es solo de audio.medias[].typeymedias[].extension: tipo de medio y extensión de archivo para nombrar y procesar almacenamiento.
Ejemplo en Python: seleccionar una transmisión y descargar
Este ejemplo llama al mismo endpoint, elige la calidad etiquetada más alta que no es solo audio, y la descarga. Ajusta la lógica de selección a tus necesidades.
import os
import re
import requests
API_KEY = os.getenv("ZYLALABS_API_KEY", "YOUR_API_KEY")
URL = "https://zylalabs.com/api/5617/social-saver-api/7304/download-video"
headers = {
"Authorization": f"Bearer {API_KEY}"
}
resp = requests.post(URL, headers=headers, timeout=30)
resp.raise_for_status()
data = resp.json()
medias = data.get("medias", [])
def quality_score(q):
# Extraer la parte numérica, por ejemplo, "1080p" -> 1080
if not isinstance(q, str):
return -1
m = re.search(r"(\d+)", q)
return int(m.group(1)) if m else -1
# Preferir pistas no de audio, la más alta calidad primero. Revertir a cualquier variante si es necesario.
video_variants = [m for m in medias if not m.get("is_audio")]
chosen = sorted(video_variants, key=lambda m: quality_score(m.get("quality")), reverse=True)
if not chosen:
chosen = medias # Revertir si solo hay variantes de audio
if not chosen:
raise SystemExit("No se devolvieron medias por la API")
variant = chosen[0]
download_url = variant["url"]
ext = variant.get("extension", "bin")
quality = variant.get("quality", "unknown")
out_path = f"downloaded_{quality}.{ext}"
print(f"Descargando: {quality} ({ext})")
with requests.get(download_url, stream=True, timeout=60) as r:
r.raise_for_status()
with open(out_path, "wb") as f:
for chunk in r.iter_content(chunk_size=1024 * 512):
if chunk:
f.write(chunk)
print(f"Guardado en: {out_path}")
Notas de implementación:
- Las URLs de descarga están limitadas en el tiempo; ejecuta la descarga inmediatamente después de obtener el JSON.
- Almacena el medio con una convención de nombres determinista que incluya calidad y extensión.
- Envuelve las llamadas de red con reintentos según sea apropiado en tu entorno.
Consejos de integración práctica que ahorran tiempo
- Duraciones y tamaños: La descripción del endpoint indica metadatos como formato, tamaño y duración. Úsalos para preasignar almacenamiento o estimar el tiempo de procesamiento. Si están presentes en tu respuesta, muéstralos en registros y UIs.
- Enlaces limitados en el tiempo: Las URLs de ejemplo incluyen un parámetro de consulta
expire. Trata cada enlace como si expirara; evita almacenar en caché la URL directa a largo plazo y vuelve a solicitar un enlace fresco si es necesario. - Concurrencia: Para trabajos por lotes, descarga en paralelo con un nivel de concurrencia conservador para mantener alta la producción sin sobrecargar a tus trabajadores.
- Fuentes solo no Instagram: La API señala que las descargas de Instagram no están disponibles. Protege tu UI y colas en consecuencia.
- Integridad del archivo: Si un valor similar a
clenaparece en la URL o metadatos, úsalo para validar el tamaño completado. De lo contrario, verifica reabriendo el archivo en tu paso de transcoder o ffprobe.
Flujos de trabajo de Medios comunes que puedes implementar rápidamente
- Ingesta de CMS: Al pegar, obtener variantes, elegir una línea base preferida (por ejemplo, 720p MP4), almacenar en almacenamiento de objetos, encolar para miniaturas.
- Copias de revisión editorial: Obtén una variante de baja resolución para reducir el ancho de banda de revisión mientras mantienes la ruta de origen original en tu gráfico de activos.
- Extracción de audio: Filtra
is_audio == truepara obtener pistas solo de audio para transcripción o flujos de trabajo de podcast. - Cortador sin servidor: En una función sin servidor, obtiene el enlace directo, almacena en almacenamiento temporal, inicia un trabajo de clipping/transcoding a continuación.
Llamando a esta API de Medios desde un agente de IA a través de MCP
Si usas herramientas de desarrollo compatibles con MCP (Claude Code, Cursor, Windsurf), puedes llamar a las APIs de Zyla a través del endpoint MCP. Configura tu cliente para apuntar a la URL del servidor MCP y pasa tu clave API:
Una vez conectado, tu agente puede invocar la misma capacidad de Descargar Video de la API Social Saver a través de MCP utilizando tu suscripción y clave de Zyla existentes. El comportamiento y la autenticación son los mismos que las llamadas HTTP directas: Autorización con tu clave de Zyla, facturación de suscripción + cuota, y enlaces de descarga directa limitados en el tiempo en la respuesta.
Pruebas, monitoreo y operación de esta integración
- Reintentos y retroceso: Envuelve tanto la solicitud de metadatos como la descarga del archivo con lógica de reintento y retroceso exponencial para manejar fallas transitorias.
- Time-outs: Usa time-outs explícitos para la solicitud POST de metadatos y las solicitudes GET de archivos. Se pueden necesitar time-outs más largos para archivos grandes.
- Almacenamiento y ciclo de vida: Almacena medios en almacenamiento de objetos con políticas de ciclo de vida y verificación de checksum para mantener bajos los costos y el riesgo de corrupción.
- Observabilidad: Registra la calidad, tipo y extensión de la variante seleccionada. Si los metadatos incluyen tamaño o duración, captura esos para monitoreo.
- Acceso: Mantén tu clave API de Zyla en tu administrador de secretos y rota periódicamente.
Cómo elegir la variante correcta
La mayoría de los pipelines eligen una única variante de “fuente de verdad” y, opcionalmente, una copia de revisión ligera:
- Fuente: selecciona la
qualitymás alta no de audio que puedas procesar (por ejemplo, 1080p), prefiere laextensionmp4 para compatibilidad con la cadena de herramientas. - Revisión: usa una variante de
qualitymás baja o solo de audio para tareas de QA o transcripción. - Reversión: si solo se devuelve audio, ramifica tu flujo de trabajo en consecuencia (por ejemplo, solo transcripción).
Patrones de solicitud que funcionan en producción
- Pull-then-download: Llama al endpoint, comienza a descargar inmediatamente tu variante elegida, y solo entonces encola trabajos posteriores con la ruta del archivo guardado.
- Idempotencia: Si tu cola puede volver a entregar, escribe en una ruta temporal y mueve atómicamente una vez que el archivo esté completamente escrito.
- Síncrono vs asíncrono: Mantén la llamada de metadatos síncrona en los controladores de solicitud, pero descarga el archivo a un trabajador si el cliente no puede esperar.
Modelo de suscripción y acceso
Zyla utiliza suscripción + cuota, no pago por llamada. Para la API Social Saver, puedes comenzar con una prueba de 7 días o 50 solicitudes; consulta la página del mercado para opciones de acceso actuales. Gestiona el uso a través de APIs de Medios bajo una cuenta y clave en Zyla API Hub.
FAQ
¿La API soporta Instagram?
No. La lista señala que la descarga para Instagram no está disponible.
¿Las URLs de descarga directas son permanentes?
No. Están limitadas en el tiempo; verás un parámetro expire en la URL. Descarga el archivo de inmediato después de obtener el JSON.
¿Qué campos me indican qué descargar?medias[].url es el enlace directo. Usa quality para clasificar variantes, is_audio para detectar solo audio, y type/extension para elegir formatos compatibles.
¿Qué autenticación se requiere?
Envía tu clave de Zyla en el encabezado: Authorization: Bearer YOUR_API_KEY.
¿Hay un plan gratuito?
Zyla opera con un modelo de suscripción + cuota. Para la API Social Saver, puedes comenzar una prueba de 7 días o 50 solicitudes; consulta la lista para detalles actuales.
¿Listo para integrar una API para descargar video en tu pipeline de Medios? Comienza tu prueba y obtén una clave funcional en minutos aquí: Comienza prueba de 7 días en la API Social Saver.
Respuesta oficial de la API
{"medias":[{"url":"https://rr1---sn-uvu5a2a5t-j00e.googlevideo.com/videoplayback?expire=1736299646&ei=HoB9Z_zLBt3bsfIP2_b38AY&ip=187.189.58.232&id=o-ADEmoHyt2c-jvecX7TCXCFzNwjCKWmTQdub8B14Lp6oI&itag=18&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1736278046%2C&mh=MZ&mm=31%2C29&mn=sn-uvu5a2a5t-j00e%2Csn-q4fzen7e&ms=au%2Crdu&mv=m&mvi=1&pl=24&rms=au%2Cau&gcr=mx&initcwndbps=3491250&bui=AfMhrI82lAjJY0WOeSw4RzQd2O7_8Y6bmXk_ZbZLjySWxJOJuL-BwW52kyzAAy6EWJkSuSg61HTO_0N5&spc=x-caUK7O22hI5OSL_QCSR-xQ&vprv=1&mime=video%2Fmp4&rqh=1&gir=yes&clen=12665255&ratebypass=yes&dur=268.306&lmt=1734290066368598&mt=1736277676&fvip=5&fexp=51326932%2C51335594%2C51371294&c=ANDROID_VR&txp=5538434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cbui%2Cspc%2Cvprv%2Cmime%2Crqh%2Cgir%2Cclen%2Cratebypass%2Cdur%2Clmt&sig=AJfQdSswRgIhAP8_1X4hO59Dv6XjFSNgbyuJbDFqy7lMkE7C3HsrxQe7AiEApBnqG74O6k_WVUrzyhzZEvtf9erlAyliN78-JkkHRkw%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Crms%2Cinitcwndbps&lsig=AGluJ3MwRAIgBSiwjWgvUEx6UIJknkYNRfmeUvSHj9UrBPKaWykkoYMCIF50GZRAFXfL09I8W2EJG_MZegzkWyUDStwYe3RS8XDh","quality":"360p","is_audio":true,"type":"video","extension":"mp4"},{"url":"https://rr1---sn-uvu5a2a5t-j00e.googlevideo.com/videoplayback?expire=1736299646&ei=HoB9Z_zLBt3bsfIP2_b38AY&ip=187.189.58.232&id=o-ADEmoHyt2c-jvecX7TCXCFzNwjCKWmTQdub8B14Lp6oI&itag=137&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1736278046%2C&mh=MZ&mm=31%2C29&mn=sn-uvu5a2a5t-j00e%2Csn-q4fzen7e&ms=au%2Crdu&mv=m&mvi=1&pl=24&rms=au%2Cau&gcr=mx&initcwndbps=3491250&bui=AfMhrI9VvQoIacAzvD2W3w5jlW_vLkoD4y6oMkRnf7lpOEIHZmQFTZR_rFMk0TDU6ri1VYNZuqe099AJ&spc=x-caUNzL6WsY4e6P&vprv=1&mime=video%2Fmp4&rqh=1&gir=yes&clen=39897728&dur=268.249&lmt=1734289668428610&mt=1736277676&fvip=5&keepalive=yes&fexp=51326932%2C51335594%2C51371294&c=ANDROID_VR&txp=5532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cbui%2Cspc%2Cvprv%2Cmime%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRAIgfWD2wDcFVnGBH4igkfdwjjCM96VvjIVtS9WZDkfkam8CIB794at9yDgSh9LU43fWVbGiY8jT5EuJjx0RYUovzwiO&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Crms%2Cinitcwndbps&lsig=AGluJ3MwRAIgBSiwjWgvUEx6UIJknkYNRfmeUvSHj9UrBPKaWykkoYMCIF50GZRAFXfL09I8W2EJG_MZegzkWyUDStwYe3RS8XDh","quality":"1080p","is_audio":false,"type":"video","extension":"mp4"},{"url":"https://rr1---sn-uvu5a2a5t-j00e.googlevideo.com/videoplayback?expire=1736299646&ei=HoB9Z_zLBt3bsfIP2_b38AY&ip=187.189.58.232&id=o-ADEmoHyt2c-jvecX7TCXCFzNwjCKWmTQdu…
Respuesta oficial de la API
{"medias":[{"url":"https://rr1---sn-uvu5a2a5t-j00e.googlevideo.com/videoplayback?expire=1736299646&ei=HoB9Z_zLBt3bsfIP2_b38AY&ip=187.189.58.232&id=o-ADEmoHyt2c-jvecX7TCXCFzNwjCKWmTQdub8B14Lp6oI&itag=18&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1736278046%2C&mh=MZ&mm=31%2C29&mn=sn-uvu5a2a5t-j00e%2Csn-q4fzen7e&ms=au%2Crdu&mv=m&mvi=1&pl=24&rms=au%2Cau&gcr=mx&initcwndbps=3491250&bui=AfMhrI82lAjJY0WOeSw4RzQd2O7_8Y6bmXk_ZbZLjySWxJOJuL-BwW52kyzAAy6EWJkSuSg61HTO_0N5&spc=x-caUK7O22hI5OSL_QCSR-xQ&vprv=1&mime=video%2Fmp4&rqh=1&gir=yes&clen=12665255&ratebypass=yes&dur=268.306&lmt=1734290066368598&mt=1736277676&fvip=5&fexp=51326932%2C51335594%2C51371294&c=ANDROID_VR&txp=5538434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cbui%2Cspc%2Cvprv%2Cmime%2Crqh%2Cgir%2Cclen%2Cratebypass%2Cdur%2Clmt&sig=AJfQdSswRgIhAP8_1X4hO59Dv6XjFSNgbyuJbDFqy7lMkE7C3HsrxQe7AiEApBnqG74O6k_WVUrzyhzZEvtf9erlAyliN78-JkkHRkw%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Crms%2Cinitcwndbps&lsig=AGluJ3MwRAIgBSiwjWgvUEx6UIJknkYNRfmeUvSHj9UrBPKaWykkoYMCIF50GZRAFXfL09I8W2EJG_MZegzkWyUDStwYe3RS8XDh","quality":"360p","is_audio":true,"type":"video","extension":"mp4"},{"url":"https://rr1---sn-uvu5a2a5t-j00e.googlevideo.com/videoplayback?expire=1736299646&ei=HoB9Z_zLBt3bsfIP2_b38AY&ip=187.189.58.232&id=o-ADEmoHyt2c-jvecX7TCXCFzNwjCKWmTQdub8B14Lp6oI&itag=137&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1736278046%2C&mh=MZ&mm=31%2C29&mn=sn-uvu5a2a5t-j00e%2Csn-q4fzen7e&ms=au%2Crdu&mv=m&mvi=1&pl=24&rms=au%2Cau&gcr=mx&initcwndbps=3491250&bui=AfMhrI9VvQoIacAzvD2W3w5jlW_vLkoD4y6oMkRnf7lpOEIHZmQFTZR_rFMk0TDU6ri1VYNZuqe099AJ&spc=x-caUNzL6WsY4e6P&vprv=1&mime=video%2Fmp4&rqh=1&gir=yes&clen=39897728&dur=268.249&lmt=1734289668428610&mt=1736277676&fvip=5&keepalive=yes&fexp=51326932%2C51335594%2C51371294&c=ANDROID_VR&txp=5532434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cgcr%2Cbui%2Cspc%2Cvprv%2Cmime%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRAIgfWD2wDcFVnGBH4igkfdwjjCM96VvjIVtS9WZDkfkam8CIB794at9yDgSh9LU43fWVbGiY8jT5EuJjx0RYUovzwiO&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Crms%2Cinitcwndbps&lsig=AGluJ3MwRAIgBSiwjWgvUEx6UIJknkYNRfmeUvSHj9UrBPKaWykkoYMCIF50GZRAFXfL09I8W2EJG_MZegzkWyUDStwYe3RS8XDh","quality":"1080p","is_audio":false,"type":"video","extension":"mp4"},{"url":"https://rr1---sn-uvu5a2a5t-j00e.googlevideo.com/videoplayback?expire=1736299646&ei=HoB9Z_zLBt3bsfIP2_b38AY&ip=187.189.58.232&id=o-ADEmoHyt2c-jvecX7TCXCFzNwjCKWmTQdu…