生成参数模式
curl --request GET \
--url https://api.mountsea.ai/suno/v2/generate/schemaimport requests
url = "https://api.mountsea.ai/suno/v2/generate/schema"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.mountsea.ai/suno/v2/generate/schema', 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.mountsea.ai/suno/v2/generate/schema",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.mountsea.ai/suno/v2/generate/schema"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.mountsea.ai/suno/v2/generate/schema")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mountsea.ai/suno/v2/generate/schema")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"task": "<string>",
"description": "<string>",
"required": [
{}
],
"optional": [
{}
],
"notAllowed": [
{}
],
"example": {}
}Suno
生成参数模式
获取每种生成任务类型的必填和可选字段
GET
/
suno
/
v2
/
generate
/
schema
生成参数模式
curl --request GET \
--url https://api.mountsea.ai/suno/v2/generate/schemaimport requests
url = "https://api.mountsea.ai/suno/v2/generate/schema"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.mountsea.ai/suno/v2/generate/schema', 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.mountsea.ai/suno/v2/generate/schema",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.mountsea.ai/suno/v2/generate/schema"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.mountsea.ai/suno/v2/generate/schema")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mountsea.ai/suno/v2/generate/schema")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"task": "<string>",
"description": "<string>",
"required": [
{}
],
"optional": [
{}
],
"notAllowed": [
{}
],
"example": {}
}此端点帮助您了解在使用 Generate 端点时,每种任务类型需要哪些必填或可选参数。
推荐工作流程:在调用
/generate 之前,先使用您所需的任务类型调用此端点,以准确了解请求中应包含哪些字段。查询参数
string
要获取模式的任务类型。如果不提供,则返回所有任务的模式。
| 值 | 描述 |
|---|---|
create | 从零开始创建新音乐 |
extend | 延伸已有音乐 |
upload_extend | 延伸已上传的音频 |
upload_cover | 翻唱已上传的音频 |
cover | 翻唱已有片段 |
use_styles_lyrics | 使用已有片段的风格搭配新歌词 |
replace_section | 替换已有音频的某个段落 |
add_instrumental | 为音频添加伴奏 |
add_vocals | 为音频添加人声 |
gen_stem_two | 生成双轨音轨 |
gen_stem_all | 生成所有音轨 |
mashup | 混搭两首歌曲 |
sample | 从已有片段中采样 |
inspiration | 从真实播放列表生成 — 见 Inspiration 指南 |
sound | 生成音效 |
响应
返回一个任务模式对象数组,包含以下内容:string
任务类型标识符。
string
任务的可读描述。
array
必填字段列表,包含其描述、类型和示例。
array
可选字段列表,包含其描述、类型和示例。
array
该任务类型会忽略的字段列表。
object
针对此特定任务的完整请求示例。
示例
curl -X GET "https://api.mountsea.ai/suno/v2/generate/schema" \
-H "Authorization: Bearer your-api-key"
curl -X GET "https://api.mountsea.ai/suno/v2/generate/schema?task=extend" \
-H "Authorization: Bearer your-api-key"
// Get schema for extend task
const response = await fetch('https://api.mountsea.ai/suno/v2/generate/schema?task=extend', {
method: 'GET',
headers: {
'Authorization': 'Bearer your-api-key'
}
});
const schemas = await response.json();
console.log(schemas);
import requests
# Get schema for create task
response = requests.get(
'https://api.mountsea.ai/suno/v2/generate/schema',
params={'task': 'create'},
headers={'Authorization': 'Bearer your-api-key'}
)
schemas = response.json()
print(schemas)
响应示例
[
{
"task": "extend",
"description": "Extend existing music",
"required": [
{
"field": "clip_id",
"description": "Source clip ID",
"example": "clip_abc123",
"type": "string"
}
],
"optional": [
{
"field": "continue_at",
"description": "Continue position in seconds",
"example": 30,
"type": "number"
},
{
"field": "tags",
"description": "Style tags",
"example": "Pop, Happy",
"type": "string"
},
{
"field": "prompt",
"description": "Lyrics or prompt text",
"example": "[Verse]\nHello world...",
"type": "string"
}
],
"notAllowed": [
"range",
"audio_url"
],
"example": {
"task": "extend",
"model": "chirp-v55",
"clip_id": "clip_abc123",
"continue_at": 30,
"tags": "Pop, Happy"
}
}
]
任务类型概览
| 任务 | 描述 | 关键必填字段 |
|---|---|---|
create | 创建新音乐 | model |
extend | 延伸已有片段 | clip_id, model |
upload_extend | 延伸已上传的音频 | audio_url, model |
upload_cover | 翻唱已上传的音频 | audio_url, model |
cover | 翻唱已有片段 | clip_id, model |
use_styles_lyrics | 使用风格搭配新歌词 | clip_id, model |
replace_section | 替换音频段落 | clip_id, range, infill_context_range, continued_aligned_prompt, model |
add_instrumental | 添加伴奏 | clip_id, range, model |
add_vocals | 添加人声 | clip_id, range, model |
gen_stem_two | 双轨音轨分离 | clip_id, model |
gen_stem_all | 全部音轨分离 | clip_id, model |
mashup | 混搭两首歌曲 | mashup_clip_ids, model |
sample | 从已有片段中采样 | clip_id, range, model |
inspiration | 从真实播放列表生成 | playlist_id, model — 见 Inspiration 指南 |
sound | 生成音效 | sound, model |
所有任务都需要
task 和 model 字段。使用此端点获取每种特定任务类型的完整必填和可选字段列表。⌘I