一个版本化的 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-Limit、X-RateLimit-Remaining 和 X-RateLimit-Reset 头。达到限制时会收到带 Retry-After 头的 429 响应——请遵循它。
| 状态码 | 含义 |
|---|---|
400 | 请求无效(URL 错误、格式未知) |
404 | 未知的 job_id |
409 | 任务存在但尚未完成或不可导出 |
413 | 上传超过最大尺寸 |
415 | 文件未被识别为音频 |
429 | 超出速率限制或并发上限 |
503 | 暂时不可用(配额后端故障) |
完整参考文档将在下方加载 — 浏览所有端点并直接在本页试用请求。
正在加载交互式参考文档…