基础信息
查看接口基本信息和返回格式免责声明
本平台提供的API服务均来自互联网,可能包含生成式AI内容。所有返回内容仅供参考,平台不对内容的准确性、完整性、时效性或适用性做任何保证。使用者应自行判断并承担使用风险。
接口描述
企鹅机器人点歌专属(支持黄白助手),支持图片列表、卡片输出
七日请求统计
本周总请求: -
日均: -
请求方式
GET
POST 推荐
请求地址
https://dome.api.yunmge.com/api/song_bot
返回方式
JSON
默认返回格式,包含完整数据结构
TEXT
纯文本格式,适合简单数据返回
IMAGE
图片二进制流,Content-Type: image/*
返回预览
JSON
TEXT
IMAGE
JSON
{
"code": 200,
"data": {
"name": "告白气球",
"singer": "周杰伦",
"pay": "VIP",
"quality": "标准品质",
"time": "03:35",
"size": "3.29MB",
"cover": "http://api.yunmge.com/upload/song/song_image/003OUlho2HcRHC.jpg",
"link": "https://i.y.qq.com/v8/playsong.html?songmid=003OUlho2HcRHC&type=0",
"music_url": "http://api.yunmge.com/upload/song/song_mp3/003OUlho2HcRHC.mp3",
"lyric": "[ti:告白气球]\n[ar:周杰伦]\n[al:周杰伦的床边故事]\n[by:]\n[offset:0]\n[00:00.00]告白气球 - 周杰伦 (Jay Chou)\n[00:05.89]词:方文山\n[00:11.79]曲:周杰伦\n[00:17.69]编曲:林迈可\n[00:23.59]塞纳河畔 左岸的咖啡\n[00:26.16]我手一杯 品尝你的美\n[00:28.78]\n[00:29.33]留下唇印的嘴\n[00:31.83]\n[00:34.27]花店玫瑰 名字写错谁\n[00:36.90]告白气球 风吹到对街\n[00:39.29]\n[00:40.01]微笑在天上飞\n[00:42.10]\n[00:44.01]你说你有点难追\n[00:46.57]想让我知难而退\n[00:49.22]礼物不需挑最贵\n[00:51.89]只要香榭的落叶\n[00:54.56]喔 营造浪漫的约会\n[00:57.26]不害怕搞砸一切\n[00:59.93]拥有你就拥有全世界\n[01:04.10]\n[01:05.01]亲爱的 爱上你\n[01:08.17]从那天起\n[01:10.61]\n[01:11.33]甜蜜的很轻易\n[01:14.43]\n[01:15.69]亲爱的 别任性\n[01:18.85]你的眼睛\n[01:21.24]\n[01:21.94]在说我愿意\n[01:25.23]\n[01:48.90]塞纳河畔 左岸的咖啡\n[01:51.46]我手一杯 品尝你的美\n[01:54.43]留下唇印的嘴\n[01:56.63]\n[01:59.56]花店玫瑰 名字写错谁\n[02:02.14]告白气球 风吹到对街\n[02:04.37]\n[02:05.23]微笑在天上飞\n[02:07.49]\n[02:09.29]你说你有点难追\n[02:11.90]想让我知难而退\n[02:14.60]礼物不需挑最贵\n[02:17.26]只要香榭的落叶\n[02:19.93]喔 营造浪漫的约会\n[02:22.65]不害怕搞砸一切\n[02:25.27]拥有你就拥有 全世界\n[02:29.23]\n[02:30.31]亲爱的 爱上你\n[02:33.58]从那天起\n[02:36.03]\n[02:36.60]甜蜜的很轻易\n[02:39.65]\n[02:40.94]亲爱的 别任性\n[02:44.20]你的眼睛\n[02:46.70]\n[02:47.26]在说我愿意\n[02:50.81]\n[02:51.76]亲爱的 爱上你\n[02:54.52]\n[02:55.05]恋爱日记\n[02:57.30]\n[02:57.93]飘香水的回忆\n[03:00.72]\n[03:02.33]一整瓶 的梦境\n[03:05.42]全都有你\n[03:07.91]\n[03:08.64]搅拌在一起\n[03:11.39]\n[03:13.02]亲爱的别任性\n[03:16.23]你的眼睛\n[03:19.99]\n[03:21.31]在说我愿意"
},
"msg": "请求成功",
"time": "2026-01-09 22:16:50",
"ip": "221.213.14.197"
}计费标准
了解接口的计费方式和价格
付费接口定价
付费
每日免费
9
次
超出后计费
普通用户
额度消耗
1额度/次
余额扣费
0.01元/次
会员用户
调用费用
免费
QPS限制
普通用户
60
次/分钟
会员用户
999999
次/分钟
每日请求次数
普通用户
999999
次/天
会员用户
999999
次/天
安全认证
了解接口的认证方式和访问凭证管理 Token 认证
实名认证
无需实名认证
本接口对所有用户开放,无需实名认证即可访问
认证方式
推荐
Header 认证
通过 HTTP Header 传递认证信息
Authorization
Bearer {access_token}或通过curl请求参数传递:
curl
curl "https://dome.api.yunmge.com/api/song_bot?token=YOUR_TOKEN"
参数文档
查看接口请求参数和返回字段说明 请求参数
| 参数名 | 类型 | 必填 | 默认值 | 可选值 | 说明 |
|---|---|---|---|---|---|
| token | string | 必填 | 无 | 登录后显示你的请求token | 接口请求唯一认证标识! |
| mode | string | 可选 | json | json、text、image、audio | 返回格式 |
| name | string | 必填 | 告白气球 | 无 | 音乐名称 |
| n | int | 必填 | 无 | 无 | 歌曲序号<br/>留空返回歌曲列表 |
| mun | int | 可选 | 10 | 10、15、20 | 列表数量 |
| img | int | 可选 | 1 | 1(经典)、2(可爱) | 图片风格 |
| hb | string | 可选 | no | yes、no | 是否适配黄白助手<br/>开启适配后所有参数将失效 |
返回参数
| 字段名 | 类型 | 说明 |
|---|---|---|
code
|
int | 返回状态码 |
name
|
string | 歌名 |
singer
|
string | 歌手 |
quality
|
string | 音质(点歌输出标准音质够了) |
time
|
string | 时长 |
size
|
string | 大小 |
cover
|
string | 封面地址 |
music_url
|
string | 音乐地址 |
lyric
|
string | 歌词 |
lyric_url
|
string | 歌词地址 |
pay
|
string | 歌曲类型 |
link
|
string | 官方链接,这里以QQ音乐为示例 |
状态码
了解接口返回的状态码含义及处理方式 接口状态码
| 状态码 | 说明 |
|---|---|
| 200 | 请求成功 |
| 351 | 多错误,自行查看返回 |
服务器状态码
| 状态码 | 说明 |
|---|---|
| 500 | 服务器错误 |
| 501 | 请求接口不存在 |
| 502 | 请求接口已下架 |
| 503 | 请求接口维护中 |
| 504 | 缺少请求token参数 |
| 505 | 请求token不存在 |
| 506 | 请求token已被封禁 |
| 507 | 请求token额度不足 |
| 508 | 今日请求token已达上限 |
| 509 | 请求ip不在token白名单内 |
| 510 | 请求token无权使用当前接口 |
| 511 | 接口请求频率过高,请稍后再试 |
| 512 | 该接口未开启在线测试功能 |
| 513 | 今日在线测试次数已达上限 |
| 514 | 今日该接口请求次数已达上限 |
| 515 | 该接口为会员专属接口,请携带会员token |
| 516 | 该接口为会员专属接口,请开通会员 |
| 517 | 接口请求过于频繁,已被临时限制 |
| 518 | 该接口需要实名认证,请先完成实名认证 |
| 519 | 当前Token今日请求次数已达上限 |
| 520 | 当前Token已被禁止使用 |
| 521 | 请求token余额不足 |
| 522 | 请求token额度和余额均不足 |
| 530 | 接口服务异常,请稍后再试 |
| 531 | 接口响应超时 |
| 532 | 接口返回数据格式错误 |
| 533 | 接口请求失败 |
在线测试
在线调试接口,实时查看响应结果 发起请求
GET/POST
示例代码
多种语言的接口调用示例PHP
JavaScript
NodeJs
Python
Go
Java
C#
C
C++
易语言
PHP
<?php
$API_TOKEN = 'YOUR_TOKEN';
$API_URL = 'https://dome.api.yunmge.com/api/song_bot';
$params = array(
'token' => 'YOUR_TOKEN',
'mode' => 'json',
'name' => '告白气球',
'n' => '无',
'mun' => '10',
'img' => '1',
'hb' => 'no',
);
$res = api::send($API_URL, $params, 'GET/POST');
print($res);
class api {
public static function send($url, $data, $type) {
$data = http_build_query($data);
$ch = curl_init();
if ($type == 'POST') {
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
} else {
curl_setopt($ch, CURLOPT_URL, $url . '?' . $data);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$res = curl_exec($ch);
curl_close($ch);
return $res;
}
}JavaScript
$.ajax({
url: 'https://dome.api.yunmge.com/api/song_bot',
data: {
token: 'YOUR_TOKEN',
mode: 'json',
name: '告白气球',
n: '无',
mun: '10',
img: '1',
hb: 'no',
},
type: 'GET/POST',
dataType: 'json',
success: function(data) {
console.log(data);
},
error: function(err) {
console.log('请求失败', err);
}
});Python
import requests
url = "https://dome.api.yunmge.com/api/song_bot"
data = {
"token": "YOUR_TOKEN",
"mode": "json",
"name": "告白气球",
"n": "无",
"mun": "10",
"img": "1",
"hb": "no",
}
response = requests.post(url, data=data)
print(response.json())Java
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.*;
public class ApiRequest {
public static void main(String[] args) throws Exception {
URL url = new URL("https://dome.api.yunmge.com/api/song_bot");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET/POST");
conn.setConnectTimeout(10000);
BufferedReader reader = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line;
StringBuilder result = new StringBuilder();
while ((line = reader.readLine()) != null) {
result.append(line);
}
reader.close();
System.out.println(result.toString());
}
}Go
package main
import (
"fmt"
"io/ioutil"
"net/http"
"strings"
)
func main() {
data := "token=YOUR_TOKEN&mode=json&name=%E5%91%8A%E7%99%BD%E6%B0%94%E7%90%83&n=%E6%97%A0&mun=10&img=1&hb=no"
resp, _ := http.Post("https://dome.api.yunmge.com/api/song_bot",
"application/x-www-form-urlencoded", strings.NewReader(data))
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}C#
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
using var client = new HttpClient();
var data = new FormUrlEncodedContent(new Dictionary<string, string> {
{"token", "YOUR_TOKEN"},
{"mode", "json"},
{"name", "告白气球"},
{"n", "无"},
{"mun", "10"},
{"img", "1"},
{"hb", "no"},
});
var response = await client.PostAsync("https://dome.api.yunmge.com/api/song_bot", data);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(response);
}
}NodeJs
const https = require('https');
const querystring = require('querystring');
const postData = querystring.stringify({
'token': 'YOUR_TOKEN',
'mode': 'json',
'name': '告白气球',
'n': '无',
'mun': '10',
'img': '1',
'hb': 'no',
});
const options = {
hostname: 'dome.api.yunmge.com',
path: '/api/song_bot',
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
};
const req = https.request(options, res => {
let data = '';
res.on('data', d => data += d);
res.on('end', () => console.log(data));
});
req.write(postData);
req.end();
C
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <curl/curl.h>
static size_t WriteCallback(void *contents, size_t size, size_t nmemb, void *userp) {
((char*)userp)[0] = '\0';
strcat(userp, contents);
return size * nmemb;
}
int main() {
CURL *curl;
CURLcode res;
char response[4096] = {0};
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://dome.api.yunmge.com/api/song_bot");
curl_easy_setopt(curl, CURLOPT_POST, 1L);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "token=YOUR_TOKEN&mode=json&name=%E5%91%8A%E7%99%BD%E6%B0%94%E7%90%83&n=%E6%97%A0&mun=10&img=1&hb=no");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, response);
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 10L);
res = curl_easy_perform(curl);
if(res == CURLE_OK) printf("%s\n", response);
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}C++
#include <iostream>
#include <string>
#include <curl/curl.h>
size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* userp) {
userp->append((char*)contents, size * nmemb);
return size * nmemb;
}
int main() {
CURL* curl = curl_easy_init();
std::string response;
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://dome.api.yunmge.com/api/song_bot");
curl_easy_setopt(curl, CURLOPT_POST, 1L);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "token=YOUR_TOKEN&mode=json&name=%E5%91%8A%E7%99%BD%E6%B0%94%E7%90%83&n=%E6%97%A0&mun=10&img=1&hb=no");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 10L);
CURLcode res = curl_easy_perform(curl);
if (res == CURLE_OK) std::cout << response << std::endl;
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}易语言
.版本 2 .支持库 spec .局部变量 url, 文本型 .局部变量 params, 文本型 .局部变量 result, 文本型 url = "https://dome.api.yunmge.com/api/song_bot" params = "token=YOUR_TOKEN&mode=json&name=%E5%91%8A%E7%99%BD%E6%B0%94%E7%90%83&n=%E6%97%A0&mun=10&img=1&hb=no" result = 编码_URL解码 (网页_访问 (url, , params)) 调试输出 (result)
AI开发文档
导出接口文档供AI助手快速理解接口结构
复制下方内容粘贴给AI助手,即可快速生成对接代码。
JSON 格式
0 KB