Necesitas convertir videos específicos de YouTube en audio descargable esta semana—sin trucos de navegador, sin ingeniería inversa, solo una API estable que puedas enviar a producción. Al final de esta guía, podrás convertir programáticamente un video de YouTube (≈5 minutos o menos) en un archivo de audio, recuperar el enlace directo de MP3 e integrarlo en tu flujo de trabajo de medios utilizando la API de Video a Audio de Youtube en Zyla API Hub.
Qué hace esta API y cuándo usarla
La API de Video a Audio de Youtube convierte un video de YouTube (identificado por su ID de video) en un archivo de audio y devuelve una URL directa que puedes descargar. Los usos típicos incluyen:
- Extracción de audio para transcripción o pipelines de PLN.
- Creación de vistas previas de audio para moderación de contenido o herramientas de revisión interna.
- Impulsar flujos de trabajo de medios donde la pista de audio se necesita independientemente del video.
La API devuelve una carga útil JSON con el enlace de audio, el título del video, el tamaño del archivo y el estado de conversión, lo que facilita la automatización del posprocesamiento, como almacenamiento, etiquetado o ingestión posterior.
Comenzando en Zyla API Hub
Zyla API Hub es un mercado con más de 10,000 APIs públicas bajo una sola cuenta, una clave API y un único modelo de suscripción. Para esta API, te autenticas con un encabezado Authorization: Bearer YOUR_API_KEY. La facturación es por suscripción + cuota, no por llamada. No hay Plan Gratuito. La API de Video a Audio de Youtube ofrece una prueba de 7 días que puedes comenzar directamente desde la página de listado.
Abre el listado y comienza tu prueba aquí: Comienza la prueba de 7 días en la API de Video a Audio de Youtube.
Descripción general del endpoint
La API expone un único endpoint para convertir un video de YouTube a audio. Mantén los videos alrededor de 5 minutos o menos para asegurar una conversión exitosa.
- Endpoint: Obtener Audio
- Método: GET
- URL: https://zylalabs.com/api/1812/youtube-video-to-audio-api/5870/get-audio
- Parámetro de consulta requerido:
- id (string): El ID del video de YouTube (por ejemplo, p-Z3YrHJ1sU)
Importante: Pasa tu clave API en el encabezado de autorización. La respuesta devuelve un objeto JSON que contiene el enlace directo al MP3 generado, el título original, el tamaño del archivo en bytes, el progreso de la conversión, la duración en segundos y los campos de estado/mensaje.
Inicio rápido: solicitud cURL
Usa esta solicitud exacta para probar el flujo. Reemplaza YOUR_API_KEY con tu clave activa del listado de Zyla API Hub.
curl -s -X GET "https://zylalabs.com/api/1812/youtube-video-to-audio-api/5870/get-audio?id=p-Z3YrHJ1sU"
-H "Authorization: Bearer YOUR_API_KEY"
Respuesta de muestra oficial
{
"link": "https://eta.123tokyo.xyz/get.php/9/9e/ty7nkwYqodA.mp3?cid=MmEwMTo0Zjg6YzAxMjozMmVlOjoxfE5BfERF&h=FwrcvY5cIfOO0jyXh5C-6Q&s=1737705748&n=%E2%82%B91%2C07%2C000%20_iPhone%2016%20Pro%20Max_%20USA%20to%20INDIA_%20%23shorts%20%23youtubeshorts&uT=R&uN=QWxlam9aeWxhTGFicw%3D%3D",
"title": "₹1,07,000 *iPhone 16 Pro Max* USA to INDIA! #shorts #youtubeshorts",
"filesize": 417480,
"progress": 100,
"duration": 22.896054233758,
"status": "ok",
"msg": "success"
}
Lo que típicamente leerás de esta carga útil:
- link: URL directa de MP3 que puedes descargar o transmitir.
- title: Título original de YouTube (útil para nombrar o metadatos).
- filesize: Tamaño en bytes (valida contra los límites de almacenamiento).
- progress: Porcentaje de finalización. Espera 100 cuando esté listo.
- duration: Longitud en segundos (float), útil para validación/UX.
- status/msg: Estado operativo y mensaje. Verifica que sea "ok" y "success" antes de descargar.
Ejemplo en Python: convertir y descargar el MP3
Este ejemplo llama al endpoint, valida la respuesta y descarga el MP3 en el almacenamiento local. Reemplaza YOUR_API_KEY con tu clave y cambia el video_id según sea necesario.
import os
import sys
import time
import requests
API_KEY = os.getenv("ZYLALABS_API_KEY", "YOUR_API_KEY")
VIDEO_ID = "p-Z3YrHJ1sU" # ID del video de YouTube
BASE_URL = "https://zylalabs.com/api/1812/youtube-video-to-audio-api/5870/get-audio"
headers = {"Authorization": f"Bearer {API_KEY}"}
def get_audio_json(video_id: str) -> dict:
params = {"id": video_id}
r = requests.get(BASE_URL, headers=headers, params=params, timeout=30)
r.raise_for_status()
return r.json()
def download_file(url: str, dest_path: str):
with requests.get(url, stream=True, timeout=60) as r:
r.raise_for_status()
with open(dest_path, "wb") as f:
for chunk in r.iter_content(chunk_size=8192):
if chunk:
f.write(chunk)
def main():
try:
data = get_audio_json(VIDEO_ID)
except requests.HTTPError as e:
print(f"Error HTTP: {e}", file=sys.stderr)
sys.exit(1)
status = data.get("status")
msg = data.get("msg")
progress = data.get("progress")
link = data.get("link")
title = data.get("title")
filesize = data.get("filesize")
duration = data.get("duration")
if status != "ok" or msg != "success" or progress != 100 or not link:
print(f"Conversión no lista o fallida. status={status} msg={msg} progress={progress}", file=sys.stderr)
sys.exit(2)
# Nombre de archivo básico: sanitiza el título para evitar problemas de ruta
safe_title = "".join(c for c in title if c.isalnum() or c in (" ", "-", "_")).rstrip()
filename = f"{safe_title or VIDEO_ID}.mp3"
print(f"Título: {title}")
print(f"Duración (s): {duration}")
print(f"Tamaño del archivo (bytes): {filesize}")
print(f"Descargando a: {filename}")
try:
download_file(link, filename)
print("Descarga completa.")
except requests.HTTPError as e:
print(f"Error al descargar el archivo: {e}", file=sys.stderr)
sys.exit(3)
if __name__ == "__main__":
main()
Notas:
- id espera solo el ID del video de YouTube (el token corto en una URL de visualización). Por ejemplo, de https://www.youtube.com/watch?v=p-Z3YrHJ1sU, pasa p-Z3YrHJ1sU.
- Verifica que progress == 100, status == "ok" y msg == "success" antes de descargar.
- Usa el tamaño de archivo y la duración devueltos para validar las reglas de negocio (por ejemplo, rechazar archivos largos, hacer cumplir cuotas de almacenamiento).
Detalles de integración práctica que ahorran tiempo
- Guía de longitud de YouTube: Usa videos de alrededor de 5 minutos o menos; videos más largos pueden no procesarse con éxito.
- Lógica de reintento: Si tu primera llamada devuelve un estado que no está listo, implementa un breve retroceso y reintenta, respetando tu cuota de suscripción.
- Manejo de archivos: El enlace es una URL directa de MP3. Descárgalo inmediatamente o pásalo a tu capa de almacenamiento (S3, GCS, etc.). Evita el hotlinking en producción: almacena o guarda el audio para mayor confiabilidad.
- Metadatos: Usa el título para los nombres de archivos, pero siempre sanitiza para la compatibilidad con el sistema de archivos.
- Duraciones y UX: Muestra el tiempo restante o un ETA aproximando el tamaño del archivo/tasa de bits si también gestionas la interfaz de usuario de transmisión.
- Seguridad: Mantén tu clave API del lado del servidor. Nunca la expongas en el código del lado del cliente.
- Conciencia de cuota: El mercado utiliza un modelo de suscripción + cuota. Monitorea el uso para prevenir escenarios inesperados de 429/límite.
Flujos de trabajo y casos de uso comunes
Pipeline de voz a texto
Convierte un breve video explicativo de YouTube en MP3, luego alimenta el archivo en tu servicio de transcripción. Usa la duración para rechazar cargas que superen tu límite de reconocimiento de voz antes de que pagues costos de computación posteriores.
Recortes y vistas previas de podcasts
Obtén el audio de clips cortos para revisión editorial. Almacena el nombre del archivo como un slug derivado del título y usa el tamaño del archivo para estimar los tiempos de transferencia al renderizar vistas previas.
Herramientas de cumplimiento o moderación
Genera activos solo de audio para clasificación basada en ML. Mantén el título como una etiqueta y almacena la marca de tiempo de recuperación del enlace para auditorías.
Respaldo de medios para ingestión de CMS
Para artículos que incrustan un video, almacena el audio junto con la publicación para características de accesibilidad (versiones solo de audio). Valida la duración contra la política de longitud máxima de tu CMS.
MCP: llama a esta API desde agentes de IA
Si construyes con agentes de codificación de IA o copilotos integrados en IDE, puedes dirigir llamadas a través del endpoint MCP de Zyla, que funciona con clientes como Claude Code, Cursor y Windsurf. Configura tu agente para llamar al endpoint del mercado a través de MCP usando tu clave API. Para referencia, consulta: MCP. El agente debe emitir una solicitud GET al endpoint Obtener Audio de la API de Video a Audio de Youtube con el parámetro id requerido y el encabezado Authorization: Bearer YOUR_API_KEY. Tu herramienta puede luego analizar el enlace, el título, el tamaño del archivo y la duración para decidir si descargar o pasar la URL hacia adelante.
Manejo de errores y resiliencia
- Validación de parámetros: Asegúrate de que id esté presente y sea un ID de video de YouTube válido. Elimina espacios en blanco y restos de consulta de URL antes de enviar.
- Verificaciones de estado: No asumas éxito: confirma estado, msg y progreso. Maneja respuestas HTTP no 200 con reintentos donde sea apropiado.
- Timeouts: Las solicitudes de red tanto al endpoint JSON como al enlace MP3 devuelto deben tener timeouts razonables (por ejemplo, 30–60 segundos).
- Caching: Almacena la respuesta JSON junto con tu archivo descargado para que puedas mostrar el título y la duración precisos sin volver a llamar a la API para el mismo ID de video.
- Throughput: Si estás procesando por lotes, escalona las solicitudes para respetar las cuotas de suscripción y evitar estresar el almacenamiento posterior.
Consejos de prueba
- Usa un video corto conocido: Mantén el video de prueba por debajo de 1 minuto para acelerar las verificaciones de extremo a extremo.
- Higiene del sistema de archivos: Reemplaza caracteres como barras, dos puntos o emoji en el título devuelto para evitar errores en sistemas de archivos de Windows/macOS.
- Afirmaciones: Verifica que progress == 100 y que el tamaño del archivo sea mayor que cero antes de escribir en el disco.
- Observabilidad: Registra id, estado, msg, duración y tamaño del archivo para triage si los usuarios informan audio faltante o corrupto.
Referencia: Detalles del endpoint
Obtener Audio
- Método: GET
- URL: https://zylalabs.com/api/1812/youtube-video-to-audio-api/5870/get-audio
- Parámetros de consulta:
- id (string, requerido): ID del video de YouTube (ejemplo: p-Z3YrHJ1sU)
- Encabezados:
- Authorization: Bearer YOUR_API_KEY
- Descripción: Convierte el video de YouTube dado (≈5 minutos o menos recomendado) a audio y devuelve JSON con un enlace directo de MP3 y metadatos.
Lista de verificación de extremo a extremo para producción
- Obtén tu clave API del listado de Zyla y almacénala de forma segura (var de entorno o administrador de secretos).
- Implementa la llamada GET con el parámetro id y el encabezado de autorización.
- Verifica status/msg/progress antes de intentar descargar el archivo.
- Sanitiza y persiste el título, la duración y el tamaño del archivo junto con el activo de audio.
- Agrega reintentos con retroceso; monitorea tu cuota de suscripción.
- Escribe pruebas de integración contra un ID de video corto estable.
- Conecta registros y alarmas para errores HTTP y formas de respuesta inesperadas.
FAQ
¿Qué paso como parámetro id?
Pasa el ID del video de YouTube, no la URL completa. De https://www.youtube.com/watch?v=p-Z3YrHJ1sU, usa p-Z3YrHJ1sU.
¿Cuánto puede durar el video?
El endpoint indica que los videos deben tener aproximadamente 5 minutos o menos de duración.
¿Cómo me autentico?
Usa el encabezado: Authorization: Bearer YOUR_API_KEY. Las claves se emiten después de que te suscribes a la API en Zyla API Hub.
¿Qué campos confirman una conversión exitosa?
Verifica que status == "ok", msg == "success", progress == 100 y que el enlace esté presente antes de intentar descargar.
¿Es esto pago por llamada?
No. Zyla API Hub utiliza un modelo de suscripción + cuota. Consulta la página de la API para opciones de acceso actuales y detalles de precios.
¿Listo para enviar? Comienza tu prueba de 7 días y obtén tu clave API del listado: Comienza la prueba de 7 días en la API de Video a Audio de Youtube. Construye tu pipeline de medios con una sola suscripción a través de miles de APIs en Zyla API Hub.