Você tem um recurso para enviar esta semana: transformar um vídeo do YouTube em um arquivo de áudio que seu aplicativo pode baixar, transmitir ou processar. Ao final deste artigo, você será capaz de chamar a API do Youtube para Áudio do Zyla API Hub para resolver um vídeo do YouTube em uma URL de download MP3 ou acionar um fluxo de download a partir de uma URL do YouTube, e então integrar o áudio resultante em seu pipeline.
O que a API do Youtube para Áudio fornece
A API do Youtube para Áudio expõe dois endpoints GET simples que convertem um vídeo do YouTube em áudio. Um endpoint aceita um ID de vídeo do YouTube e retorna um link MP3 pronto para download, além de metadados úteis (título, duração, tamanho do arquivo). O outro aceita uma URL completa do YouTube e retorna uma URL de download que você pode buscar para obter o áudio.
Os consumidores típicos incluem:
- Ferramentas de recorte de podcast que convertem vídeos longos em destaques de áudio.
- Serviços de transcrição e análise de fala que precisam de um MP3 antes de enviar o áudio para um mecanismo de conversão de fala em texto.
- Construtores de base de conhecimento que indexam conteúdo falado do YouTube.
- Agentes de automação de conteúdo ou IA que convertem em lote listas de reprodução de vídeos em áudio para processamento posterior.
Começando no Zyla API Hub
Para usar os endpoints, abra a listagem da API no Zyla API Hub, inscreva-se e obtenha sua chave de API. A autenticação é um único cabeçalho HTTP em cada solicitação: Authorization: Bearer YOUR_API_KEY. O Zyla usa um modelo de assinatura + cota (não pay-per-call). A primeira API na sua conta oferece um teste de 7 dias ou 50 solicitações; verifique a página da API para opções de acesso e preços atuais. Comece aqui:
Iniciar teste de 7 dias na API do Youtube para Áudio
Endpoints que você usará
Base: Todas as chamadas são feitas diretamente para as URLs do Zyla API Hub mostradas abaixo. Não adicione parâmetros de consulta extras além dos documentados.
1) Obter Áudio (por ID de vídeo do YouTube)
Método: GET
URL: https://zylalabs.com/api/381/youtube-to-audio-api/8884/get-audio
Descrição: Forneça um ID de vídeo do YouTube e receba um objeto contendo um link MP3 direto e metadados. Parâmetro requerido:
- id (string): o ID do vídeo do YouTube.
Exemplo oficial de curl:
curl -s -X GET "https://zylalabs.com/api/381/youtube-to-audio-api/8884/get-audio?id=xFYQQPAOz7Y" \
-H "Authorization: Bearer YOUR_API_KEY"
Resposta JSON oficial:
{
"msg": "success",
"link": "https://theta.123tokyo.xyz/get.php/d/fa/xFYQQPAOz7Y.mp3?n=Eminem%20-%20Lose%20Yourself&uT=R&uN=QWxlam9aeWxhTGFicw%3D%3D&h=TcO7xrzRPZ9cGbw2wXP93w&s=1784312338&uT=R&uN=QWxlam9aeWxhTGFicw%3D%3D",
"status": "ok",
"duration": 327.49718169275,
"title": "Eminem - Lose Yourself",
"progress": 100,
"pc": 0,
"filesize": 4181397
}
Como usar esses campos:
- link: URL MP3 direta e sensível ao tempo. Realize um segundo GET para baixar os bytes de áudio.
- title: Título legível por humanos. Útil para nomeação de arquivos ou UI.
- duration: Duração do vídeo/aúdio como um número de ponto flutuante (segundos).
- filesize: Tamanho do arquivo em bytes (útil para pré-alocar armazenamento ou mostrar barras de progresso).
- status/msg/progress/pc: Indicadores de status operacional que você pode registrar ou exibir para depuração.
2) Baixar Áudio (por URL completa do YouTube)
Método: GET
URL: https://zylalabs.com/api/381/youtube-to-audio-api/22174/download-audio
Descrição: Forneça uma URL completa do YouTube e receba uma URL que você pode buscar para baixar o áudio. Parâmetro requerido:
- url (string): URL completa do vídeo do YouTube.
Exemplo oficial de curl:
Resposta JSON oficial:
Como usar este campo:
- downloadUrl: Busque esta URL para recuperar o binário de áudio. Na maioria dos aplicativos, você transmitirá os bytes para o disco ou para o armazenamento em nuvem.
Exemplo em Python: resolvendo um ID do YouTube e baixando MP3
Este exemplo mostra como chamar Obter Áudio, ler os metadados e baixar o arquivo MP3. Ele usa o endpoint e os parâmetros exatos mostrados acima.
import os
import sys
import requests
API_KEY = os.getenv("ZYLALABS_API_KEY", "YOUR_API_KEY")
VIDEO_ID = "xFYQQPAOz7Y" # Fornecido no exemplo oficial
OUTFILE = "audio.mp3"
session = requests.Session()
headers = {"Authorization": f"Bearer {API_KEY}"}
# 1) Resolver o ID do YouTube para um link MP3 + metadados
meta_url = "https://zylalabs.com/api/381/youtube-to-audio-api/8884/get-audio"
resp = session.get(meta_url, headers=headers, params={"id": VIDEO_ID}, timeout=60)
resp.raise_for_status()
data = resp.json()
if data.get("status") != "ok" or not data.get("link"):
print("Falha ao resolver áudio.", file=sys.stderr)
print(data, file=sys.stderr)
sys.exit(1)
mp3_url = data["link"]
title = data.get("title")
duration = data.get("duration")
filesize = data.get("filesize")
print(f"Resolvido: título={title}, duração_s={duration}, bytes={filesize}")
print("Baixando áudio...")
# 2) Baixar o stream MP3
with session.get(mp3_url, stream=True, timeout=120) as r:
r.raise_for_status()
with open(OUTFILE, "wb") as f:
for chunk in r.iter_content(chunk_size=1024 * 128):
if chunk:
f.write(chunk)
# 3) Opcional: renomear usando o título se fornecido
if title:
safe = "".join(c for c in title if c.isalnum() or c in (" ", "-", "_")).rstrip()
new_name = f"{safe}.mp3"
try:
os.replace(OUTFILE, new_name)
print(f"Salvo: {new_name}")
except Exception:
print(f"Salvo: {OUTFILE} (renomeação falhou, verifique as permissões do sistema de arquivos)")
print("Concluído.")
Notas:
- A primeira solicitação recupera metadados e um link MP3 direto. A segunda solicitação baixa o stream binário.
- Use downloads em streaming para arquivos grandes para evitar carregar o arquivo inteiro na memória.
- Use o campo filesize (bytes) para pré-dimensionar barras de progresso. A duração está em segundos, o que pode ajudar a estimar custos de transcrição ou processamento.
Casos de uso práticos que você pode enviar esta semana
- Pipelin de transcrição automática: Converta um vídeo do YouTube em MP3 e alimente o áudio em seu serviço de conversão de fala em texto. Armazene a transcrição para pesquisa, sumarização ou QA.
- Cortador de áudio para newsletters: Extraia destaques de áudio para sua newsletter semanal sem escrever seu próprio downloader ou manter scrapers.
- Indexação de conhecimento: Converta palestras ou discursos em áudio, depois divida em partes para incorporação e recuperação em sua pilha RAG.
- Enriquecimento de conteúdo de IA: Use o MP3 como entrada para diarização ou extração de palavras-chave para melhorar recomendações de conteúdo.
- Processamento em lote com filas: Envie IDs ou URLs do YouTube para uma fila; trabalhadores chamam a API, persistem o áudio e emitem eventos com o caminho do arquivo resultante e metadados.
Detalhes de implementação que economizam tempo
- Autenticação: Sempre envie Authorization: Bearer YOUR_API_KEY em cada solicitação GET para os endpoints do Zyla.
- Fluxo em duas etapas: A API retorna um link ou downloadUrl. Realize um segundo GET para essa URL para recuperar os bytes de áudio. Lide com comportamentos HTTP padrão (redirecionamentos, timeouts).
- Nomeação de arquivos: Use o campo title para nomes de arquivos amigáveis. Considere adicionar o ID do YouTube para idempotência (por exemplo, "{title}-{id}.mp3").
- Armazenamento: Para uploads em nuvem, transmita diretamente para seu SDK de armazenamento de objetos para evitar arquivos temporários locais. Use filesize para definir Content-Length quando disponível.
- Tentativas: Saltos de rede para a URL de download estão fora do seu VPC. Implemente tentativas com retrocesso em erros transitórios 5xx/conexão.
- Sanitização: Limpe URLs fornecidas pelo usuário antes de passá-las para o endpoint Baixar Áudio, mas não altere o nome do parâmetro de consulta esperado (url).
- Taxas e cotas: O Zyla usa um modelo de assinatura + cota. Acompanhe seu uso e implemente disjuntores se sua carga de trabalho aumentar. Para opções atuais, verifique a página do Marketplace da API.
Escolhendo entre os dois endpoints
- Se você já tem um ID de vídeo do YouTube, use Obter Áudio. Você obterá um link MP3 direto e metadados úteis (duração, tamanho do arquivo, título) em uma única chamada.
- Se seu fluxo de trabalho começa a partir de uma URL do YouTube colada ou descoberta, use Baixar Áudio. Ele retorna um downloadUrl que você pode buscar para obter o áudio.
Você pode até combiná-los: normalize a entrada em IDs sempre que possível (para deduplicação e cache), mas recorra ao fluxo de URL quando os usuários colarem um link completo.
Chamando a API de agentes de IA via MCP
Toda API no Zyla também pode ser chamada de agentes de IA através do endpoint compatível com MCP em https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY. Isso funciona com agentes no Claude Code, Cursor, Windsurf e outros clientes MCP. Você configura a ferramenta MCP para emitir as mesmas solicitações HTTP GET mostradas acima, com o cabeçalho Authorization e as URLs exatas do Zyla. Para detalhes sobre como usar clientes compatíveis com MCP com ferramentas do Zyla, comece aqui:
Padrões típicos de agentes:
- "Dado um ID de vídeo, busque áudio e envie para minha ferramenta de transcrição."
- "Quando um link do YouTube aparecer em uma tarefa, resolva para MP3, armazene no S3 e retorne a URL de armazenamento."
Fluxo de trabalho mínimo de ponta a ponta (baseado em ID)
- Resolver áudio:
- GET https://zylalabs.com/api/381/youtube-to-audio-api/8884/get-audio?id=YOUR_VIDEO_ID com cabeçalho Authorization.
- Persistir metadados:
- Armazene título, duração (segundos), tamanho do arquivo (bytes) junto com o ID original do YouTube para referência futura.
- Baixar:
- GET o campo link para transmitir o MP3. Salve no disco ou armazenamento de objetos.
- Processamento posterior:
- Inicie transcrição, divisão ou trabalhos de incorporação conforme necessário.
Dicas operacionais
- Timeouts: Defina timeouts conservadores (por exemplo, 60s para metadados, 120s+ para downloads grandes) e tentativas com retrocesso exponencial.
- Observabilidade: Registre IDs de solicitação e o ID/URL do YouTube para rastrear problemas. Também registre tamanho do arquivo e duração para planejamento de capacidade.
- Cache: Armazene resoluções bem-sucedidas indexadas por ID do YouTube. Se um link expirar, chame a API novamente para atualizá-lo.
- Segurança: Não exponha sua chave de API do lado do cliente. Roteie chamadas através do seu serviço de backend.
FAQ
Q: Que autenticação a API requer?
A: Envie Authorization: Bearer YOUR_API_KEY em cada solicitação para os endpoints do Zyla.
Q: Quais parâmetros são obrigatórios para cada endpoint?
A: Obter Áudio requer id (ID do vídeo do YouTube). Baixar Áudio requer url (URL completa do YouTube). Não adicione outros parâmetros.
Q: O que representam duração e tamanho do arquivo?
A: duração é um número de ponto flutuante representando segundos. filesize é o tamanho do arquivo de áudio em bytes.
Q: Posso transmitir o resultado diretamente para o armazenamento em nuvem?
A: Sim. Busque o link (ou downloadUrl) com streaming habilitado e escreva os chunks diretamente no seu SDK de armazenamento.
Q: Como posso testar a API?
A: Inscreva-se na página do Marketplace da API para obter uma chave de API. A primeira API na sua conta inclui um teste de 7 dias ou 50 solicitações; veja a página da API para detalhes atuais.
Se você está pronto para construir, inscreva-se na página do item do Marketplace para a API do Youtube para Áudio para obter sua chave, copie o curl acima e conecte-o ao seu downloader ou pipeline de transcrição. O teste de 7 dias começa na página do item, e os endpoints estão prontos quando você estiver.