curl --request POST \
--url https://api.apimart.ai/v1/music/generations/createModel \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "suno",
"name": "warm folk model",
"audio_urls": [
"https://example.com/ref-01.mp3",
"https://example.com/ref-02.mp3",
"https://example.com/ref-03.wav",
"https://example.com/ref-04.m4a",
"https://example.com/ref-05.mp3",
"https://example.com/ref-06.mp3"
]
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/music/generations/createModel",
headers={"Authorization": "Bearer <token>"},
json={
"model": "suno",
"name": "warm folk model",
"audio_urls": [
"https://example.com/ref-01.mp3",
"https://example.com/ref-02.mp3",
"https://example.com/ref-03.wav",
"https://example.com/ref-04.m4a",
"https://example.com/ref-05.mp3",
"https://example.com/ref-06.mp3",
],
},
)
print(response.json())
const response = await fetch("https://api.apimart.ai/v1/music/generations/createModel", {
method: "POST",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "suno",
name: "warm folk model",
audio_urls: [
"https://example.com/ref-01.mp3",
"https://example.com/ref-02.mp3",
"https://example.com/ref-03.wav",
"https://example.com/ref-04.m4a",
"https://example.com/ref-05.mp3",
"https://example.com/ref-06.mp3"
]
})
});
console.log(await response.json());
{
"code": 200,
"data": [
{"status": "submitted", "task_id": "task_01M24YMN4EV04M84R5QYM77R1E"}
]
}
{
"code": 200,
"data": {
"id": "task_01M24YMN4EV04M84R5QYM77R1E",
"status": "completed",
"progress": 100,
"result": {
"model_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "warm folk music model"
}
}
}
Suno
Créer un modèle personnalisé
Créez un modèle Suno V6 personnalisé à partir de 6 à 24 extraits audio de référence
POST
/
v1
/
music
/
generations
/
createModel
curl --request POST \
--url https://api.apimart.ai/v1/music/generations/createModel \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "suno",
"name": "warm folk model",
"audio_urls": [
"https://example.com/ref-01.mp3",
"https://example.com/ref-02.mp3",
"https://example.com/ref-03.wav",
"https://example.com/ref-04.m4a",
"https://example.com/ref-05.mp3",
"https://example.com/ref-06.mp3"
]
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/music/generations/createModel",
headers={"Authorization": "Bearer <token>"},
json={
"model": "suno",
"name": "warm folk model",
"audio_urls": [
"https://example.com/ref-01.mp3",
"https://example.com/ref-02.mp3",
"https://example.com/ref-03.wav",
"https://example.com/ref-04.m4a",
"https://example.com/ref-05.mp3",
"https://example.com/ref-06.mp3",
],
},
)
print(response.json())
const response = await fetch("https://api.apimart.ai/v1/music/generations/createModel", {
method: "POST",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "suno",
name: "warm folk model",
audio_urls: [
"https://example.com/ref-01.mp3",
"https://example.com/ref-02.mp3",
"https://example.com/ref-03.wav",
"https://example.com/ref-04.m4a",
"https://example.com/ref-05.mp3",
"https://example.com/ref-06.mp3"
]
})
});
console.log(await response.json());
{
"code": 200,
"data": [
{"status": "submitted", "task_id": "task_01M24YMN4EV04M84R5QYM77R1E"}
]
}
{
"code": 200,
"data": {
"id": "task_01M24YMN4EV04M84R5QYM77R1E",
"status": "completed",
"progress": 100,
"result": {
"model_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "warm folk music model"
}
}
}
La création de modèle est asynchrone. Interrogez la tâche avec
task_id et, une fois terminée, lisez l’ID du modèle personnalisé dans data.result.model_id.curl --request POST \
--url https://api.apimart.ai/v1/music/generations/createModel \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "suno",
"name": "warm folk model",
"audio_urls": [
"https://example.com/ref-01.mp3",
"https://example.com/ref-02.mp3",
"https://example.com/ref-03.wav",
"https://example.com/ref-04.m4a",
"https://example.com/ref-05.mp3",
"https://example.com/ref-06.mp3"
]
}'
import requests
response = requests.post(
"https://api.apimart.ai/v1/music/generations/createModel",
headers={"Authorization": "Bearer <token>"},
json={
"model": "suno",
"name": "warm folk model",
"audio_urls": [
"https://example.com/ref-01.mp3",
"https://example.com/ref-02.mp3",
"https://example.com/ref-03.wav",
"https://example.com/ref-04.m4a",
"https://example.com/ref-05.mp3",
"https://example.com/ref-06.mp3",
],
},
)
print(response.json())
const response = await fetch("https://api.apimart.ai/v1/music/generations/createModel", {
method: "POST",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "suno",
name: "warm folk model",
audio_urls: [
"https://example.com/ref-01.mp3",
"https://example.com/ref-02.mp3",
"https://example.com/ref-03.wav",
"https://example.com/ref-04.m4a",
"https://example.com/ref-05.mp3",
"https://example.com/ref-06.mp3"
]
})
});
console.log(await response.json());
Authorizations
string
requis
Bearer Token. Obtenez votre clé sur la page de gestion des clés API.
Body
string
défaut:"suno"
Utilisez toujours
suno.string
requis
Nom du modèle personnalisé. Il ne peut pas être vide après suppression des espaces de début et de fin.
string[]
requis
De 6 à 24 URL HTTP(S) audio directes et publiques. MP3, WAV et M4A sont recommandés. Chaque URL doit renvoyer directement un fichier audio, pas une page de connexion.
Un fichier multimédia invalide peut faire échouer toute la création du modèle. Importez d’abord les fichiers locaux et utilisez leurs URL publiques ; n’envoyez pas de chemin local ni d’URL
blob:.Response
integer
Code d’état de la réponse.
array
Résultat de la soumission. Lisez
data[0].task_id, puis consultez l’état de l’entraînement avec GET /v1/music/tasks/{task_id}.{
"code": 200,
"data": [
{"status": "submitted", "task_id": "task_01M24YMN4EV04M84R5QYM77R1E"}
]
}
{
"code": 200,
"data": {
"id": "task_01M24YMN4EV04M84R5QYM77R1E",
"status": "completed",
"progress": 100,
"result": {
"model_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "warm folk music model"
}
}
}
Utiliser le modèle créé
Après la fin, conservezresult.model_id. Utilisez-le ensuite comme custom_model_id et omettez version et persona_id.
{
"model": "suno",
"custom_model_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"custom": true,
"instrumental": false,
"prompt": "[Verse]\nan old wooden guitar plays a new journey",
"style": "acoustic folk, warm vocals",
"max_mode": true,
"audio_format": "mp3"
}