您有一个 YouTube URL,您需要一个 MP3 链接,并且您需要在本周内投入生产。到本文结束时,您将确切知道如何调用一个单一的端点,将 YouTube 视频(≈5 分钟或更短)转换为音频文件,解析响应,并在功能标志后进行发布。
此 API 的功能及使用时机
YouTube 视频到音频 API 将 YouTube 视频转换为音频文件,并返回一个可下载的链接和基本元数据。受益于此的典型媒体工作流程包括:
- 提取播客片段、开场/结束或亮点的音频。
- 为内容库生成仅音频的预览。
- 为转录或审核流程准备语音轨道。
- 构建内部工具,将短格式媒体聚合到音频播放列表中。
该 API 可在 Zyla API Hub 上使用,提供一个账户、一个 API 密钥,以及跨数千个 API 的订阅 + 配额计费模型。对于此列表,您可以在产品页面开始 7 天的试用。
在 Zyla API Hub 上入门
打开 API 页面,点击订阅或开始免费试用(如可用),并从仪表板复制您的 API 密钥。所有请求都使用带有 Bearer 令牌的 Authorization 头。
- 身份验证:Authorization: Bearer YOUR_API_KEY
- 计费:订阅 + 配额(非按调用计费)。请查看 API 页面以获取当前访问选项和定价。
端点概述
此 API 暴露一个单一的端点,您可以快速连接:
- 获取音频(GET)— 将指定的 YouTube 视频转换为音频,并返回链接和元数据。
获取音频
- 方法:GET
- URL:https://zylalabs.com/api/1812/youtube-video-to-audio-api/5870/get-audio
- 所需查询参数:
- id(字符串):要转换的 YouTube 视频 ID。示例:p-Z3YrHJ1sU
- 注意:视频长度应约为 5 分钟或更短。
cURL:一个请求完成工作
复制、粘贴、运行。如果您想立即测试,请将 YOUR_API_KEY 替换为您的密钥。
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"
官方示例响应
{
"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 到 INDIA! #shorts #youtubeshorts",
"filesize": 417480,
"progress": 100,
"duration": 22.896054233758,
"status": "ok",
"msg": "success"
}
您实际使用的字段亮点:
- link:生成的音频文件的直接 URL。使用此链接进行下载或流式传输。
- title:源 YouTube 视频的标题(对文件名或 UI 标签有用)。
- filesize:音频文件的大小(API 返回的数值)。
- duration:音频片段的长度(API 返回的数值)。
- progress:100 表示音频已准备好下载。
- status 和 msg:快速成功/错误检查。
Python 示例:获取并持久化音频 URL
此示例调用相同的端点,验证状态/进度,并打印音频链接和元数据。它的设计是最小化的,因此您可以将其粘贴到脚本或作业中。
import os
import requests
API_KEY = os.getenv("ZYLALABS_API_KEY", "YOUR_API_KEY")
VIDEO_ID = "p-Z3YrHJ1sU"
url = "https://zylalabs.com/api/1812/youtube-video-to-audio-api/5870/get-audio"
headers = {
"Authorization": f"Bearer {API_KEY}"
}
params = {
"id": VIDEO_ID
}
resp = requests.get(url, headers=headers, params=params, timeout=60)
resp.raise_for_status()
data = resp.json()
# 基本健康检查
if data.get("status") != "ok" or data.get("progress") != 100:
raise SystemExit(f"转换未准备好或失败:{data}")
audio_link = data.get("link")
title = data.get("title")
duration = data.get("duration")
filesize = data.get("filesize")
print("音频 URL:", audio_link)
print("标题:", title)
print("时长:", duration)
print("文件大小:", filesize)
# 可选:下载到本地文件(流式传输)
if audio_link:
r = requests.get(audio_link, stream=True, timeout=120)
r.raise_for_status()
# 从标题派生简单文件名;根据需要自定义。
filename = "output.mp3"
with open(filename, "wb") as f:
for chunk in r.iter_content(chunk_size=8192):
if chunk:
f.write(chunk)
print("已保存:", filename)
实际集成注意事项
- 视频长度:该端点旨在处理长度约为 5 分钟或更短的视频。在调用 API 之前,请在您的 UI 或作业层中强制执行此约束。
- 按 YouTube ID 的幂等性:如果您期望对同一片段进行重复请求,请按 YouTube 视频 ID 进行缓存。如果您的工作流程立即下载,则也可以持久化返回的链接。
- 进度处理:响应包括一个进度字段。在所示示例中,当音频可用时,它为 100。对于简单流程,调用一次并在进度等于 100 时继续。
- 重试和退避:对于后台作业,在调用 Zyla Hub 端点和从返回链接下载时,添加对瞬态网络错误的重试。
- 内容处理:使用标题字段为文件或 UI 行标记。写入磁盘时对文件名进行清理。
您可以快速交付的用例
- 编辑工具中的剪辑到音频按钮:粘贴 YouTube ID,点击转换,获取流式 URL。
- 自动预览生成:对于短媒体提交,将其转换为音频以快速审核队列。
- 短格式内容的音频档案:定期摄取一组频道视频 ID 并存储音频文档。
- 转录预处理:在传递到语音转文本管道之前,将短视频转换为音频。
通过 AI 代理使用 MCP 调用
如果您使用 Claude Code、Cursor、Windsurf 或其他兼容 MCP 的客户端,您可以通过将请求路由通过 MCP 网关来让代理调用 Zyla API。将客户端指向 MCP 端点,并传递您的 API 密钥:
- 网关: https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY
从那里,指示您的代理向上面显示的确切 Hub 端点发出 GET 请求,包含带有您的密钥的 Authorization 头,并提供 id 查询参数。出于安全考虑,请将您的 API 密钥保存在代理的秘密存储中,并避免记录敏感头信息。
操作提示
- 头信息:始终向 Zyla Hub 端点发送 Authorization: Bearer YOUR_API_KEY。
- 超时:网络时间变化;为 API 调用和随后的文件下载配置合理的超时。
- 存储:如果您需要持久访问,请在收到链接时下载文件并将其存储在您的存储桶中。不要假设第三方链接是永久的。
- 监控:记录状态、msg 和进度值,以便在批处理或队列工作者中尽早发现故障。
- 配额:该 Hub 使用订阅 + 配额模型。跟踪您的使用情况;如果您预期会有高峰,请查看列表页面上的计划。
您今天可以实施的端到端流程
- 从列表页面获取 API 密钥,并将其存储在您的配置或秘密管理器中。
- 在您的 UI 或作业队列中接受 YouTube 视频 ID。在可以的情况下,上游验证长度约束。
- 调用 GET https://zylalabs.com/api/1812/youtube-video-to-audio-api/5870/get-audio,带上 id 参数和 Authorization 头。
- 检查状态 == "ok" 和进度 == 100。
- 使用链接进行下载或流式传输。如果您需要持久访问,请保存到您的存储中。
- 使用标题、时长和文件大小进行 UI、日志记录和 QA 信号。
常见问题
我传递什么参数来转换视频?
使用 id 查询参数(示例:p-Z3YrHJ1sU)传递 YouTube 视频 ID 到获取音频端点。
端点 URL 和方法是什么?
GET https://zylalabs.com/api/1812/youtube-video-to-audio-api/5870/get-audio
我如何进行身份验证?
在每个请求中包含头信息 Authorization: Bearer YOUR_API_KEY 到 Zyla Hub 端点。
视频时长有限制吗?
是的。视频长度应约为 5 分钟或更短。
进度是什么意思?
响应包括一个数字进度字段。值为 100 表示音频已准备好下载。
发布它
您只需要一个 GET 请求即可将 YouTube 视频 ID 转换为可下载的音频链接。创建您的账户,获取 API 密钥,并通过列表页面将其连接到您的媒体工作流程: 开始 7 天试用 YouTube 视频到音频 API。