curl --request POST \
--url https://api.apimart.ai/v1/music/generations/uploadExtend \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "suno",
"version": "v6-mini",
"audio_url": "https://example.com/reference.wav",
"continue_at": 30,
"prompt": "[Outro]\nthe next journey, let's walk together",
"tags": "acoustic pop",
"duration_s": 60,
"max_mode": true,
"audio_format": "mp3"
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/music/generations/uploadExtend",
headers={"Authorization": "Bearer <token>"},
json={
"model": "suno",
"version": "v6-mini",
"audio_url": "https://example.com/reference.wav",
"continue_at": 30,
"prompt": "[Outro]\nthe next leg of our journey, let's walk together",
"tags": "acoustic pop",
"duration_s": 60,
"max_mode": True,
"audio_format": "mp3",
},
)
print(response.json())
const response = await fetch("https://api.apimart.ai/v1/music/generations/uploadExtend", {
method: "POST",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "suno",
version: "v6-mini",
audio_url: "https://example.com/reference.wav",
continue_at: 30,
prompt: "[Outro]\nthe next leg of our journey, let's go together",
tags: "acoustic pop",
duration_s: 60,
max_mode: true,
audio_format: "mp3"
})
});
console.log(await response.json());
{
"code": 200,
"data": [
{"status": "submitted", "task_id": "task_01M24YMN4EV04M84R5QYM77R1E"}
]
}
Suno
音声をアップロードして延長
公開音声 URL をアップロードし、Suno V6 で指定位置から曲を延長します
POST
/
v1
/
music
/
generations
/
uploadExtend
curl --request POST \
--url https://api.apimart.ai/v1/music/generations/uploadExtend \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "suno",
"version": "v6-mini",
"audio_url": "https://example.com/reference.wav",
"continue_at": 30,
"prompt": "[Outro]\nthe next journey, let's walk together",
"tags": "acoustic pop",
"duration_s": 60,
"max_mode": true,
"audio_format": "mp3"
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/music/generations/uploadExtend",
headers={"Authorization": "Bearer <token>"},
json={
"model": "suno",
"version": "v6-mini",
"audio_url": "https://example.com/reference.wav",
"continue_at": 30,
"prompt": "[Outro]\nthe next leg of our journey, let's walk together",
"tags": "acoustic pop",
"duration_s": 60,
"max_mode": True,
"audio_format": "mp3",
},
)
print(response.json())
const response = await fetch("https://api.apimart.ai/v1/music/generations/uploadExtend", {
method: "POST",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "suno",
version: "v6-mini",
audio_url: "https://example.com/reference.wav",
continue_at: 30,
prompt: "[Outro]\nthe next leg of our journey, let's go together",
tags: "acoustic pop",
duration_s: 60,
max_mode: true,
audio_format: "mp3"
})
});
console.log(await response.json());
{
"code": 200,
"data": [
{"status": "submitted", "task_id": "task_01M24YMN4EV04M84R5QYM77R1E"}
]
}
このエンドポイントは公開音声 URL を直接延長するため、事前に
uploadTask を呼び出す必要はありません。常にカスタムモードを使用するため、custom、instrumental、gpt_description は送信しないでください。curl --request POST \
--url https://api.apimart.ai/v1/music/generations/uploadExtend \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "suno",
"version": "v6-mini",
"audio_url": "https://example.com/reference.wav",
"continue_at": 30,
"prompt": "[Outro]\nthe next journey, let's walk together",
"tags": "acoustic pop",
"duration_s": 60,
"max_mode": true,
"audio_format": "mp3"
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/music/generations/uploadExtend",
headers={"Authorization": "Bearer <token>"},
json={
"model": "suno",
"version": "v6-mini",
"audio_url": "https://example.com/reference.wav",
"continue_at": 30,
"prompt": "[Outro]\nthe next leg of our journey, let's walk together",
"tags": "acoustic pop",
"duration_s": 60,
"max_mode": True,
"audio_format": "mp3",
},
)
print(response.json())
const response = await fetch("https://api.apimart.ai/v1/music/generations/uploadExtend", {
method: "POST",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "suno",
version: "v6-mini",
audio_url: "https://example.com/reference.wav",
continue_at: 30,
prompt: "[Outro]\nthe next leg of our journey, let's go together",
tags: "acoustic pop",
duration_s: 60,
max_mode: true,
audio_format: "mp3"
})
});
console.log(await response.json());
Authorizations
string
必須
Bearer Token。API Key 管理ページ で API Key を取得してください。
Body
string
デフォルト:"suno"
常に
suno を指定します。string
必須
公開アクセス可能な音声ファイルの直接 HTTP(S) URL。参照元音声は 8 分未満にしてください。ローカルパスと
blob: URL は使用できません。number
必須
延長開始位置。1 秒以上、かつ参照元音声の実際の長さ未満にしてください。
string
デフォルト:"v6"
公開バージョン:
v6 / v6-wild / v6-mini。既定値は v6 です。custom_model_id を使用する場合は省略してください。string
モデル作成タスクが返す完全な UUID。
version および persona_id と同時に指定できません。string
延長部分の歌詞。最大 5,000 文字。省略するとインストゥルメンタルとして延長されます。
string
スタイルの説明。最大 1,000 文字。
string
タイトル。最大 80 文字。
string
除外するスタイル。
number
スタイルの重み。0~1。
number
創造性の重み。0~1。
number
音声の重み。範囲は 0~1。
boolean
入力した歌詞の別バージョンを作成するかどうか。
string
ボーカルの性別:
Male または Female。string
Persona ID。
custom_model_id と同時に指定できません。integer
目標生成時間。10~360 秒。実際の長さはタスク結果で決まります。
string
スタイルの変化:
off / normal / high / extra / max。boolean
デフォルト:"false"
Max モードを有効にします。料金は通常価格の 2 倍です。
string
出力形式:
mp3 / m4a / wav。Response
integer
レスポンスステータスコード。
array
送信結果。
data[0].task_id を取得し、タスク照会 API をポーリングしてください。{
"code": 200,
"data": [
{"status": "submitted", "task_id": "task_01M24YMN4EV04M84R5QYM77R1E"}
]
}