正在加载...
QQ音乐 API 提供了一系列与QQ音乐相关的接口,支持音乐搜索、歌单管理、歌词查询、用户信息获取等功能。 所有API都需要携带有效的cookies信息才能正常调用。
根据关键词搜索歌曲、歌手、专辑等信息。
获取推荐歌单、分类歌单、歌单详情等。
获取用户个人信息、金币、签到状态等。
所有API请求都需要携带有效的QQ音乐cookies信息,支持以下几种方式:
GET /api/search?query=周杰伦 HTTP/1.1
Host: 127.0.0.1:3000
Uin: 123456789
Qm-keyst: your_music_key
GET /api/search?query=周杰伦 HTTP/1.1
Host: 127.0.0.1:3000
Cookie: uin=123456789; qm_keyst=your_music_key; qqmusic_key=your_music_key
POST /api/sign HTTP/1.1
Host: 127.0.0.1:3000
Content-Type: application/json
{
"musicid": "123456789",
"musickey": "your_music_key",
"type": "continue"
}
通过扫码登录获取 QQ 音乐的 cookies 信息
/api/login/qrcode
无
检查扫码登录状态,获取登录后的 cookies 信息
/api/login/check?key=登录会话密钥
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| key | string | 是 | 登录会话密钥,通过 /api/login/qrcode 获取 |
将文字转换为手写风格的图片,支持中英文字符和自定义参数
/api/text_to_image
{
"text": "Hello World 你好世界", // 文字内容(必需)
"font_size": 32, // 字体大小(可选,默认32)
"color": "#FF0000", // 颜色代码(可选,默认黑色/随机颜色)
"width": 800, // 图片宽度(可选,默认800)
"height": 400, // 图片高度(可选,默认400)
"padding": 20, // 内边距(可选,默认20)
"background_image": "true", // 是否使用背景图(可选,默认true)
"type": 1 // 生成类型(可选,默认1)
}
参数说明:
text:要转换的文字内容,支持中英文字符(必需)font_size:字体大小,默认32像素(可选)color:文字颜色,十六进制格式,默认黑色(type=1)或随机颜色(type=2)(可选)width:图片宽度,默认800像素(可选)height:图片高度,默认400像素(可选)padding:图片内边距,默认20像素(可选)background_image:是否使用背景图,默认true(type=1)或false(type=2)(可选)type:生成类型,1=默认模式(带背景和下划线),2=无背景无下划线(可选,默认1)特殊说明:
color参数时:type=1默认黑色,type=2默认随机颜色background_image参数时:type=1默认使用手写背景,type=2默认不使用背景#RANDOM手动指定使用随机颜色background_image: true或background_image: "true"type: 2或type: "2"curl -X POST http://127.0.0.1:3000/api/text_to_image \
-H "Content-Type: application/json" \
-d '{"text": "Hello World\n你好世界\n这是第三行", "type": 1}'
curl -X POST http://127.0.0.1:3000/api/text_to_image \
-H "Content-Type: application/json" \
-d '{"text": "Hello World\n你好世界\n这是第三行", "type": 2}'
curl -X POST http://127.0.0.1:3000/api/text_to_image \
-H "Content-Type: application/json" \
-d '{"text": "Hello World\n你好世界", "type": 2, "background_image": true}'
curl -X POST http://127.0.0.1:3000/api/text_to_image \
-H "Content-Type: application/json" \
-d '{"text": "自定义颜色", "color": "#FF6B6B", "type": 1}'
curl -X POST http://127.0.0.1:3000/api/text_to_image \
-H "Content-Type: application/json" \
-d '{"text": "随机颜色", "color": "#RANDOM", "type": 1}'
根据当前时间返回对应的报时语音文件
/api/time
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| type | number | 否 | 语音类型:0=默认报时语音,1=苏沫颜报时语音,2=马思维报时语音(默认0) |
MP3格式的语音文件
获取默认报时语音:
/api/time
获取苏沫颜报时语音:
/api/time?type=1
获取马思维报时语音:
/api/time?type=2
查询当前日期附近的节日信息
/api/holiday
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| num | number | 否 | 返回节日数量,默认5个 |
{
"code": 0,
"msg": "成功",
"data": [
{
"name": "节日名称",
"date": "2026-02-16",
"description": "节日描述",
"type": ["National holiday"],
"locations": "All"
}
]
}
获取默认5个节日:
/api/holiday
获取10个节日:
/api/holiday?num=10
ocr识别
/api/ocr
{
"base64": "Base64 编码的图片数据",
"return_image": false
}
解析二维码图片,支持 Base64 或图片 URL
/api/qrcode/parse
{
"base64": "Base64 编码的图片数据", // 可选
"image_url": "图片 URL 或本地路径" // 可选
}
将jpg、png和gif图片转换为apng动图
/api/image/toapng
{
"base64": ["Base64 编码的图片数据1", "Base64 编码的图片数据2"], // 多个图片的base64
"config": {
"delay_num": 1, // 延迟分子
"delay_den": 2 // 延迟分母,控制动画速度
}
}
参数说明:
delay_num:延迟时间的分子部分delay_den:延迟时间的分母部分{
"code": 0,
"msg": "成功",
"data": {
"base64": "data:image/png;base64,转换后的apng图片数据"
}
}
上传图片到图床,自动转换为webp格式(GIF保持原样),支持设置过期时间
/api/image/upload
{
"base64": "Base64 编码的图片数据", // 图片的base64编码
"config": {
"expire": 600, // 过期时间,单位秒,默认10分钟
"compress": 1, // 压缩阈值,单位MB,默认1
"compress_target": 400 // 压缩目标大小,单位KB,默认400
}
}
参数说明:
base64:Base64编码的图片数据,支持jpg、png、gif等格式config.expire:图片过期时间,单位秒,默认600秒(10分钟)config.compress:压缩阈值,单位MB,默认1。当图片大小超过此值时会自动压缩(GIF不压缩)config.compress_target:压缩目标大小,单位KB,默认400。压缩后的图片大小会尽量接近但不超过此值{
"code": 0,
"msg": "成功",
"data": {
"url": "/api/image/xxxxxxxxxxxxxxxx.webp", // 图片访问链接
"expire": 1730800000 // 过期时间戳
}
}
访问图床上上传的图片
/api/image/{filename}
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| filename | string | 是 | 图片文件名,通过 /api/image/upload 获取 |
返回图片文件,Content-Type 根据图片类型自动设置
随机返回一个妹子QQ号
/api/random_qq
无
{
"code": 0,
"msg": "成功",
"data": {
"qq": "1611934845"
}
}
根据关键词搜索音乐
/api/search?query=关键词&page=1&page_size=15
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| query | string | 是 | 搜索关键词 |
| page | number | 否 | 页码,默认 1 |
| page_size | number | 否 | 每页结果数量,默认 15 |
根据歌单ID获取歌单详细信息
/api/playlist?id=歌单ID&num=30
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| id | string | 是 | 歌单ID |
| num | number | 否 | 获取歌曲数量,默认 30 |
获取当前用户的详细信息
/api/user
无
每日签到领取金币
/api/sign
{
"type": "continue" // 签到类型,默认 continue
}
为歌曲、专辑或歌单添加评论
/api/addcomment
{
"content": "评论内容", // 评论内容
"bizid": "业务ID", // 歌曲ID、专辑ID或歌单ID
"biztype": 1, // 业务类型:1=歌曲,2=专辑,3=歌单
"repliedcmid": null // 回复的评论ID,默认 null
}
提交音乐金币任务,系统会自动执行领取金币操作
/api/coin/task
通过请求头或Cookies携带 musicid 和 musickey
检查提交的音乐金币任务执行状态
/api/coin/task/check?taskId=任务ID
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| taskId | string | 是 | 任务ID,通过 /api/coin/task 获取 |
通过传入二维码图片的base64数据进行登录
/api/login_qrcode
{
"base64": "二维码图片的base64数据" // 二维码图片的base64编码,支持带data:image前缀
}
获取指定音质的音乐播放地址
/api/musicurl?songmid=歌曲MID&fileType=音质类型
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| songmid | string | 是 | 歌曲MID标识 |
| fileType | string | 否 | 音质类型,默认'128',支持的值:'128'(128kbps)、'320'(320kbps)、'flac'(无损音质) |
获取歌曲的歌词信息,支持原歌词和翻译歌词
/api/lyric?mid=歌曲MID或歌曲ID
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| mid | string | 是 | 歌曲MID或歌曲ID(自动判断) |
自动判断输入是歌曲ID还是MID,返回对应的id和mid
/api/convert?id=歌曲ID或MID
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| id | string | 是 | 歌曲ID或歌曲MID |
获取用户的听歌报告截图,包括总计、今日、本周和本月报告
/api/listenreport
无
加速指定歌曲的播放,增加听歌时长
/api/accelerate/song
{
"songInfo": {
"songName": "歌曲名",
"singer": "歌手名",
"singerId": "歌手ID",
"songId": "歌曲ID"
}
}
获取用户歌单列表,用于刷歌操作
/api/accelerate/songlist?dirid=202&num=300
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| dirid | number | 否 | 歌单目录ID,201=我喜欢,202=今日推荐,默认202 |
| num | number | 否 | 获取歌曲数量,默认300 |
刷新用户的音乐密钥,使用QQMusicApi中的refresh()方法,确保API调用正常
/api/accelerate/refreshkey
通过请求头或Cookies携带 musicid 和 musickey
使用QQMusicApi中的refresh()方法,该方法会重新登录并获取新的音乐密钥,确保API调用的正常进行。
{
"openid": "",
"refresh_key": "",
"refresh_token": ""
}
参数说明:
openid:用户的openidrefresh_key:刷新密钥refresh_token:刷新令牌,仅在tme_login_type=1时使用根据musicid获取用户的昵称和encrypt_uin
/api/musicid-to-encrypt?musicid=123456789
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| musicid | string | 是 | 用户的musicid |
该接口不需要传入验证信息,直接返回QQ音乐服务器的响应结果