Magic Chords 公开 API

一个版本化的 REST API,用于和弦识别、歌词转录与乐谱导出。所有端点位于 /api/v1/ 之下,接受并返回 JSON(上传与生成的文件除外),在公平配额内向匿名开发者开放。

每个端点都在下方嵌入的参考文档中以交互方式呈现,该文档直接由实现生成并始终保持最新。

工作方式

分析与转录异步执行:提交任务后获得 job_id,轮询状态,处理完成后获取完整结果。

快速开始

为歌曲 URL 提交和弦分析:

curl -X POST https://magic-chords.dev/api/v1/analyze/url \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.youtube.com/watch?v=VIDEO_ID"}'

响应包含你的任务句柄:

{"job_id": "bBm3Zx8kQ7...", "status": "processing"}

轮询直到状态变为 complete:

curl https://magic-chords.dev/api/v1/jobs/bBm3Zx8kQ7...

获取和弦、速度、调性与结构:

curl https://magic-chords.dev/api/v1/jobs/bBm3Zx8kQ7.../result

或直接下载导出文件(pdf、midi、musicxml、txt、csv、json):

curl -o chords.pdf \
  "https://magic-chords.dev/api/v1/jobs/bBm3Zx8kQ7.../export?format=pdf"

若要分析本地音频文件而非 URL:

curl -X POST https://magic-chords.dev/api/v1/analyze \
  -F "file=@song.mp3"

端点

方法与路径用途
POST /api/v1/analyze提交已上传音频的和弦分析(multipart 表单)
POST /api/v1/analyze/url提交媒体 URL 进行和弦分析
POST /api/v1/transcribe提交已上传音频的歌词转录
POST /api/v1/transcribe/url提交媒体 URL 进行歌词转录
GET /api/v1/jobs/{job_id}用于轮询的精简状态
GET /api/v1/jobs/{job_id}/result完整结果载荷(和弦、词语、速度、调性……)
GET /api/v1/jobs/{job_id}/export?format=…将已完成的分析导出为 pdf/midi/musicxml/txt/csv/json
GET /api/v1/limits当前配额策略(不计费)

速率限制

匿名客户端按 IP 地址限流。当前默认值(也可通过 /api/v1/limits 实时查询):

类别限制
任务提交(heavy)每客户端每小时 20 次
状态/结果/导出读取(light)每客户端每分钟 60 次
并发运行任务每客户端 2 个

每个计量的响应都带有 X-RateLimit-LimitX-RateLimit-RemainingX-RateLimit-Reset 头。达到限制时会收到带 Retry-After 头的 429 响应——请遵循它。

错误

状态码含义
400请求无效(URL 错误、格式未知)
404未知的 job_id
409任务存在但尚未完成或不可导出
413上传超过最大尺寸
415文件未被识别为音频
429超出速率限制或并发上限
503暂时不可用(配额后端故障)

注意事项

交互式 API 参考

完整参考文档将在下方加载 — 浏览所有端点并直接在本页试用请求。

正在加载交互式参考文档…