创建音乐 V2
curl --request POST \
--url https://api.senseaudio.cn/v2/music/song/create \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "senseaudio-music-2.0-260626",
"prompt": "夏夜海边久别重逢",
"mode": "sing",
"style": "温暖的中文流行乐,原声吉他",
"audio_settings": {
"format": "mp3",
"duration": 180
},
"lyrics_settings": {
"language": "zh",
"enhance_theme": true
},
"vocal_settings": {
"gender": "female"
},
"cover_settings": {
"generate": false,
"ratio": "1:1"
}
}
'import requests
url = "https://api.senseaudio.cn/v2/music/song/create"
payload = {
"model": "senseaudio-music-2.0-260626",
"prompt": "夏夜海边久别重逢",
"mode": "sing",
"style": "温暖的中文流行乐,原声吉他",
"audio_settings": {
"format": "mp3",
"duration": 180
},
"lyrics_settings": {
"language": "zh",
"enhance_theme": True
},
"vocal_settings": { "gender": "female" },
"cover_settings": {
"generate": False,
"ratio": "1:1"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'senseaudio-music-2.0-260626',
prompt: '夏夜海边久别重逢',
mode: 'sing',
style: '温暖的中文流行乐,原声吉他',
audio_settings: {format: 'mp3', duration: 180},
lyrics_settings: {language: 'zh', enhance_theme: true},
vocal_settings: {gender: 'female'},
cover_settings: {generate: false, ratio: '1:1'}
})
};
fetch('https://api.senseaudio.cn/v2/music/song/create', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.senseaudio.cn/v2/music/song/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'senseaudio-music-2.0-260626',
'prompt' => '夏夜海边久别重逢',
'mode' => 'sing',
'style' => '温暖的中文流行乐,原声吉他',
'audio_settings' => [
'format' => 'mp3',
'duration' => 180
],
'lyrics_settings' => [
'language' => 'zh',
'enhance_theme' => true
],
'vocal_settings' => [
'gender' => 'female'
],
'cover_settings' => [
'generate' => false,
'ratio' => '1:1'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.senseaudio.cn/v2/music/song/create"
payload := strings.NewReader("{\n \"model\": \"senseaudio-music-2.0-260626\",\n \"prompt\": \"夏夜海边久别重逢\",\n \"mode\": \"sing\",\n \"style\": \"温暖的中文流行乐,原声吉他\",\n \"audio_settings\": {\n \"format\": \"mp3\",\n \"duration\": 180\n },\n \"lyrics_settings\": {\n \"language\": \"zh\",\n \"enhance_theme\": true\n },\n \"vocal_settings\": {\n \"gender\": \"female\"\n },\n \"cover_settings\": {\n \"generate\": false,\n \"ratio\": \"1:1\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.senseaudio.cn/v2/music/song/create")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"senseaudio-music-2.0-260626\",\n \"prompt\": \"夏夜海边久别重逢\",\n \"mode\": \"sing\",\n \"style\": \"温暖的中文流行乐,原声吉他\",\n \"audio_settings\": {\n \"format\": \"mp3\",\n \"duration\": 180\n },\n \"lyrics_settings\": {\n \"language\": \"zh\",\n \"enhance_theme\": true\n },\n \"vocal_settings\": {\n \"gender\": \"female\"\n },\n \"cover_settings\": {\n \"generate\": false,\n \"ratio\": \"1:1\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.senseaudio.cn/v2/music/song/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"senseaudio-music-2.0-260626\",\n \"prompt\": \"夏夜海边久别重逢\",\n \"mode\": \"sing\",\n \"style\": \"温暖的中文流行乐,原声吉他\",\n \"audio_settings\": {\n \"format\": \"mp3\",\n \"duration\": 180\n },\n \"lyrics_settings\": {\n \"language\": \"zh\",\n \"enhance_theme\": true\n },\n \"vocal_settings\": {\n \"gender\": \"female\"\n },\n \"cover_settings\": {\n \"generate\": false,\n \"ratio\": \"1:1\"\n }\n}"
response = http.request(request)
puts response.read_body{
"task_id": "music-task-01JZ8Y6Z5P1KJ8Q7M5W4A3B2C1"
}音乐生成
歌曲生成 V2
使用 Music 2.0 的结构化参数创建异步歌曲任务
POST
/
v2
/
music
/
song
/
create
创建音乐 V2
curl --request POST \
--url https://api.senseaudio.cn/v2/music/song/create \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "senseaudio-music-2.0-260626",
"prompt": "夏夜海边久别重逢",
"mode": "sing",
"style": "温暖的中文流行乐,原声吉他",
"audio_settings": {
"format": "mp3",
"duration": 180
},
"lyrics_settings": {
"language": "zh",
"enhance_theme": true
},
"vocal_settings": {
"gender": "female"
},
"cover_settings": {
"generate": false,
"ratio": "1:1"
}
}
'import requests
url = "https://api.senseaudio.cn/v2/music/song/create"
payload = {
"model": "senseaudio-music-2.0-260626",
"prompt": "夏夜海边久别重逢",
"mode": "sing",
"style": "温暖的中文流行乐,原声吉他",
"audio_settings": {
"format": "mp3",
"duration": 180
},
"lyrics_settings": {
"language": "zh",
"enhance_theme": True
},
"vocal_settings": { "gender": "female" },
"cover_settings": {
"generate": False,
"ratio": "1:1"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'senseaudio-music-2.0-260626',
prompt: '夏夜海边久别重逢',
mode: 'sing',
style: '温暖的中文流行乐,原声吉他',
audio_settings: {format: 'mp3', duration: 180},
lyrics_settings: {language: 'zh', enhance_theme: true},
vocal_settings: {gender: 'female'},
cover_settings: {generate: false, ratio: '1:1'}
})
};
fetch('https://api.senseaudio.cn/v2/music/song/create', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.senseaudio.cn/v2/music/song/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'senseaudio-music-2.0-260626',
'prompt' => '夏夜海边久别重逢',
'mode' => 'sing',
'style' => '温暖的中文流行乐,原声吉他',
'audio_settings' => [
'format' => 'mp3',
'duration' => 180
],
'lyrics_settings' => [
'language' => 'zh',
'enhance_theme' => true
],
'vocal_settings' => [
'gender' => 'female'
],
'cover_settings' => [
'generate' => false,
'ratio' => '1:1'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.senseaudio.cn/v2/music/song/create"
payload := strings.NewReader("{\n \"model\": \"senseaudio-music-2.0-260626\",\n \"prompt\": \"夏夜海边久别重逢\",\n \"mode\": \"sing\",\n \"style\": \"温暖的中文流行乐,原声吉他\",\n \"audio_settings\": {\n \"format\": \"mp3\",\n \"duration\": 180\n },\n \"lyrics_settings\": {\n \"language\": \"zh\",\n \"enhance_theme\": true\n },\n \"vocal_settings\": {\n \"gender\": \"female\"\n },\n \"cover_settings\": {\n \"generate\": false,\n \"ratio\": \"1:1\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.senseaudio.cn/v2/music/song/create")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"senseaudio-music-2.0-260626\",\n \"prompt\": \"夏夜海边久别重逢\",\n \"mode\": \"sing\",\n \"style\": \"温暖的中文流行乐,原声吉他\",\n \"audio_settings\": {\n \"format\": \"mp3\",\n \"duration\": 180\n },\n \"lyrics_settings\": {\n \"language\": \"zh\",\n \"enhance_theme\": true\n },\n \"vocal_settings\": {\n \"gender\": \"female\"\n },\n \"cover_settings\": {\n \"generate\": false,\n \"ratio\": \"1:1\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.senseaudio.cn/v2/music/song/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"senseaudio-music-2.0-260626\",\n \"prompt\": \"夏夜海边久别重逢\",\n \"mode\": \"sing\",\n \"style\": \"温暖的中文流行乐,原声吉他\",\n \"audio_settings\": {\n \"format\": \"mp3\",\n \"duration\": 180\n },\n \"lyrics_settings\": {\n \"language\": \"zh\",\n \"enhance_theme\": true\n },\n \"vocal_settings\": {\n \"gender\": \"female\"\n },\n \"cover_settings\": {\n \"generate\": false,\n \"ratio\": \"1:1\"\n }\n}"
response = http.request(request)
puts response.read_body{
"task_id": "music-task-01JZ8Y6Z5P1KJ8Q7M5W4A3B2C1"
}说明
使用 Music 2.0 的结构化参数创建异步歌曲任务,返回task_id 后通过统一查询接口轮询结果。
该接口为异步接口,创建任务后请使用 查询歌曲任务 轮询结果。
V2 不接收 V1 的
custom_mode、instrumental、title、style_weight 或 weirdness_constraint 字段。仅顶层
lyrics 使用 cl100k_base 执行 1600 token 限制;prebuilt_lyrics、歌词生成和歌词改写不使用该限制。prebuilt_lyrics 用于精确回灌写词结果,与顶层 lyrics 互斥。attachments 仅支持 audio 类型,且需提供可公开访问的 URL。audio_settings.format 支持 mp3、wav、wav32。授权
格式:Bearer <API_KEY>
请求体
application/json
已启用的 Music 2.0 模型 label。
可用选项:
senseaudio-music-2.0-260626 歌曲主题或自然语言描述。
生成模式。
可用选项:
sing, lyrics_to_instrumental, instrumental 目标音乐风格。
用户自带歌词;与 prebuilt_lyrics 互斥,最多 1600 tokens。
参考音频附件列表。
Show child attributes
Show child attributes
写词预览结果回灌,用于精确渲染。
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
响应
200 - application/json
成功
异步歌曲生成任务 ID,用于统一查询接口轮询状态。
⌘I