YouTube 转 MP3 转换器 API
一次 POST 把公开 YouTube 视频转成 MP3、M4A、WAV、FLAC 等八种格式。响应返回永久音频下载地址和规范化曲目元数据。
- 一次 POST,一个音频文件
- 永久下载地址
- 八种格式,七档码率
- 成本有界可预期
- 幂等设计
- 诚实的错误契约
请求示例
curl -X POST "https://api.agentbody.io/v1/youtube/audio/download" \
-H "Authorization: Bearer <YOUR_AGENTBODY_API_KEY>" \
-H "Content-Type: application/json" \
-d '{"bitrate":"source","format":"mp3","url":"YOUR_URL"}'响应示例
来自 OpenAPI 规范的已文档化响应。
Retained audio file URL and normalized public track metadata.
{
"audio_url": "https://example.com/audio-dQw4w9WgXcQ.mp3",
"bitrate": "192k",
"channel": "Example Channel",
"duration_seconds": 212,
"file_size_bytes": 3407872,
"format": "mp3",
"thumbnail_url": "https://example.com/thumbnail-dQw4w9WgXcQ",
"title": "Example Track",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"video_id": "dQw4w9WgXcQ"
}功能特点
youtube.audio_download 操作把一个公开 YouTube 视频转成保存好的音频文件。密钥放在你的服务端;接口在一次调用里返回永久下载地址和规范化元数据。
一次 POST,一个音频文件
向 POST /v1/youtube/audio/download 发送公开 YouTube URL,可选 format 和 bitrate。200 成功响应包含 video_id、url、title、channel、duration_seconds、audio_url、thumbnail_url、format、bitrate、file_size_bytes——下载管线需要的字段一次给全。
永久下载地址
audio_url 指向完整保存的文件,不是会过期的 CDN 跳转。任何服务器、任何 IP、任何时间都能下载,可以直接交给队列 worker、媒体服务器或终端用户,无需重复转换。
八种格式,七档码率
format 参数接受 mp3(默认)、m4a、wav、aac、flac、opus、vorbis、alac。bitrate 参数接受 source、auto(默认)、320k、256k、192k、128k、64k。无损格式忽略码率;指定码率不会超过源音频流。
成本有界可预期
每次调用只转换一个视频,固定价格——播放列表 URL 被拒绝,上游成本保护会拒绝约 25 分钟以上的视频。你的集成永远面对可预期的单次费用,转换失败不计费。
幂等设计
每个请求带上 Idempotency-Key 头。相同密钥的重试返回原始结果,不重复扣费——在不稳定的网络上安全重试很简单:409 表示密钥冲突,而不是第二次转换。
诚实的错误契约
400 表示 URL、格式或码率无效;401 表示密钥缺失或错误;502/503/504 表示上游转换失败,应退避重试。私密和年龄限制视频会表现为上游错误,因为平台本身拒绝访问。
使用步骤
六步接入 YouTube 转 MP3 转换器 API,curl 或任何 HTTP 客户端均可。
创建 API 密钥
注册免费 AgentBody 账号,在控制台创建 API 密钥。密钥只能放在你的服务端——绝不能打进浏览器或移动客户端的包。
选一个公开视频
选一个公开 YouTube 视频,取任意常见形态的 URL:watch 页、youtu.be 短链、Shorts 或 embed 链接。接口会在任何计费工作开始前先校验 URL。
POST 转换请求
curl -X POST https://api.agentbody.io/v1/youtube/audio/download -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -H "Idempotency-Key: <uuid>" -d '{"url":"https://www.youtube.com/watch?v=dQw4w9WgXcQ","format":"mp3"}'。format 和 bitrate 均可选,默认 mp3 和 auto。
等待 200 返回
调用是同步的,通常几分钟内返回,因为文件是完整下载保存的。HTTP 客户端超时建议至少五分钟;504 视为可重试的超时,而不是转换失败。
读取响应
200 时取 audio_url 拿文件本身,元数据字段——title、channel、duration_seconds、file_size_bytes、thumbnail_url——用于展示或存储。format 和 bitrate 字段回显实际产出。
转存或分发文件
想要完全掌控就把文件从 audio_url 流式转存到你自己的存储,或者直接把链接交给用户。因为 URL 永久有效,两种模式都不需要再调一次 API。
常见问题
一次转换多少钱?
每次成功转换按账号定价页显示的固定价格计费——站点不写死数字,因为价格由网关管理。失败的转换不计费;因为长视频在上游被限制,固定价格与格式、码率无关。
哪些请求字段是必填的?
只有 url 必填:公开 YouTube 视频 URL(watch、youtu.be、Shorts 或 embed)。format 默认 mp3,可选 m4a、wav、aac、flac、opus、vorbis、alac;bitrate 默认 auto,可选 source、320k、256k、192k、128k、64k。
为什么调用要几分钟?
与返回临时 CDN 链接的转换器不同,这个 API 在响应前会把音频文件完整下载并保存,这正是返回 URL 永久有效的原因。典型歌曲 1-3 分钟完成;客户端超时留五分钟,504 可重试。
能转播放列表或长播客吗?
不能。接口每次调用只转换一个视频,拒绝播放列表 URL。约 25 分钟以上的视频被上游成本保护拒绝,以保证固定价格可持续;批量任务应每个视频一次调用,各用独立幂等键排队。
重试和幂等怎么处理?
每次转换带一个唯一 Idempotency-Key。相同密钥的重试返回原始结果,不二次扣费;409 表示该密钥已用于不同参数。网络失败和 5xx 响应都可以用同一密钥安全重试。
API 不能转换什么内容?
私密、不公开和年龄限制视频无法转换,因为平台本身拒绝访问——表现为上游错误。只转换你拥有、已获授权或有其他合法依据的公开内容,遵守版权法和 YouTube 服务条款。