2025-11-18 15:07:03 3243
功能介绍
音乐标签能力通过对音乐进行多维度分析,自动生成各个维度下的分类标签及概率值,目前支持的七大维度维度包括:
人声
情绪
语种
风格
场景
背景音乐
强度
接口说明
请求方式:
POST(HTTP)
请求地址:
https://api.mediax.tencent.com/job
请求头:
Content-Type: application/json
请求流程:
接口包括‘创建任务’,‘查询任务’。创建任务后,用户可以主动查询任务来知晓任务结果,也可以在创建任务时输入回调地址(callback),则任务在完成后会自动回调该地址
其他要求:
文件格式:建议采用常见音频格式,如 mp3、wav
创建任务
参数说明
参数
是否必须
类型
说明
action
是
string
公共参数,此处为 CreateJob
secretId
是
string
公共参数,用户 SecretId
secretKey
是
string
公共参数,用户 SecretKey
createJobRequest
是
object
- inputs
是
Array of Input
Input,输入结构体数组
- outputs
是
Array of Output
Output,输出结构体数组
- callback
否
string
回调地址,默认:不开启回调
- customId
否
string
用户自定义任务 ID,小于 64 字符
- timeout
否
int
任务超时时间,单位秒。超过超时时间后任务会被置为 ERROR
Input
参数
是否必须
类型
说明
url
否
string
源 url 地址,与 source 字段二选一填写
source
否
object
仓库源设置,与 url 字段二选一填写
- contentId
是
string
仓库 ID
- path
是
string
源路径
注意:source, url 两个字段有且只有一个
Output
参数
是否必须
类型
说明
inputSelectors
是
Array of int
该输出的输入源
smartContentDescriptor
是
object
智能能力的描述,默认:空
- musicTagV2
是
object
-- tagType
是
Array of string
1. 输入范围: ["vocal", "language", "mood", "genre", "scene", "bgm", "intensity", "all"]2. 输入说明 - all 表示调用全部类型的标签 - 可以根据维度名称,组合调用各个子维度的标签 - all 选项和子选项不能同时出现
- vocal,2类人声标签
- language,21类语种标签
- mood,11类情绪标签
- genre,37类风格标签
- scene,36类场景标签
- bgm,2类背景音乐标签
- intensity,2类强度标签
- all,获取7大维度标签
请求示例:
{
"action": "CreateJob",
"secretId": "{secretId}",
"secretKey": "{secretKey}",
"createJobRequest": {
"customId": "{customId}",
"callback": "{callback}",
"inputs": [
{
"url": "{url}"
}
],
"outputs": [
{
"inputSelectors": [0],
"smartContentDescriptor": {
"musicTagV2": {
"tagType": ["mood", "vocal", "language", "scene", "genre", "bgm"]
}
}
}
]
}
}
返回示例:
{
"requestId": "ac004192-110b-46e3-ade8-4e449df84d60",
"createJobResponse": {
"job": {
"id": "13f342e4-6866-450e-b44e-3151431c578b",
"state": 1, // 见下方state说明
"customId": "{customId}",
"callback": "{callback}",
"inputs": [
{
"url": "{url}"
}
],
"outputs": [
{
"inputSelectors": [0],
"smartContentDescriptor": {
"musicTagV2": {
"tagType": ["mood", "vocal", "language", "scene", "genre", "bgm"]
}
}
}
],
"timing": {
"createdAt": "1603432763000",
"startedAt": "0",
"completedAt": "0"
}
}
}
}
State
值
含义
1
SUBMITTED
2
PROCESSING
3
COMPLETED
4
ERROR
5
CANCELED
获取任务信息
获取方式:分为主动获取和被动回调。
主动获取按照 id 的类别有两种查询接口,一种是根据用户自定义 id 查询,由于平台无法保证该 id 的唯一性,故返回 Job 数组(见 1);另一种是通过创建任务后的回包中的 id 查询(见 2)
被动回调需要在创建任务时填写 callback 字段,平台在任务进入完成态(COMPLETED/ERROR)后会将 Job 结构体发送给 callback 所指的地址(见 3),平台方推荐使用被动回调的方式获取任务结果。
在音乐标签能力中,如果查询到的任务成功(state=3),则任务的 Output 中会携带 smartContentResult 结构体,其中的 audioTagger 字段是一个结果对象数组,每个结果对象有标签类型(tagType),标签名称(tag),概率(probility)
主动查询,根据用户在新建任务时传入的自定义 customId
请求示例:
{
"action": "ListJobs",
"secretId": "{secretId}",
"secretKey": "{secretKey}",
"listJobsRequest": {
"customId": "{customId}"
}
}
注:listJobs 回包中携带的 jobs 是一个数组
返回示例:
{
"requestId": "c9845a99-34e3-4b0f-80f5-f0a2a0ee8896",
"listJobsResponse": {
"jobs": [
{
"id": "a95e9d74-6602-4405-a3fc-6408a76bcc98",
"state": 3,
"customId": "{customId}",
"callback": "{callback}",
"timing": {
"createdAt": "1610513575000",
"startedAt": "1610513575000",
"completedAt": "1610513618000"
},
"inputs": [
{
"url": "{url}"
}
],
"outputs": [
{
"inputSelectors": [0],
"smartContentDescriptor": {
"musicTagV2": {
"tagType": ["mood", "vocal", "language", "scene", "genre", "bgm"]
}
},
"smartContentResult": {
"musigTagV2": {
"musicTagV2": {
"vocal": {
"label": "声乐",
"prob": "1.0000"
},
"language": {
"label": "其他",
"prob": "0.0817"
},
"mood": {
"label": "兴奋",
"prob": "0.2953"
},
"genre": {
"label": "壮族",
"prob": "0.7710"
},
"scene": {
"label": "祈祷",
"prob": "0.8886"
},
"intensity": {}
}
}
}
}
]
}
],
"total": 1
}
}
主动查询,根据新建任务时回包带的 id
请求示例:
{
"action": "GetJob",
"secretId": "{secretId}",
"secretKey": "{secretKey}",
"getJobRequest": {
"id": "{id}"
}
}
返回示例:
{
"requestId": "c9845a99-34e3-4b0f-80f5-f0a2a0ee8896",
"getJobResponse": {
"job": {
"id": "a95e9d74-6602-4405-a3fc-6408a76bcc98",
"state": 3,
"customId": "{customId}",
"callback": "{callback}",
"timing": {
"createdAt": "1610513575000",
"startedAt": "1610513575000",
"completedAt": "1610513618000"
},
"inputs": [
{
"url": "{url}"
}
],
"outputs": [
{
"inputSelectors": [0],
"smartContentDescriptor": {
"musicTagV2": {
"tagType": ["mood", "vocal", "language", "scene", "genre", "bgm"]
}
},
"smartContentResult": {
"musigTagV2": {
"musicTagV2": {
"vocal": {
"label": "声乐",
"prob": "1.0000"
},
"language": {
"label": "其他",
"prob": "0.0817"
},
"mood": {
"label": "兴奋",
"prob": "0.2953"
},
"genre": {
"label": "壮族",
"prob": "0.7710"
},
"scene": {
"label": "祈祷",
"prob": "0.8886"
},
"intensity": {}
}
}
}
}
]
}
}
}
被动回调
会将进入完成态(COMPLETED/ERROR)的任务的整个 Job 结构体发送到用户在创建任务时指定的 callback 字段对应的地址,Job 结构体见主动查询的示例(getJobResponse 下)
cURL 示例
新建任务
curl --location --request POST 'https://api.mediax.tencent.com/test/job' \
--header 'Content-Type: application/json' \
--data-raw '{
"action": "CreateJob",
"secretId": "{secretId}",
"secretKey": "{secretKey}",
"createJobRequest": {
"customId": "{customId}",
"callback": "{callback}",
"inputs": [{
"url": "{url}"
}],
"outputs": [
{
"inputSelectors": [0],
"smartContentDescriptor": {
"audioTagger": {
"tags": [1, 2, 3]
}
}
}]
}
}'
查询任务
# 根据customId
curl --location --request POST 'https://api.mediax.tencent.com/test/job' \
--header 'Content-Type: application/json' \
--data-raw '{
"action": "ListJobs",
"secretId": "{secretId}",
"secretKey": "{secretKey}",
"listJobsRequest": {
"customId": "{customId}"
}
}'
# 根据id
curl --location --request POST 'https://api.mediax.tencent.com/test/job' \
--header 'Content-Type: application/json' \
--data-raw '{
"action": "GetJob",
"secretId": "{secretId}",
"secretKey": "{secretKey}",
"getJobRequest": {
"id": "{id}"
}
}'
附录:目前支持的标签
音乐标签模型列表
标签模型
种类
标签字段
vocal
2
声乐
纯音乐
language
21
俄语
印尼语
国语
德语
意大利语
日语
法语
泰语
爪哇语
瑞典语
粤语
纯音乐
缅甸语
英语
葡萄牙语
西班牙语
越南语
阿拉伯语
韩语
马来语
其他
mood
11
伤感
兴奋
安静
宣泄
浪漫
欢快
怀旧
恐怖
恢弘
放空
滑稽
genre
37
8bit 像素风
ACG
Bossa
中国基督教歌曲
中国禅修
古风
乡村
佛教
儿童
加勒比风格
印度
古典
古装原声
另类
史诗
嘻哈
壮族
巴西
布鲁斯
彝族
拉丁
摇滚
朋克
民谣
泰国
爵士
电子
硬核
舞曲
节奏布鲁斯
蒙古
藏族
轻音乐
金属
陕北民歌
雷鬼
韩国流行
scene
25
东方禅修
中国风
二次元
健身
像素风音效
儿歌
八音盒
咖啡厅
喜庆
夜店
大合唱
宠物
情歌
旅行
校园
歌剧
游戏
瑜伽
睡前
祈祷
纯自然
航拍
花滑
草原
跑步
钢琴纯音
bgm
2
有背景音乐
无背景音乐
intensity
2
兴奋
舒缓
世界杯直播频道 2025-08-14 16:30:31
世界杯直播频道 2025-09-25 20:01:01
丹麦世界杯阵容 2025-06-30 12:44:11
丹麦世界杯阵容 2025-06-24 02:19:25
男篮世界杯中国 2025-08-02 09:12:21
世界杯直播频道 2025-06-26 12:35:44
丹麦世界杯阵容 2025-08-27 23:42:15
男篮世界杯中国 2025-05-29 08:34:52
世界杯直播频道 2025-06-23 06:33:47
世界杯直播频道 2025-05-25 22:14:29