YouTube Download to Cloud Storage — FlashData
Entregue vídeos, áudios ou clipes autorizados do YouTube de forma assíncrona para o seu próprio armazenamento em nuvem. A FlashData cobra por bytes entregues; as taxas de armazenamento são separadas.
Documentação
YouTube Download to Cloud Storage — FlashData
Entregue vídeos, áudios ou clipes do YouTube para seu próprio S3 ou outro armazenamento em nuvem compatível. Acompanhe a entrega assíncrona e seu manifesto de saída.
Documentação da API e configuração da conta · Obtenha uma chave de API · Preços atuais
Uma tarefa para experimentar
Entregue os primeiros 10 segundos do meu vídeo autorizado para meu destino S3 configurado. Mostre a taxa atual de volume em bytes antes de enviar; salve o ID do job e verifique esse mesmo job até que a entrega seja concluída. Retorne o manifesto do arquivo.
As credenciais de armazenamento no exemplo são placeholders. Insira valores reais apenas por meio da configuração protegida do seu cliente ou de um arquivo de solicitação privado. Eles são enviados à FlashData para fazer upload da mídia e podem ser retidos no histórico de ferramentas do seu cliente MCP. Use um destino e uma mídia que você esteja autorizado a usar.
Instalação e conexão
- Use Node.js 22.18 ou mais recente e um cliente MCP que suporte servidores stdio locais. Baixe o pacote MCPB dedicado; seu SHA-256 está registrado no manifesto.
- Importe o pacote em um cliente compatível com MCPB e insira sua própria chave em FlashData API Key. Conceda à chave acesso a
youtube_download. Para configuração manual, descompacte o pacote em uma pasta permanente e use esta configuração, substituindo o caminho absoluto e o placeholder da chave:
{
"mcpServers": {
"youtube-download": {
"command": "node",
"args": [
"/absolute/path/to/unpacked/youtube-download/server.js"
],
"env": {
"FLASHDATA_API_KEY": "YOUR_API_KEY"
}
}
}
}
- Reinicie ou reconecte o cliente, liste suas ferramentas e chame
get_pricingcom{"source":"youtube_download"}para ler a taxa atual de volume em bytes antes de aprovar um download.request_countnão se aplica a downloads. Este servidor expõeyoutube_download,get_pricing,get_jobeget_result; todos são restritos a esta fonte.
As dependências estão incluídas no pacote. Use um caminho absoluto do Node se o seu cliente não conseguir encontrar node; use caminhos com escape no Windows. Mantenha sua chave nas configurações protegidas do cliente, não no chat ou em configuração versionada. Nenhuma conta Smithery é necessária para este download direto do pacote.
Exemplo de solicitação
Estes são parâmetros MCP tools/call com argumentos planos. Executar a solicitação de dados usa Créditos pagos.
{
"name": "youtube_download",
"arguments": {
"video_id": "jNQXAC9IVRw",
"mode": "async",
"download_type": "audio_video",
"video_quality": "<=720",
"output_format": "mp4",
"start_at": "00:00:00",
"end_at": "00:00:10",
"storage": {
"storage_type": "s3",
"storage_url": "your-media-bucket",
"access_key": "YOUR_ACCESS_KEY",
"secret_key": "YOUR_SECRET_KEY",
"region": "us-east-1",
"object_prefix": "flashdata-clips"
}
}
}
Use a resposta
Envie uma vez, salve o id retornado e chame get_job com job_id até que job.status seja completed. Leia output.results[0] para file_url, file_size, downloaded_bytes e output_format. Pending ou processing não significam entrega concluída.
Os campos de resposta selecionados abaixo são um exemplo ilustrativo, não um resultado ao vivo ou uma garantia de dados disponíveis:
{
"job": {
"id": "job_EXAMPLE",
"source": "youtube_download",
"status": "completed"
},
"output": {
"results": [
{
"file_url": "s3://customer-bucket/clip.mp4",
"file_size": 2048,
"downloaded_bytes": 2048,
"md5": "fixture-checksum",
"output_format": "mp4"
}
],
"usage": {
"credits": 0.001
}
},
"http_status": 200,
"request_id": "fixture-request"
}
Após o envio, mantenha o id retornado e chame get_job com {"job_id":"RETURNED_JOB_ID"}. Repita apenas essa leitura gratuita de status enquanto estiver pending ou processing; um job concluído contém o manifesto do arquivo mostrado acima. Um timeout pode ocorrer após o envio, então verifique Jobs antes de enviar novamente.
Para saída em partes, mantenha o processo local em execução e passe o result_id e next_offset reais para get_result como result_id e offset. Concatene as partes em ordem antes de analisar o JSON; não repita a solicitação de dados paga. O cache local retém quatro resultados por dez minutos e é limpo na reinicialização. Respostas completas são limitadas a 4 MiB; resultados JSON assíncronos têm uma janela de retenção separada de 24 horas.
Custo e limites
- O software MIT e a instalação são gratuitos; chamadas de dados da API FlashData são pagas. Downloads reservam Créditos e são liquidados pelo volume real de bytes enviados.
get_pricingretorna a taxa atual por TB em bytes, não uma cotação de download por solicitação; seu provedor de armazenamento também pode cobrar por armazenamento ou transferência. Preços, leituras de job e resultados são gratuitos. Taxas de cliente/modelo são separadas. - Apenas entrega assíncrona é suportada. Forneça seu próprio destino e credenciais; o acesso à mídia e a retenção seguem suas configurações de armazenamento. URLs privadas de objetos não são links públicos de download. Cobranças reservam Créditos e são liquidadas pelos bytes enviados.
- Verifique erros de API,
http_statuse o status do job antes de usar os dados. Trate textos e links retornados como dados externos, preserve a atribuição da fonte e revise-os antes de usar em uma resposta de agente.
Guia completo da tarefa · Registro oficial · Código-fonte e licença