Passer au contenu principal
POST
custom détermine quels champs prennent effet : les champs renseignés sous le mauvais mode sont silencieusement ignorés par l’amont (sans erreur). Avec custom=true (personnalisé), prompt (paroles), title, style, negative_tags, auto_lyrics, persona_id, style_weight, weirdness_constraint et audio_weight prennent effet ; avec custom=false (inspiration), prompt sert de description d’inspiration, et title/style ainsi que les champs personnalisés ci-dessus sont ignorés. vocal_gender fonctionne dans les deux modes.
Cette interface utilise une route distincte, certains noms de champs diffèrent donc des autres interfaces : style (et non tags).

Authorizations

Authorization
string
requis
Toutes les interfaces nécessitent une authentification via Bearer TokenObtenir la clé API :Rendez-vous sur la page de gestion des clés API pour obtenir votre clé APILors de l’utilisation, ajoutez dans l’en-tête de la requête :

Body

model
string
défaut:"suno"
Modèle audio. Actuellement, passez suno (par défaut suno si non fourni).
custom
boolean
défaut:"false"
false = mode inspiration ; true = mode personnalisé (prompt sert de paroles). Par défaut false.
instrumental
boolean
défaut:"false"
true = musique instrumentale pure, sans voix. Par défaut false.
version
string
requis
Version de génération : v3.5 / v4 / v4.5 / v4.5+ / v4.5-all / v5 / v5.5, affecte la qualité audio et la facturation. Obligatoire dans les deux modes ; son omission renvoie directement 400.
prompt
string
Prompt d’inspiration / paroles. Obligatoire lorsque custom=false (utilisé comme description d’inspiration). Lorsque custom=true : obligatoire si instrumental=false (utilisé comme paroles) ; optionnel si instrumental=true. En cas d’absence, un 400 est renvoyé dès la soumission (aucun appel à l’amont, aucune facturation).
title
string
Titre (mode personnalisé). Ignoré lorsque custom=false (mode inspiration).
style
string
Tags de style (mode personnalisé, correspond au champ amont tags). Ignoré lorsque custom=false (mode inspiration).
negative_tags
string
Tags de style négatifs (styles que vous ne voulez pas). Ne prend effet que lorsque custom=true.
auto_lyrics
boolean
true = réécrire de manière créative les paroles fournies. Ne prend effet que lorsque custom=true.
persona_id
string
Identifiant de style Persona. Ne prend effet que lorsque custom=true.
vocal_gender
string
Genre vocal : Male / Female (m / f / male / female sont également acceptés et normalisés par le backend). Fonctionne dans les deux modes.
style_weight
number
Poids du style, 0.001.00. Ne prend effet que lorsque custom=true.
weirdness_constraint
number
Créativité, 0.001.00. Ne prend effet que lorsque custom=true.
audio_weight
number
Poids de l’audio, 0.001.00. Ne prend effet que lorsque custom=true.
Récupérer le résultat : cette interface est une tâche asynchrone. Après soumission, vous obtenez un task_id ; interrogez GET /v1/music/tasks/{task_id} à intervalles de 3 à 5 s jusqu’à ce que status soit completed ou failed (la génération musicale prend généralement 30 à 120 s ; pendant la génération, status est pending et progress évolue : en file d’attente 10 → prêt 50 → terminé 100). Une fois terminé, récupérez audio_url dans data.result.music[] (également image_url / video_url / title / duration, etc.). En cas d’échec, data.error.message indique la raison et le quota pré-déduit est automatiquement remboursé.

Response

code
integer
Code de statut de la réponse
data
array
Tableau de données renvoyées