您需要让用户下载 YouTube 视频或以特定格式提取音频,并且您需要在本周内完成。通过本指南,您将获得一个可复制的请求,该请求返回一个可用于特定 YouTube URL 的下载作业,以及将其集成到您的媒体工作流程中的实用说明。
此 API 的功能及使用时机
Zyla API Hub 上的 YouTube 下载和信息 API 为您提供了一个简单的 HTTP 端点,以请求可下载版本的 YouTube 视频或音频,格式为目标格式。您传递 YouTube URL 和所需格式;API 返回一个作业标识符、一个缩略图图像 URL 和一个进度 URL,您可以使用它来监控作业。
典型用例:
- 让用户以 720p 或 1080p 下载视频以供离线使用。
- 提取音轨(例如,mp3、m4a、flac、opus、wav)以进行播客填充或配音采样。
- 批量工具将创作者的上传标准化为固定的交付物。
Zyla API Hub 在一个帐户、一个 API 密钥和订阅 + 配额模型下托管超过 10,000 个公共 API,涵盖媒体和其他类别。此 API 是媒体类别的一部分,专注于视频/音频检索。
在 Zyla API Hub 上入门
要调用此 API,请打开市场列表并订阅。您将获得一个在 Zyla API 中使用的 API 密钥,并通过授权头进行身份验证。您选择的第一个 API 通常可以通过 7 天试用或 50 次请求进行尝试——请查看列表以了解当前可用的内容。
- 访问列表: 开始 7 天试用 YouTube 下载和信息 API
- 单击订阅(或在可用时开始免费试用)并复制您的 API 密钥。
- 在请求中使用头 Authorization: Bearer YOUR_API_KEY。
您可以使用相同的帐户和密钥在 Zyla API Hub 上探索其他媒体 API 和类别。
端点:下载
此端点请求给定 YouTube URL 的可下载版本,格式为指定格式,并返回一个作业描述符以跟踪进度。
- 方法:GET
- URL: https://zylalabs.com/api/11016/youtube-download-and-info-api/20761/download
- 所需查询参数:
- url (string):YouTube URL。示例: https://www.youtube.com/watch?v=aGSKrC7dGcY(在请求中进行 URL 编码)。
- format (string):所需的输出格式。
支持的格式:
- 视频:360p、480p、720p、1080p、1440p、2160p
- 音频:mp3、m4a、flac、opus、wav
注意事项:
- 音频下载链接在生成后 2 小时内过期。
- 此端点仅支持下载常规视频。
官方 cURL 示例
curl -s -X GET "https://zylalabs.com/api/11016/youtube-download-and-info-api/20761/download?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DaGSKrC7dGcY&format=720" \
-H "Authorization: Bearer YOUR_API_KEY"
官方示例响应
{
"success": true,
"id": "2ec15939807689549d3f3115f168be6b9c868105",
"image": "https://i.ytimg.com/vi/aGSKrC7dGcY/hqdefault.jpg",
"progress_url": "https://youtube-api-progress-copy-development.up.railway.app/api/progress?id=2ec15939807689549d3f3115f168be6b9c868105"
}
您实际使用的字段含义:
- success:作业是否成功排队。
- id:作业标识符;存储以关联日志和 UI 状态。
- image:您可以在作业运行时在 UI 中显示的缩略图。
- progress_url:您可以查询以检查作业进度的 URL。使用它来驱动前端或工作者中的轮询。如果您公开音频下载,请记住关于音频链接在生成后 2 小时过期的说明。
使用 requests 的 Python 示例
此示例使用与官方 cURL 相同的参数调用相同的端点,解析 JSON,并打印作业元数据。在测试该视频 ID 时,请保持授权头和 URL 完全如所示;根据需要将格式更改为支持的值之一。
import requests
from urllib.parse import quote_plus
API_KEY = "YOUR_API_KEY"
youtube_url = "https://www.youtube.com/watch?v=aGSKrC7dGcY"
format_value = "720" # 或 "1080p"、"mp3"、"m4a"、"flac"、"opus"、"wav" 等。
encoded_url = quote_plus(youtube_url)
endpoint = (
"https://zylalabs.com/api/11016/youtube-download-and-info-api/20761/download"
f"?url={{encoded_url}}&format={{format_value}}"
)
headers = {
"Authorization": f"Bearer {{API_KEY}}",
}
resp = requests.get(endpoint, headers=headers, timeout=30)
resp.raise_for_status()
data = resp.json()
# 使用 API 返回的字段
print("成功:", data.get("success"))
print("作业 ID:", data.get("id"))
print("缩略图:", data.get("image"))
print("进度 URL:", data.get("progress_url"))
# 示例:如果您想轮询 progress_url,请保持短暂的退避,并在您的 UI 或工作者看到作业完成时停止
# 进度响应的格式在此未记录;请谨慎设计您的轮询。
节省时间的实施细节
- URL 编码:始终对 url 参数的 YouTube 链接进行 URL 编码。许多失败来自原始的 & 符号出现在观看 URL 中。
- 格式字符串:对于视频,使用列出的分辨率(例如,720p 或 1080p)。对于音频,使用 mp3、m4a、flac、opus、wav 之一。如果您的 UI 有下拉菜单,请在调用之前对照该列表进行验证。
- 作业跟踪:在您的数据库中持久化返回的 id,并将其与当前用户/会话关联,以便在页面刷新后恢复进度指示器。
- 缩略图:使用图像字段在下载作业运行时为您的 UI 提供即时反馈。
- 音频过期:音频下载链接在生成后 2 小时内过期。如果您的工作流程涉及延迟检索(例如,稍后通过电子邮件发送),请触发按需再生成或指示用户及时下载。
- 重试:如果您在 progress_url 上实现轮询,请保持适度的退避,以避免过度请求。将最新状态缓存在您的存储中,以避免 UI 闪烁。
- 直播:该端点仅支持常规视频。如果用户粘贴直播流,请在调用 API 之前显示验证错误。
- 订阅 + 配额:调用会消耗您计划下的配额;此 API 不是按调用计费。请查看列表以获取当前访问选项。您选择的第一个 API 通常提供 7 天试用或 50 次请求。
常见的现实世界流程
1) 在 Web 应用中的“下载为”模态
- 用户粘贴 YouTube URL 并选择格式(例如,1080p 视频或 mp3 音频)。
- 您的前端调用后端,后端调用下载端点,传递 url 和 format。
- 显示来自图像的缩略图,并在服务器上轮询 progress_url 时显示加载动画。
- 完成后,将最终下载链接呈现给用户。对于音频,显示关于 2 小时过期的说明。
2) 批量媒体库标准化
- 维护 YouTube URL 和目标格式的队列(例如,所有 720p 视频用于预览)。
- 为每个作业调用下载端点;存储 id 和 progress_url。
- 让工作者轮询 progress_url 以推进作业状态,并在结果可用时将其发布到云存储。
3) 仅音频摄取管道
- 前端验证用户选择了 mp3、m4a、flac、opus、wav 之一。
- 通过下载端点启动作业。
- 完成后,立即触发下游转录或标记,注意音频链接的 2 小时过期窗口。
通过 MCP 从 AI 代理使用此 API
如果您更喜欢通过 AI 代理或 MCP 兼容的 IDE 来协调调用,您可以连接到 Zyla 的 MCP 网关。支持 MCP 的客户端,如 Claude Code、Cursor 和 Windsurf,可以使用您的 Zyla API 密钥调用市场 API。请在此处查看 MCP 连接详细信息: MCP。
- 将您的 MCP 客户端指向 MCP 端点并提供您的 Zyla API 密钥。
- 在您的工具或代理提示中,指示它向下载端点 URL 发出 GET 请求,带有 url 和 format 参数,并包括 Authorization: Bearer YOUR_API_KEY 头。
- 从响应中解析 success、id、image 和 progress_url,以驱动后续操作(例如,轮询或 UI 更新)。
测试清单
- 在调用端点之前,客户端验证 YouTube URL 和格式。
- 使用 720p 视频进行测试调用,以确认成功、id、image 和 progress_url 字段按预期返回。
- 围绕 HTTP 状态代码和超时实现基本错误处理。
- 决定在哪里存储作业 id 以及多频繁轮询 progress_url。
- 如果公开音频输出,请在结果音频链接的 2 小时过期周围实现用户体验提示或提醒。
常见问题解答
支持哪些格式?
视频:360p、480p、720p、1080p、1440p、2160p。音频:mp3、m4a、flac、opus、wav。
我该如何进行身份验证?
在每个请求中包含头 Authorization: Bearer YOUR_API_KEY。
音频下载链接会过期吗?
是的。音频下载链接在生成后 2 小时内过期。请相应设计您的用户体验。
这支持直播吗?
此端点仅支持下载常规视频。
如何处理计费?
Zyla API 使用订阅 + 配额模型,而不是按调用计费。有关当前访问选项(例如,7 天试用或您的第一个 API 的 50 次请求),请查看市场列表。
发布它
订阅并运行上述 cURL,然后将 id、image 和 progress_url 连接到您的作业跟踪器。您今天可以准备好生产。开始这里: 开始 7 天试用 YouTube 下载和信息 API。