基于 Telegram Channel 托管,提供 RESTful API、流式播放与权限控制。 支持 MP3 / WAV / FLAC / AAC / OGG / M4A 等主流音频格式。
共 7056 个音频文件,随机展示 10 首
通过 RESTful API 接入 Free Music,在您的应用中实现音频上传、查询与播放功能
Free Music 提供标准的 RESTful API,任何支持 HTTP 请求的编程语言或框架均可接入。 首页默认从数据库中随机展示 10 首未封锁音频,点击顶部“随机”按钮即可进入随机播放模式。
接口分类
/api/audio/random)、歌单分页(/api/playlist)、总数统计(/api/total)POST /api/upload HTTP/1.1
Host: your-domain
Authorization: Bearer YOUR_API_TOKEN
Content-Type: multipart/form-data
字段说明:
file (必填) 音频文件,≤20MB
title (可选) 标题,覆盖 TG 自动识别
artist (可选) 艺术家
album (可选) 专辑成功响应:
{
"success": true,
"code": 200,
"id": 12,
"url": "https://your-domain/api/stream/12",
"name": "song.mp3",
"title": "My Song",
"artist": "Artist",
"format": "mp3",
"size": 5242880,
"duration": 180
}返回字段说明
| id | 音频唯一标识,用于后续查询和播放 |
| url | 流式播放完整链接,可直接用于 audio 标签 |
| format | 文件格式(mp3/flac/wav 等) |
| size | 文件大小(字节) |
| duration | 时长(秒),部分格式可能为估算值 |
GET /api/audio?page=0&pageSize=20&sort=time&order=desc&format=mp3&q=keyword HTTP/1.1
Host: your-domain
Authorization: Bearer YOUR_API_TOKEN
查询参数:
page (默认0) 页码,从0开始
pageSize (默认20) 每页条数,最大100
sort (默认time) 排序:time / total / size / duration / title
order (默认desc) 方向:asc / desc
format (可选) 格式筛选,如 mp3 / flac
q (可选) 搜索关键词(匹配标题/艺术家/专辑/文件名)
cursor (可选) 上一页最后一条id,深页分页优化将 [id] 替换为音频 ID(如 12),返回该音频的完整元数据。
在 title / artist / album / file_name 字段上模糊匹配,支持分页参数。
GET /api/stream/[id]—流式播放,支持 HTTP Range 请求,可直接用于 audio 标签GET /api/audio/random?exclude=<id>—随机获取一条未封锁的音频;可选 exclude 参数排除指定 ID,避免连续重复GET /api/playlist?page=0&pageSize=20&sort=time&order=desc—歌单分页查询,返回 data / page / pageSize / total / totalPages / hasMoreGET /api/total—获取音频总数,返回 { success: true, total: number }