Passer au contenu principal
Avec l’élargissement des applications de l’IA, divers programmes d’IA se sont progressivement généralisés. L’IA s’est progressivement intégrée à tous les aspects du travail et de la vie des personnes. Les secteurs concernés par l’IA sont également de plus en plus nombreux, de l’écriture initiale, aux soins médicaux et à l’éducation, jusqu’à la musique aujourd’hui. Suno est une plateforme professionnelle et de haute qualité de création de chansons et de musique par IA. Les utilisateurs n’ont qu’à saisir de simples mots d’invite textuels pour générer des chansons avec voix selon le genre, le style et les paroles. Ce générateur de musique par IA est développé par des membres d’équipe issus d’entreprises technologiques renommées telles que Meta, TikTok et Kensho, avec pour objectif de permettre à tout le monde de créer de magnifiques musiques sans nécessiter aucun instrument. Voici l’avancement des mises à jour du modèle :
Les limites lyric et style du tableau ci-dessus sont les plafonds en mode personnalisé (lorsque custom est défini sur true). Le mode d’inspiration non personnalisé (lorsque custom est défini sur false) ne renseigne que prompt, dont la longueur maximale est de 500 caractères (identique pour tous les modèles).
Suno prend désormais en charge chirp-v6, chirp-v6-wild et chirp-v6-mini. Il est recommandé d’utiliser chirp-v6 ; les anciens noms de modèles restent compatibles. Cependant, Suno ne fournit officiellement pas d’API. AceDataCloud fournit un ensemble d’API Suno qui simule l’intégration officielle de Suno, permettant de générer facilement et rapidement la musique souhaitée.

Demande et utilisation

Pour utiliser Suno Audios Generation API, rendez-vous d’abord sur la console Ace Data Cloud afin d’obtenir votre API Token et conservez-le pour une utilisation ultérieure. Si vous n’êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion afin de vous inviter à vous inscrire et à vous connecter. Une fois terminé, vous retournerez automatiquement à la page actuelle. Un seul API Token permet d’appeler tous les services de la plateforme, il n’est pas nécessaire d’en demander un séparément pour chaque service. La première demande offre un quota gratuit permettant une expérience gratuite ; lorsque le quota est insuffisant, vous pouvez recharger le solde universel dans la console.
📘 Documentation complète : Suno Audios Generation API →

Utilisation de base

Quelle chanson souhaitez-vous ? Vous pouvez saisir librement un texte, par exemple si je souhaite générer une chanson sur Noël, je peux saisir a song for Christmas, comme illustré ci-dessous :

Vous pouvez voir que nous avons ici configuré les Request Headers, notamment :
  • accept : le format de résultat de réponse que vous souhaitez recevoir ; renseignez ici application/json, c’est-à-dire le format JSON.
  • authorization : la clé pour appeler l’API, qui peut être sélectionnée directement dans la liste déroulante après la demande.
Nous avons également configuré le Request Body, notamment :
  • action : type de tâche audio, par défaut generate. Prend en charge des opérations telles que la génération, la continuation, la reprise, l’assemblage, la séparation en pistes, l’ajout de piste audio, l’extraction de pistes audio spécifiées, la génération d’effets sonores et l’ajustement de la vitesse, toutes appelées via POST /suno/audios.
  • prompt : prompt du mode inspiration officiel de Suno (effectif lorsque custom est false), maximum 500 caractères.
  • model : modèle de cette tâche de génération musicale. La série v6 inclut chirp-v6, chirp-v6-wild et chirp-v6-mini ; les anciens noms de modèles restent compatibles.
  • max_mode : mode de génération amélioré. generate n’est activé que lorsque custom et max_mode sont tous deux définis sur true, avec un coût de 1.12 Credits ; add_stem peut être activé directement, avec un coût de 1.344 Credits. Lorsqu’il est désactivé ou omis, les coûts sont respectivement de 0.56 et 0.672 Credits.
  • variety : intensité de diversité des résultats générés, options disponibles : off, normal, high, extra, max. Utilisé uniquement pour generate et add_stem, son envoi pour d’autres action renverra 400.
  • lyric : contenu des paroles du mode personnalisé officiel de Suno. Maximum 3000 caractères pour chirp-v3-5 et chirp-v4 ; maximum 5000 caractères pour chirp-v4-5 et versions ultérieures (y compris chirp-v5, chirp-v5-5).
  • custom : indique s’il faut utiliser le mode personnalisé, par défaut : false.
  • instrumental : option de musique instrumentale du mode inspiration officiel de Suno.
  • title : titre musical du mode personnalisé officiel de Suno. Maximum 80 caractères pour chirp-v3-5, chirp-v4 ; maximum 100 caractères pour chirp-v4-5 et versions ultérieures.
  • style : style musical du mode personnalisé officiel de Suno. Maximum 200 caractères pour chirp-v3-5 et chirp-v4 ; maximum 1000 caractères pour chirp-v4-5 et versions ultérieures (y compris chirp-v5, chirp-v5-5).
  • negative_tags : styles ou genres musicaux à exclure des résultats générés en mode personnalisé (custom est true).
  • audio_weight : poids d’influence des caractéristiques audio ou vocales, plage 0-1, 0 est également une valeur valide. Peut être utilisé pour des opérations telles que la génération, la continuation, la reprise, l’ajout de piste audio et la cohérence vocale ; sans audio de référence ou caractéristiques vocales, le modèle peut atténuer ou ignorer cette valeur.
  • audio_id : ID de la musique de référence.
  • overpainting_start/overpainting_end : heures de début et de fin, en secondes, pour ajouter des voix à une musique instrumentale existante.
  • underpainting_start/underpainting_end : heures de début et de fin, en secondes, pour ajouter un accompagnement à un chant a cappella.
  • persona_id : ID de chanson de l’artiste.
  • continue_at : limite de continuation, en secondes. Par exemple, 213.5 signifie générer le segment suivant à partir de 3 minutes et 33.5 secondes. lyric et style guident uniquement le nouveau contenu après la limite et ne remplacent pas les paroles ou le chant avant la limite dans l’audio source.
  • style_influence : influence du style en mode personnalisé, plage 0-1 ; plus elle est élevée, plus le résultat correspond généralement au style sélectionné ; 0 est transmis comme valeur valide.
  • replace_section_end : heure finale du segment à remplacer.
  • replace_section_start : heure de début du segment à remplacer.
  • vocal_gender : contrôle la préférence pour les voix féminines et masculines, voix féminine f, voix masculine m, effectif pour les modèles 4.5 et ultérieurs ; il s’agit d’une préférence, dont le respect strict n’est pas garanti.
  • weirdness : degré d’étrangeté en mode personnalisé, plage 0-1 ; plus il est élevé, plus le résultat est généralement créatif et expérimental ; 0 est transmis comme valeur valide.
  • duration : durée souhaitée de la chanson, en secondes, doit être un entier, plage de 10 à 360. Ce paramètre est utilisé pour la génération de chansons en mode personnalisé (custom est true). Il s’agit d’une indication d’orientation plutôt que d’une contrainte stricte : le modèle s’y référera, mais ne garantit pas de l’atteindre ; la durée réelle du produit final dépend du champ duration dans la réponse et est généralement inférieure à la valeur souhaitée.

Portée d’application des paramètres avancés

La plateforme vérifie les types de paramètres et les plages de valeurs, mais ne rejettera pas ces options de réglage facultatives uniquement parce que l’action est différente ; les effets spécifiques dépendent de l’opération, du mode et du modèle.
  • lyric_prompt : prompt pour générer les paroles, effectif si et seulement si custom est true et que lyric n’est pas fourni.
  • callback_url : URL à laquelle les résultats doivent être rappelés.
  • async : facultatif, lorsque défini sur true, l’interface renvoie immédiatement task_id, sans nécessiter de fournir callback_url, puis récupère les résultats en interrogeant périodiquement l’interface de requête de tâche correspondante.
Le code généré est le suivant :

Vous pouvez cliquer sur le bouton « Try » pour tester directement l’API, attendre 1 à 2 minutes, le résultat est le suivant :
On peut voir qu’à ce moment-là, nous avons obtenu le contenu de deux chansons, y compris le titre, l’image d’aperçu, les paroles, l’audio, la vidéo et d’autres contenus. La description des champs est la suivante :
  • success : indique si la génération a réussi ; si elle réussit, la valeur est true, sinon elle est false
  • data : est une liste contenant les informations détaillées des chansons générées.
    • state : état de génération de la chanson, comprenant principalement quatre types, comme suit :
      • succeeded : génération réussie
      • pending : dans la file d’attente
      • running : en cours d’exécution
      • error : échec
    • id : ID de la chanson
    • title : titre de la chanson
    • image_url : image de couverture de la chanson
    • lyric : paroles de la chanson
    • audio_url : adresse audio finale de la chanson. La plateforme renverra en priorité l’adresse Ace Data Cloud CDN ; en cas d’échec de la persistance, l’adresse média d’origine peut être renvoyée, veuillez la télécharger à temps.
    • video_url : fichier vidéo de la chanson, qui est une vidéo mp4 une fois ouvert.
    • created_at : heure de création
    • model : modèle utilisé, généralement le dernier modèle v3
    • style : style

Génération personnalisée

Si vous souhaitez générer des paroles personnalisées, vous pouvez saisir des paroles : À ce moment-là, le champ lyric peut transmettre un contenu semblable à celui-ci :
Remarque : dans les paroles ici, \n est un caractère de saut de ligne. Si vous ne savez pas comment générer des paroles, vous pouvez utiliser l’API de génération de paroles fournie par AceDataCloud pour générer des paroles via un prompt. L’API est Suno Lyrics Generation API.
Ensuite, si nous voulons générer une chanson personnalisée selon les paroles, le titre et le style, nous pouvons spécifier le contenu suivant :
  • lyric : texte des paroles
  • custom : renseignez true, ce qui représente une génération personnalisée ; ce paramètre est false par défaut, ce qui représente une génération à l’aide de prompt.
  • title : titre de la chanson.
  • style : style de la chanson, facultatif.
L’exemple de remplissage est le suivant :

Après avoir rempli les champs, le code est automatiquement généré comme suit :

Le code correspondant :
Les tests sont autorisés, et l’effet généré est similaire.

Fonction de génération personnalisée de style de chanteur

Si vous souhaitez utiliser un style de chanteur pour générer une chanson, générez d’abord une chanson via l’utilisation de base ci-dessus,
puis vous devez définir cette chanson comme style de chanteur. Ensuite, vous devez accéder à Suno Persona API pour générer un paramètre d’identifiant de style de chanteur persona_id à partir de l’ID de musique audio_id généré officiellement. Les paramètres spécifiques sont indiqués dans l’image ci-dessous :

Une fois le remplissage terminé, le code suivant est généré automatiquement :

Le code Python correspondant :
Cliquez sur Exécuter, vous pouvez constater que vous obtiendrez un résultat comme suit :
Nous utilisons les audio_id et persona_id ci-dessus, soit respectivement 97efc9f4-0e8d-4b3e-88df-14568fa1b11f et e0d7319e-aa2a-44cb-b00a-916218d7cb0b, comme données d’exemple pour cette fois-ci. Ensuite, vous pouvez définir le paramètre action sur artist_consistency (s’il s’agit du nouveau style de chanteur Persona-v2-vox, action doit être défini sur artist_consistency_vox), puis saisir l’ID de la chanson à continuer de générer et l’ID du style de chanteur. Un exemple de remplissage est présenté ci-dessous :

Une fois le remplissage terminé, le code suivant est généré automatiquement :

Le code Python correspondant :
Cliquez sur Exécuter, vous pouvez constater que vous obtiendrez un résultat comme suit :
On peut voir que le contenu du résultat est cohérent avec celui ci-dessus, ce qui permet d’implémenter la fonctionnalité de génération de chansons à l’aide d’un style de chanteur.

Fonctionnalité de prolongation de génération

Si vous souhaitez prolonger la génération d’une chanson Suno déjà générée, vous pouvez définir le paramètre action sur extend, puis saisir l’ID de la chanson à continuer de générer. L’obtention de l’ID de la chanson se fait selon l’utilisation de base ; d’après ce qui précède, vous pouvez voir que l’ID de la chanson est alors :
Remarque : ici, l’id dans les paroles est l’ID de la chanson générée. Si vous ne savez pas comment générer une chanson, vous pouvez vous référer à l’utilisation de base ci-dessus pour générer une chanson.
Si vous souhaitez prolonger la génération d’une chanson que vous avez vous-même téléversée, vous pouvez définir le paramètre action sur upload_extend, puis saisir l’ID de la chanson téléversée personnalisée à continuer de générer. L’obtention de l’ID de la chanson se fait en utilisant Suno Upload Generation API, comme indiqué dans l’image ci-dessous :

Ensuite, vous devez obligatoirement renseigner les paroles du segment à prolonger, et vous pouvez spécifier le style :
  • lyric : utilisé uniquement pour guider les paroles du nouveau segment généré après continue_at, et ne remplacera pas les paroles avant ce point temporel dans l’audio source.
  • custom : renseignez true, ce qui représente une génération personnalisée ; ce paramètre est défini par défaut sur false, ce qui représente une génération à l’aide de prompt.
  • style : le style musical du segment à prolonger, facultatif.
  • continue_at : la limite de prolongation, en secondes. Par exemple, 213.5 signifie que le segment suivant sera généré à partir de 3 minutes 33,5 secondes.
extend est utilisé pour continuer la création après une chanson existante, et non pour changer les paroles de toute la chanson. Si vous souhaitez utiliser de nouvelles paroles depuis le début pour toute la chanson, veuillez utiliser generate pour régénérer ; si vous souhaitez réinterpréter une chanson existante à titre de référence, vous pouvez utiliser cover. Lors de la transmission de nouvelles paroles complètes, les paroles originales avant continue_at ne seront toujours pas remplacées.
Un exemple de remplissage est présenté ci-dessous :

Une fois le remplissage terminé, le code suivant est généré automatiquement :

Ce qui est conservé ci-dessous est un instantané d’un appel historique réel, dans lequel continue_at est de 2 secondes ; par conséquent, seules les 2 premières secondes appartiennent au contenu original avant la limite de continuation. Lors d’une continuation proche de la fin réelle de la chanson, cette valeur doit être définie sur le nombre de secondes auquel vous souhaitez commencer la continuation, et fournissez uniquement dans lyric le nouveau passage à chanter après la limite. Le code Python correspondant :
En cliquant sur Exécuter, vous pouvez constater qu’un résultat est obtenu, comme suit :
On peut voir que lyric dans le résultat renvoie le texte des paroles utilisé par cette tâche de continuation. Ce champ n’est pas une transcription mot à mot de l’audio final complet ; pour extend, l’audio source avant continue_at utilise toujours les paroles originales, et les nouvelles paroles sont utilisées uniquement pour guider le segment de continuation.

Obtenir la chanson complète

Le résultat de extend du modèle actuel contient généralement déjà l’audio source avant continue_at et le nouveau contenu après la limite ; veuillez d’abord déterminer, en fonction de la durée réelle et du contenu de l’audio renvoyé, s’il s’agit déjà de la chanson complète. Si le résultat renvoyé est un segment de continuation indépendant, ou s’il est nécessaire de fusionner explicitement l’historique de plusieurs continuations en une seule chanson, utilisez ensuite la fonction de concaténation :
  • action : la valeur est concat.
  • audio_id : l’ID du dernier segment de continuation.
Par exemple, si l’ID de la chanson étendue est : 0a1e1b10-c36a-41c9-9bfb-b26d9d25db98, vous pouvez alors définir les paramètres comme suit :
Les autres paramètres restent inchangés, et ce qui est renvoyé est une chanson complète, c’est-à-dire le résultat de la concaténation de tous les segments de la chanson, mais le résultat ne contient qu’une seule chanson, comme dans l’exemple suivant :

Reprise musicale

Lorsqu’une chanson est générée à partir d’une chanson existante, le style de la chanson renvoyée peut ne pas être très approprié. Si vous souhaitez faire une reprise de la chanson précédemment générée (les musiques téléversées de manière personnalisée sont également prises en charge), vous devez utiliser la méthode de reprise musicale, qui permet de spécifier le contenu suivant :
  • action : le contenu est cover ; lorsqu’il s’agit d’effectuer une opération de reprise sur une musique téléversée de manière personnalisée, le contenu doit obligatoirement être spécifié comme : upload_cover.
  • audio_id : l’ID de la chanson générée précédemment.
Par exemple, si l’ID de la chanson générée précédemment est : 0a1e1b10-c36a-41c9-9bfb-b26d9d25db98, les paramètres peuvent être définis comme suit :
Les autres paramètres restent inchangés, et le résultat renvoyé est une chanson après reprise, c’est-à-dire le résultat de la reprise de la chanson générée précédemment, comme illustré ci-dessous :
Le résultat généré est similaire à celui ci-dessus, ce qui achève le processus de génération d’une reprise de la chanson générée précédemment.

Remplacer un segment

Lorsqu’après la génération d’une chanson, une seconde création nécessitant une opération distincte de remplacement d’un segment de la chanson doit être effectuée, il est possible de remplacer un certain segment de la chanson.
⚠️ Remarque : replace_section_result_mode est par défaut défini sur full_song : le système concatène respectivement 2 nouveaux candidats générés et renvoie 2 chansons complètes. Si seuls les candidats de segments de remplacement non encore concaténés sont nécessaires, définissez explicitement cette valeur sur candidates, puis sélectionnez un candidat pour appeler Concaténation musicale.
Les paramètres sont décrits comme suit :
  • action : le contenu est replace_section.
  • audio_id : l’ID de la chanson originale (la chanson source à remplacer).
  • model : le modèle de génération de chansons.
  • lyric : les paroles complètes après remplacement (y compris le segment remplacé et son contexte, cohérents avec le contenu dans prompt).
  • prompt : les nouvelles paroles du segment à remplacer.
  • style : le style de la chanson, facultatif.
  • replace_section_start : l’heure de début du segment remplacé dans la chanson originale (secondes).
  • replace_section_end : l’heure de fin du segment remplacé dans la chanson originale (secondes).
  • replace_section_result_mode : le mode de retour, défini par défaut sur full_song. full_song concatène respectivement 2 candidats et renvoie 2 chansons complètes ; candidates renvoie 2 segments candidats non encore concaténés.

Étape 1 : lancer une tâche de remplacement de segment

Par exemple, si l’ID de la chanson générée précédemment est : 18db7ed0-2b8a-41db-91c1-b0781dcca0d4 (durée de 94,12 secondes), et que vous souhaitez remplacer le refrain de la 30e à la 60e seconde par de nouvelles paroles, les paramètres peuvent être définis comme suit :
Par défaut, 2 chansons complètes, chacune assemblée à partir de deux candidats distincts, sont renvoyées. Si replace_section_result_mode est défini sur candidates, 2 extraits de remplacement non encore assemblés sont renvoyés, avec une structure identique à l’exemple ci-dessous :
En mode candidates, les durées des deux pistes audio renvoyées (45,16 secondes, 33,8 secondes) sont bien plus courtes que la chanson originale (94,12 secondes) ; ce sont des extraits de remplacement contenant un peu de contexte, et non la chanson entière. Vous pouvez sélectionner un candidat satisfaisant pour continuer à l’assembler manuellement. Le mode full_song par défaut effectue quant à lui les deux assemblages et renvoie directement 2 chansons complètes.

Renvoyer directement des chansons complètes

Si vous souhaitez obtenir directement des chansons complètes, vous pouvez définir replace_section_result_mode sur full_song à l’étape un. L’interface assemblera respectivement les deux candidats et renverra 2 chansons complètes ; il n’est alors pas nécessaire d’appeler concat à nouveau.

Étape deux : assembler l’extrait de remplacement dans la chanson originale

Pour l’extrait sélectionné ci-dessus (par exemple 364f9d8b-ca25-463b-9a5e-d0b7139e2d6a), lancez une tâche concat selon la méthode de la section Assemblage musical :
Ce qui est renvoyé est la chanson complète assemblée, comme dans l’exemple suivant :
À ce moment-là, duration est revenu à la durée complète de la chanson (105,28 secondes, soit approximativement la durée de la chanson originale), et audio_url pointe vers la chanson entière une fois le remplacement terminé. Cela achève le processus de création secondaire « génération → remplacement de segment → assemblage de la chanson entière ».

Séparation voix-musique

Lorsqu’une création secondaire nécessitant des opérations distinctes sur l’accompagnement et les voix est requise après la génération d’une chanson, il est possible de séparer l’accompagnement musical pur et les voix a cappella. Vous pouvez alors spécifier le contenu suivant :
  • action : la valeur est stems.
  • audio_id : l’ID de la chanson générée précédemment.
Par exemple, si l’ID de la chanson générée auparavant est : ec13e502-d043-4eb2-92ee-e900c6da69d1, vous pouvez alors définir les paramètres comme suit :
Les paramètres ci-dessus permettent d’obtenir le résultat de la séparation voix-musique, comme suit :
Le résultat généré est similaire à celui ci-dessus, ce qui achève le processus de séparation voix-musique de la chanson générée précédemment.

Séparation voix-musique de toutes les pistes

Lorsqu’une opération de séparation voix-musique de toutes les pistes est requise après la génération d’une chanson, vous pouvez alors spécifier le contenu suivant :
  • action : la valeur est all_stems.
  • audio_id : l’ID de la chanson générée précédemment.
Par exemple, si l’ID de la chanson générée auparavant est : bdf23a5a-59f5-4103-b452-054a824a7f9f, vous pouvez alors définir les paramètres comme suit :
Les paramètres ci-dessus permettent d’obtenir le résultat de la séparation voix-musique de toutes les pistes, comme suit :
Le résultat généré est similaire à celui ci-dessus, ce qui achève le processus de séparation voix-instrument de la chanson précédemment générée.

Ajouter une piste audio

add_stem génère une piste d’instrument ou de voix cible pour l’audio spécifié, via POST /suno/audios.
  • Requis : action, audio_id, stem_type.
  • Facultatif : model, prompt, title, style, negative_tags, weirdness, style_influence, audio_weight, max_mode, variety.
  • Facturation : 0.672 Credits en mode normal ; 1.344 Credits lorsque max_mode est défini sur true.
Réponse à l’état terminal :

Extraire une piste audio

extract_stem extrait la piste audio cible de l’audio spécifié, tout en renvoyant une version complémentaire après suppression de cette piste audio, via POST /suno/audios.
  • Requis : action, audio_id, stem_type.
  • Facultatif : audio_format, le contrat public à deux canaux ne prend actuellement en charge que mp3.
  • Facturation : 1.12 Credits.
Le champ data dans la réponse à l’état terminal conserve une liste audio plate, tandis que stem_sets indique la relation de correspondance entre la piste audio cible et la piste audio complémentaire :

Générer des effets sonores

sounds génère des effets sonores ponctuels ou en boucle à partir d’une description textuelle, via POST /suno/audios.
  • Requis : action, sound, sound_type.
  • Facultatif : model, bpm, key, audio_format ; audio_format ne prend actuellement en charge que mp3.
  • sound_type : one-shot ou loop.
  • Facturation : 0.112 Credits.

Ajuster la vitesse audio

adjust_speed ajuste la vitesse de lecture de l’audio spécifié, via l’appel POST /suno/audios.
  • Obligatoire : action, audio_id, speed_multiplier, title.
  • Facultatif : keep_pitch.
  • speed_multiplier : plage de 0.25 à 4.
  • Facturation : 0.28 Credits.
La durée de l’audio source est de 9.8 secondes, le résultat à une vitesse de 1.1x est de 8.909090909 secondes :
Le modèle de génération comporte une part d’aléatoire. L’interface garantit la cohérence de la sémantique des paramètres, de l’état des tâches et de la structure des réponses, mais ne garantit pas que différentes requêtes génèrent exactement les mêmes formes d’onde.

Paramètres avancés de génération personnalisée

L’interface officielle permet d’utiliser, en mode personnalisé, les paramètres avancés weirdness==>Weirdness, style_influence==>Style Influence, audio_weight==>Audio Influence pour générer du contenu, correspondant aux exemples officiels suivants :

Les plages des paramètres avancés sont toutes comprises entre 0 et 1, les paramètres spécifiques sont illustrés dans l’image suivante :

Après avoir rempli les champs, le code suivant est généré automatiquement :

Le code Python correspondant :
Cliquez sur exécuter, vous pouvez constater qu’un résultat est obtenu, comme suit :
Les paramètres avancés sont ainsi utilisés pour générer des chansons personnalisées, et les résultats sont similaires à ceux ci-dessus.

Contrôler la durée de la chanson

Par défaut, la durée des chansons générées est déterminée par le modèle lui-même, généralement entre 30 secondes et 4 minutes. Si un résultat final plus long ou plus court est nécessaire, la durée souhaitée peut être spécifiée à l’aide du paramètre duration, en secondes, avec une valeur entière comprise entre 10 et 360. Ce paramètre est utilisé pour la génération de chansons en mode personnalisé (custom est true). Il est particulièrement important de préciser que duration est une indication de préférence, et non une contrainte stricte : le modèle se référera à cette valeur lors de la création, mais ne garantit pas de l’atteindre ; lors des tests, la durée réelle est généralement nettement inférieure à la valeur souhaitée, et la durée des deux chansons renvoyées par une même requête peut également différer de plusieurs fois. Même pour des requêtes entièrement identiques, les durées obtenues après plusieurs soumissions peuvent présenter des différences importantes. Par conséquent, ne l’utilisez pas comme un contrôle précis de la durée ; si une durée fixe est nécessaire pour votre activité, veuillez recadrer ou réessayer vous-même après avoir obtenu le résultat final. Le code Python correspondant :
Il faut noter que duration dans la requête est la durée souhaitée, tandis que le champ duration de chaque chanson dans les data de la réponse est la durée réelle de cette chanson. Les deux ont le même nom mais des significations différentes ; la durée réelle n’est pas garantie d’être égale à la valeur souhaitée. La longueur des paroles est l’un des principaux facteurs qui influencent la durée du produit final ; si vous avez besoin d’un produit final plus long, il est recommandé de fournir également des paroles plus complètes. L’interface vérifiera que duration est un entier compris entre 10 et 360 ; cela reste uniquement un objectif de génération, et non une garantie sur la durée du produit final.

Fonctionnalité Add Insterumental

En août 2025, Suno a lancé la fonctionnalité Add Insterumental. Vous devez d’abord téléverser une chanson a cappella sans accompagnement, afin que Suno ajoute l’accompagnement musical. Vous pouvez d’abord téléverser une chanson a cappella sans accompagnement via Suno Upload API. L’opération correspondante est illustrée ci-dessous :

Ensuite, vous devez enregistrer l’audio_id après le téléversement. Le résultat spécifique est illustré ci-dessous :

Enfin, nous obtenons un audio_id : 92254cab-3372-4d9e-bce9-cdcfdbc39070, puis nous devons également renseigner les paramètres suivants :
  • action : le contenu est underpainting.
  • underpainting_start : l’heure de début pour ajouter un accompagnement à la chanson téléversée, la valeur par défaut est 0.
  • underpainting_end : l’heure de fin pour ajouter un accompagnement à la chanson téléversée, elle doit être inférieure à la durée totale de la chanson.
  • audio_id : l’ID de la chanson a cappella sans accompagnement téléversée.
  • style : le style de l’accompagnement, il est préférable de ne pas utiliser de paroles puisqu’il s’agit d’un accompagnement.
Après avoir tout renseigné, le code est généré automatiquement comme suit :

Le code Python correspondant :
Cliquez sur Exécuter, vous constaterez qu’un résultat est obtenu, comme suit :
Ainsi, l’opération consistant à ajouter un accompagnement à une chanson a cappella sans accompagnement téléversée est terminée ; le résultat est similaire à celui présenté ci-dessus.

Fonctionnalité Add Vocals

En août 2025, Suno a lancé la fonctionnalité Add Vocals. Vous devez d’abord téléverser une musique pure, afin que Suno écrive les paroles et génère un chant vocal. Vous pouvez d’abord téléverser une chanson a cappella sans accompagnement via Suno Upload API. L’opération correspondante est illustrée ci-dessous :

Ensuite, vous devez enregistrer l’audio_id après le téléversement. Le résultat spécifique est illustré ci-dessous :

Enfin, nous obtenons un audio_id : 92254cab-3372-4d9e-bce9-cdcfdbc39070, puis nous devons également renseigner les paramètres suivants :
  • action : le contenu est overpainting.
  • overpainting_start : l’heure de début pour ajouter des voix à la chanson téléversée, la valeur par défaut est 0.
  • overpainting_end : l’heure de fin pour ajouter des voix à la chanson téléversée, elle doit être inférieure à la durée totale de la chanson.
  • audio_id : l’ID de la chanson a cappella sans accompagnement téléversée.
  • custom : dans ce mode, le mode personnalisé doit être utilisé pour renseigner les paroles.
  • lyric : les paroles renseignées dans le mode personnalisé.
  • style : le style de l’accompagnement.
Après avoir tout renseigné, le code est généré automatiquement comme suit :

Le code Python correspondant :
Cliquez sur Exécuter, vous pouvez constater qu’un résultat sera obtenu, comme suit :
Ainsi, l’opération consistant à ajouter des voix à une chanson a cappella téléchargée sans accompagnement est terminée, le résultat est similaire à celui ci-dessus.

Fonction Remaster

En décembre 2025, Suno a lancé la nouvelle fonction Remaster. Cette fonction peut régénérer des chansons, sans possibilité d’utiliser plusieurs comptes, puis nous devons également renseigner les paramètres suivants :
  • action : le contenu est remaster.
  • audio_id : l’ID de la chanson à régénérer.
  • model : prend uniquement en charge v4.5+ et v5.
  • variation_category : pris en charge uniquement dans les versions v5 et supérieures, et ne possède que 3 valeurs : high, normal, subtle.
Une fois le remplissage terminé, le code est généré automatiquement comme suit :

Le code Python correspondant :
Cliquez sur Exécuter, vous pouvez constater qu’un résultat sera obtenu, comme suit :
Ainsi, l’opération consistant à régénérer une chanson déjà générée est terminée, le résultat est similaire à celui ci-dessus.

Fonction de génération de mix Mashup

En décembre 2025, Suno a lancé la nouvelle fonction Mashup. Cette fonction peut générer une chanson à partir de deux chansons de référence, puis nous devons également renseigner les paramètres suivants :
  • action : le contenu est mashup.
  • mashup_audio_ids : les ID des deux chansons de référence. Après avoir rempli les champs, le code suivant est automatiquement généré :

Le code Python correspondant :
En cliquant sur exécuter, vous pouvez constater qu’un résultat sera obtenu, comme suit :
Ainsi, l’opération de génération de mixage à partir de chansons de référence est terminée, et le résultat est similaire à celui ci-dessus.

Samples Génération de chansons par échantillonnage

Ici, les samples correspondent à l’échantillonnage d’un segment d’un seul audio : sélectionnez les heures de début et de fin d’un audio existant, puis utilisez ce segment comme matériau d’échantillonnage pour créer. Cela diffère de la fonction de création inspirée Inspo utilisant 1 à 4 audios de référence complets décrite ci-dessous. Les paramètres suivants doivent être renseignés :
  • action : le contenu est samples.
  • samples_start : heure de début de l’échantillonnage.
  • samples_end : heure de fin de l’échantillonnage.
  • audio_id : l’ID de la chanson de référence à échantillonner.
Après avoir rempli les champs, le code suivant est automatiquement généré :

Le code Python correspondant :
En cliquant sur exécuter, vous pouvez constater qu’un résultat sera obtenu, comme suit :
Cela termine l’opération d’échantillonnage pour générer une chanson, avec un résultat similaire à celui présenté ci-dessus.

Fonction de création inspirée Inspo

La fonction de création inspirée Inspo peut générer de nouvelles musiques à partir de 1 à 4 pistes audio de référence complètes, et prend en charge le glisser-déposer ou le téléversement d’audio comme source d’inspiration. L’API utilise l’action inspo existante : le client fournit des URL audio accessibles publiquement, et le service effectue automatiquement la préparation des audios de référence et la création, sans que le client ait besoin de lire séparément les paroles, le style ou la durée avant d’assembler la requête. Elle diffère de l’échantillonnage par intervalle ci-dessus, ainsi que du Cover qui reproduit le style de la chanson originale. Les paramètres suivants doivent être renseignés lors de l’utilisation :
  • action : la valeur est inspo.
  • audio_urls : liste d’URL des audios de référence ; fournissez 1 à 4 adresses audio accessibles publiquement.
  • model : le modèle utilisé ; chirp-v6 est recommandé.
  • prompt : paroles ou invite de création (facultatif).
Remarque : l’audio de référence doit être un fichier audio accessible publiquement. Si l’audio de référence correspond exactement à un enregistrement connu dans le catalogue musical de la plateforme, Suno peut refuser la génération en raison d’une vérification des droits d’auteur ; il est recommandé d’utiliser un audio vous appartenant ou généré par Suno comme source d’inspiration.
Le code Python correspondant :
Une copie d’un instantané de réponse historique vérifié est conservée ci-dessous ; l’instantané utilise le chirp-v5 de l’époque, l’exemple de requête actuel recommande chirp-v6, et la structure de retour est identique :
Ainsi, l’opération de création à partir d’inspiration est terminée, et le résultat renvoyé est identique à celui de la génération normale de chansons.

Rappel asynchrone

Étant donné que Suno met relativement longtemps à générer de la musique, environ 1 à 2 minutes, si l’API ne répond pas pendant une longue période, la requête HTTP restera connectée en continu, entraînant une consommation supplémentaire de ressources système ; cette API prend donc également en charge les rappels asynchrones. Le processus global est le suivant : lorsque le client initie une requête, il spécifie en plus un champ callback_url. Après que le client a initié la requête API, l’API renvoie immédiatement un résultat, comprenant un champ task_id, qui représente l’ID de la tâche actuelle. Une fois la tâche terminée, le résultat de la génération musicale est envoyé au callback_url spécifié par le client sous la forme d’un POST JSON, qui inclut également le champ task_id, afin que les résultats de la tâche puissent être associés par ID. Voyons ci-dessous comment procéder concrètement à travers un exemple. Tout d’abord, un rappel Webhook est un service capable de recevoir des requêtes HTTP ; le développeur doit le remplacer par l’URL de son propre serveur HTTP. Afin de faciliter la démonstration, nous utilisons ici un site d’exemple Webhook public https://webhook.site/ ; ouvrez ce site pour obtenir une URL Webhook, comme indiqué sur l’image : Copiez cette URL pour pouvoir l’utiliser comme Webhook ; l’exemple ici est https://webhook.site/03e60575-3d96-4132-b681-b713d78116e2。 Ensuite, nous pouvons définir le champ callback_url avec l’URL Webhook ci-dessus, tout en renseignant prompt, comme indiqué sur l’image : Cliquez sur Exécuter ; vous constaterez qu’un résultat est obtenu immédiatement, comme suit :
Après avoir attendu un instant, nous pouvons observer le résultat de la génération de chanson sur https://webhook.site/03e60575-3d96-4132-b681-b713d78116e2, comme indiqué sur l’image : Le contenu est le suivant :
On peut voir qu’il y a un champ task_id dans le résultat ; les autres champs sont similaires à ceux ci-dessus, et ce champ permet d’associer les tâches. Bien entendu, nous pouvons également obtenir les résultats via un appel en streaming ; il suffit de définir la valeur de accept dans l’en-tête de requête sur application/x-ndjson. Voici un exemple d’entrée à titre de démonstration :

Pendant l’attente, nous pouvons obtenir la sortie suivante :
La réponse en flux poussera successivement l’état de traitement et le résultat final pour le même task_id ; ci-dessus, seules la première et les deux réponses réelles de l’état final sont conservées, les mises à jour intermédiaires répétées étant omises.

Gestion des erreurs

En cas d’erreur, vous recevrez un message d’erreur semblable au suivant :
Voici la liste des HTTP Status Code, error.code, error.message :
Remarque : les quotas et les messages d’erreur peuvent différer selon les comptes en amont. En général, les restrictions de style pour chirp-v3-5/chirp-v4 sont plus faibles (200), tandis que chirp-v4-5 et les versions ultérieures prennent généralement en charge jusqu’à 1000 ; lorsqu’un ancien service en amont est utilisé, des messages de compatibilité tels que Tags too long. ou style must be less than or equal 120 peuvent apparaître. | Code d’état | error.code | error.message | | ----------- | ------------- | --------------------------------------------------------------- | | 400 | bad_request | L’identifiant de la chanson n’existe pas ou a été mis hors ligne. | | 400 | bad_request | Prompt trop long. | | 400 | bad_request | Tags trop longs. | | 400 | bad_request | L’audio téléchargé correspond à une œuvre d’art existante. | | 400 | bad_request | instrumental doit être un booléen | | 400 | bad_request | Titre trop long. | | 400 | bad_request | Sujet trop long. | | 400 | bad_request | style doit être inférieur ou égal à 120 | | 400 | bad_request | custom doit être un booléen | | 400 | bad_request | audio_id est requis lors de l’extension de l’audio | | 400 | bad_request | continue_at est requis lors de l’extension de l’audio | | 400 | bad_request | continue_at doit être un nombre supérieur à 0 | | 400 | bad_request | lyric est requis lors de l’extension de l’audio et lorsque instrumental est faux | | 400 | bad_request | prompt est requis lors de la génération d’audio | | 400 | bad_request | lyric est requis lors de la génération d’audio personnalisé | | 403 | forbidden | Prompt probablement mal formé | | 403 | forbidden | Prompt probablement protégé par le droit d’auteur | | 403 | forbidden | Le prompt contenait du contenu inapproprié | | 403 | forbidden | La description de la chanson a été signalée pour modération | | 403 | forbidden | La description de la chanson contenait un nom d’artiste | | 403 | forbidden | Les tags contenaient un nom d’artiste | | 403 | forbidden | Les paroles contenaient du contenu protégé par le droit d’auteur | | 403 | forbidden | La description de la chanson contenait une balise de producteur | | 403 | forbidden | Erreur openAI générique | | 403 | forbidden | Prompt signalé pour modération | | 500 | api_error | Impossible de générer des paroles à partir de la description de la chanson | | 500 | api_error | la tâche a échoué avec une erreur inconnue | | 500 | api_error | aucun travailleur disponible dans le système | | 500 | api_error | service en maintenance, génération suspendue | | 504 | timeout | délai d’attente dépassé lors de l’attente de la génération audio |