Você precisa de uma API para baixar arquivos de vídeo programaticamente e enviá-los esta semana. Ao final deste guia, você será capaz de chamar um único endpoint que retorna URLs de download direto, além de metadados de mídia que você pode usar para escolher o stream certo, e então salvar o arquivo em seu backend ou pipeline.
O que você pode fazer com esta Media API
Zyla API Hub hospeda a Social Saver API, uma API da categoria Mídia que fornece um link de download direto e metadados para um vídeo específico. É projetada para desenvolvedores que constroem fluxos de trabalho de mídia: salvando vídeos de origem em armazenamento, criando cópias de revisão offline, pré-buscando ativos para editores ou preparando entradas para transcodificação.
Comportamento chave do endpoint Download Video:
- Retorna um payload JSON com uma ou mais variantes de “mídias” baixáveis para o mesmo vídeo (por exemplo, diferentes qualidades e tipos de arquivo).
- Cada item inclui uma
urldireta para download, o rótulo dequalidade, se é apenas áudio viais_audio, otipode mídia e aextensãodo arquivo. - Como observado pela API: o download para Instagram não está disponível.
Por design, os links de download direto são limitados no tempo (você verá um parâmetro de consulta expire na URL de exemplo). Sua integração deve buscar e armazenar o ativo prontamente.
Começando no Zyla API Hub
Abra a página da Social Saver API no Zyla, inscreva-se e pegue sua chave:
- Vá para a listagem do marketplace: Iniciar teste de 7 dias na Social Saver API.
- Clique em Inscrever-se ou Iniciar Teste Gratuito (quando disponível) para obter uma chave de API. A Zyla usa um modelo de assinatura + cota (não por chamada). Para esta API, você pode começar com um teste de 7 dias ou 50 solicitações; verifique a página da API para opções de acesso e preços atuais.
- Envie solicitações com Authorization: Bearer YOUR_API_KEY.
Você pode gerenciar todas as suas APIs de Mídia sob uma única conta e chave Zyla em mais de 10.000 APIs públicas.
Endpoint: Download Video
A Social Saver API expõe um único endpoint de Mídia focado para baixar recursos de vídeo.
- Método: POST
- Caminho:
https://zylalabs.com/api/5617/social-saver-api/7304/download-video - Propósito: Retorna um link de download direto e metadados (formato, tamanho, duração) em JSON. A resposta inclui um array
mediascom campos que você pode filtrar, comoqualidade,tipo,extensão, e se é apenas áudio (is_audio). - Parâmetros: Não documentados na listagem do hub. Autentique-se apenas com sua chave Zyla.
- Nota: Downloads do Instagram não estão disponíveis.
Solicitação cURL que você pode colar
Autentique-se com sua chave Zyla no cabeçalho Authorization. Copie isso como está e substitua YOUR_API_KEY.
curl -s -X POST "https://zylalabs.com/api/5617/social-saver-api/7304/download-video"
-H "Authorization: Bearer YOUR_API_KEY"
Resposta real da API
Abaixo está o exemplo de resposta oficial da listagem do marketplace. Observe o array de mídias. Cada item descreve um stream baixável com uma URL direta e seus 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 você normalmente usará:
medias: array de variantes que você pode apresentar ou selecionar.medias[].url: a URL de download direto. É limitada no tempo; busque prontamente.medias[].quality: rótulo como “360p”, “1080p”. Útil para classificação.medias[].is_audio: verdadeiro se o stream for apenas áudio.medias[].typeemedias[].extension: tipo de mídia e extensão de arquivo para nomeação e processamento de armazenamento.
Exemplo em Python: escolha um stream e baixe
Este exemplo chama o mesmo endpoint, escolhe a qualidade mais alta rotulada que não é apenas áudio e a baixa. Ajuste a lógica de seleção conforme suas necessidades.
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):
# Extrair parte numérica, e.g., "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 faixas não-audio, qualidade mais alta primeiro. Recuar para qualquer variante se necessário.
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 # Recuar se apenas variantes de áudio estiverem presentes
if not chosen:
raise SystemExit("Nenhuma mídia retornada pela API")
variant = chosen[0]
download_url = variant["url"]
ext = variant.get("extension", "bin")
quality = variant.get("quality", "unknown")
out_path = f"baixado_{quality}.{ext}"
print(f"Baixando: {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"Salvo em: {out_path}")
Notas de implementação:
- URLs de download são limitadas no tempo; execute o download imediatamente após buscar o JSON.
- Armazene a mídia com uma convenção de nomeação determinística incluindo qualidade e extensão.
- Envolva chamadas de rede com tentativas conforme apropriado em seu ambiente.
Dicas práticas de integração que economizam tempo
- Durações e tamanhos: A descrição do endpoint indica metadados como formato, tamanho e duração. Use-os para pré-alocar armazenamento ou estimar tempo de processamento. Se estiverem presentes em sua resposta, exiba-os em logs e UIs.
- Links limitados no tempo: As URLs de exemplo incluem um parâmetro de consulta
expire. Trate cada link como expirado; evite armazenar em cache a URL direta a longo prazo e solicite um novo link se necessário. - Concorrência: Para trabalhos em lote, baixe em paralelo com um nível de concorrência conservador para manter a taxa de transferência alta sem sobrecarregar seus trabalhadores.
- Apenas fontes não-Instagram: A API observa que downloads do Instagram não estão disponíveis. Proteja sua UI e filas de acordo.
- Integridade do arquivo: Se um valor como
clenaparecer na URL ou metadados, use-o para validar o tamanho concluído. Caso contrário, verifique reabrindo o arquivo em seu passo de transcodificação ou ffprobe.
Fluxos de trabalho de Mídia comuns que você pode implementar rapidamente
- Ingestão de CMS: Ao colar, busque variantes, escolha uma linha de base preferida (por exemplo, 720p MP4), armazene em armazenamento de objetos, coloque na fila para miniaturização.
- Cópias de revisão editorial: Pegue uma variante de baixa resolução para reduzir a largura de banda de revisão enquanto mantém o caminho de origem original em seu gráfico de ativos.
- Extração de áudio: Filtre
is_audio == truepara obter faixas apenas de áudio para transcrição ou fluxos de trabalho de podcast. - Cortador serverless: Em uma função serverless, busque o link direto, armazene em armazenamento temporário, inicie um trabalho de clipping/transcodificação a jusante.
Chamando esta Media API de um agente de IA via MCP
Se você usar ferramentas de desenvolvedor compatíveis com MCP (Claude Code, Cursor, Windsurf), pode chamar as APIs Zyla através do endpoint MCP. Configure seu cliente para apontar para a URL do servidor MCP e passe sua chave de API:
Uma vez conectado, seu agente pode invocar a mesma capacidade de Download Video da Social Saver API via MCP usando sua assinatura e chave Zyla existentes. O comportamento e a autenticação são os mesmos que chamadas HTTP diretas: Autorização com sua chave Zyla, cobrança de assinatura + cota, e links de download direto limitados no tempo na resposta.
Testando, monitorando e operando esta integração
- Tentativas e backoff: Envolva tanto a solicitação de metadados quanto o download do arquivo com lógica de tentativa e backoff exponencial para lidar com falhas transitórias.
- Timeouts: Use timeouts explícitos para o POST de metadados e as solicitações GET do arquivo. Timeouts mais longos podem ser necessários para arquivos grandes.
- Armazenamento e ciclo de vida: Armazene mídias em armazenamento de objetos com políticas de ciclo de vida e verificação de checksum para manter os custos e o risco de corrupção baixos.
- Observabilidade: Registre a qualidade, tipo e extensão da variante selecionada. Se os metadados incluírem tamanho ou duração, capture-os para monitoramento.
- Acesso: Mantenha sua chave de API Zyla em seu gerenciador de segredos e rotacione periodicamente.
Como escolher a variante certa
A maioria dos pipelines escolhe uma única variante “fonte da verdade” e, opcionalmente, uma cópia de revisão leve:
- Fonte: selecione a
qualidademais alta não-audio que você pode processar (por exemplo, 1080p), prefira aextensãomp4 para compatibilidade com a cadeia de ferramentas. - Revisão: use uma variante de
qualidademais baixa ou apenas áudio para tarefas de QA ou transcrição. - Fallback: se apenas áudio for retornado, ramifique seu fluxo de trabalho de acordo (por exemplo, apenas transcrição).
Padrões de solicitação que funcionam em produção
- Puxar-então-baixar: Chame o endpoint, inicie imediatamente o download de sua variante escolhida e só então coloque na fila trabalhos a jusante com o caminho do arquivo salvo.
- Idempotência: Se sua fila puder redeliver, escreva em um caminho temporário e mova de forma atômica uma vez que o arquivo esteja totalmente escrito.
- Síncrono vs assíncrono: Mantenha a chamada de metadados síncrona em manipuladores de solicitação, mas descarregue o download do arquivo para um trabalhador se o cliente não puder esperar.
Modelo de assinatura e acesso
A Zyla usa assinatura + cota, não pagamento por chamada. Para a Social Saver API, você pode começar com um teste de 7 dias ou 50 solicitações; verifique a página do marketplace para opções de acesso atuais. Gerencie o uso entre as APIs de Mídia sob uma única conta e chave em Zyla API Hub.
FAQ
A API suporta Instagram?
Não. A listagem observa que o download para Instagram não está disponível.
As URLs de download direto são permanentes?
Não. Elas são limitadas no tempo; você verá um parâmetro expire na URL. Baixe o arquivo prontamente após buscar o JSON.
Quais campos me dizem o que baixar?medias[].url é o link direto. Use qualidade para classificar variantes, is_audio para detectar apenas áudio, e tipo/extensão para escolher formatos compatíveis.
Que autenticação é necessária?
Envie sua chave Zyla no cabeçalho: Authorization: Bearer YOUR_API_KEY.
Há um plano gratuito?
A Zyla opera em um modelo de assinatura + cota. Para a Social Saver API, você pode iniciar um teste de 7 dias ou 50 solicitações; veja a listagem para detalhes atuais.
Pronto para integrar uma API para baixar vídeo em seu pipeline de Mídia? Comece seu teste e obtenha uma chave funcional em minutos aqui: Iniciar teste de 7 dias na Social Saver API.
Resposta oficial da 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…
Resposta oficial da 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…