> ## Documentation Index
> Fetch the complete documentation index at: https://docs.evolink.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Suno Music Generation Beta

> - Modèle de génération musicale Suno AI, prend en charge la génération de musique complète à partir de descriptions textuelles ou de paroles
- Prend en charge le mode personnalisé (contrôle précis du style, du titre, des paroles) et le mode simple (génération automatique par l'IA)
- Prend en charge la fonctionnalité [Persona](/fr/api-manual/audio-series/suno/suno-persona-creation), permettant de réutiliser des caractéristiques vocales/stylistiques créées précédemment
- Mode de traitement asynchrone, utilisez l'ID de tâche retourné pour [consulter le statut](/fr/api-manual/task-management/get-task-detail)
- Les liens audio générés sont valides pendant 72 heures, veuillez les sauvegarder rapidement
- Chaque requête génère plusieurs variations musicales



## OpenAPI

````yaml fr/api-manual/audio-series/suno/suno-music-generation.json POST /v1/audios/generations
openapi: 3.1.0
info:
  title: API de génération musicale Suno
  description: >-
    Générer de la musique à l'aide des modèles Suno AI, prenant en charge les
    modes vocal et instrumental
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: Environnement de production
security:
  - bearerAuth: []
paths:
  /v1/audios/generations:
    post:
      tags:
        - Audio Generation
      summary: API de génération musicale Suno
      description: >-
        - Modèle de génération musicale Suno AI, prend en charge la génération
        de musique complète à partir de descriptions textuelles ou de paroles

        - Prend en charge le mode personnalisé (contrôle précis du style, du
        titre, des paroles) et le mode simple (génération automatique par l'IA)

        - Prend en charge la fonctionnalité
        [Persona](/fr/api-manual/audio-series/suno/suno-persona-creation),
        permettant de réutiliser des caractéristiques vocales/stylistiques
        créées précédemment

        - Mode de traitement asynchrone, utilisez l'ID de tâche retourné pour
        [consulter le statut](/fr/api-manual/task-management/get-task-detail)

        - Les liens audio générés sont valides pendant 72 heures, veuillez les
        sauvegarder rapidement

        - Chaque requête génère plusieurs variations musicales
      operationId: createSunoMusicGeneration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SunoMusicGenerationRequest'
            examples:
              simple_mode:
                summary: Mode simple (Recommandé pour les débutants)
                value:
                  model: suno-v5-beta
                  prompt: A cheerful summer pop song about road trips and freedom
              custom_mode_with_lyrics:
                summary: Mode personnalisé (avec paroles)
                value:
                  model: suno-v5-beta
                  custom_mode: true
                  instrumental: false
                  style: pop, electronic, upbeat, female vocals, 120bpm
                  title: Rêves d'été
                  prompt: |-
                    [Verse 1]
                    Conduisant sur l'autoroute, fenêtres ouvertes
                    Le soleil brille sur cette petite ville
                    La radio joue notre chanson préférée
                    Tout est si merveilleux

                    [Chorus]
                    Rêves d'été, nuits d'été
                    Pourchassant les étoiles et les lumières de la ville
                    Avec toi à mes côtés
                    Je me sens si vivant
                  negative_tags: heavy metal, screaming, sad
                  vocal_gender: f
              custom_mode_with_persona:
                summary: Mode personnalisé (avec Persona)
                value:
                  model: suno-v5-beta
                  custom_mode: true
                  instrumental: false
                  style: electronic pop, synth wave, 128bpm
                  title: Rêveur néon
                  prompt: |-
                    [Verse]
                    Flânant sous les néons
                    Le pouls de la ville bat dans mon cœur
                    [Chorus]
                    Nous sommes des chasseurs de rêves
                    Dansant sous les étoiles
                  persona_id: 5c57d49ef834110496fae5aa14fec441
                  persona_model: voice_persona
              instrumental_mode:
                summary: Mode instrumental
                value:
                  model: suno-v4.5plus-beta
                  custom_mode: true
                  instrumental: true
                  style: lo-fi, chill, ambient, piano, soft drums
                  title: Après-midi pluvieux
      responses:
        '200':
          description: Tâche musicale créée avec succès
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AudioGenerationResponse'
        '400':
          description: Paramètres de requête invalides
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: invalid_request
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: Non authentifié, jeton invalide ou expiré
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: unauthorized
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: Quota insuffisant, recharge requise
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: insufficient_quota
                  message: Insufficient quota. Please top up your account.
                  type: insufficient_quota
        '403':
          description: Accès refusé
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: model_access_denied
                  message: 'Token does not have access to model: suno-v5-beta'
                  type: invalid_request_error
        '429':
          description: Limite de débit dépassée
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: rate_limit_exceeded
                  message: Too many requests, please try again later
                  type: rate_limit_error
        '500':
          description: Erreur interne du serveur
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: internal_error
                  message: Internal server error
                  type: api_error
        '503':
          description: Service temporairement indisponible
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: service_unavailable
                  message: No available channel for the requested model
                  type: api_error
components:
  schemas:
    SunoMusicGenerationRequest:
      type: object
      required:
        - model
        - custom_mode
        - instrumental
      properties:
        model:
          type: string
          description: >-
            Nom du modèle


            **Compatibilité ascendante :** Les noms de modèles précédemment
            intégrés (ex: `suno-v5`, `suno-v4.5`, `suno-v4.5plus`,
            `suno-v4.5all`, `suno-v4`) restent utilisables et sont
            automatiquement mappés vers les versions `-beta` correspondantes


            **Options disponibles :**

            - `suno-v5-beta` : Dernière version V5 (recommandée par défaut),
            prend en charge Voice Persona, expression musicale supérieure,
            génération plus rapide, prompt max `5000` caractères, style max
            `1000` caractères

            - `suno-v4.5plus-beta` : Version améliorée V4.5+, tonalités plus
            riches, nouvelles méthodes créatives, jusqu'à 8 minutes, prompt max
            `5000` caractères, style max `1000` caractères

            - `suno-v4.5all-beta` : Version complète V4.5, prompts plus
            intelligents, génération plus rapide, jusqu'à 8 minutes, prompt max
            `5000` caractères, style max `1000` caractères

            - `suno-v4.5-beta` : Version V4.5, prompts plus intelligents,
            génération plus rapide, jusqu'à 8 minutes, prompt max `5000`
            caractères, style max `1000` caractères

            - `suno-v4-beta` : Version V4, qualité vocale améliorée, jusqu'à 4
            minutes, prompt max `3000` caractères, style max `200` caractères
          enum:
            - suno-v5-beta
            - suno-v4.5plus-beta
            - suno-v4.5all-beta
            - suno-v4.5-beta
            - suno-v4-beta
          example: suno-v5-beta
        custom_mode:
          type: boolean
          description: >-
            Activer le mode personnalisé


            **Description :**

            - `false` : Mode simple, fournissez uniquement le `prompt`, l'IA
            génère automatiquement les paroles et le style

            - `true` : Mode personnalisé, permet un contrôle précis du `style`,
            du `title`, des paroles, etc.


            **Paramètres requis en mode personnalisé :**

            - `style` : Requis

            - `title` : Requis

            - `prompt` : Requis lorsque `instrumental=false` (utilisé comme
            paroles)
          example: false
        instrumental:
          type: boolean
          description: >-
            Générer de la musique instrumentale (sans voix)


            **Description :**

            - `false` : Générer de la musique avec voix

            - `true` : Générer de la musique instrumentale/d'ambiance sans voix


            **Remarque :**

            - En mode non personnalisé, ce paramètre n'affecte pas les champs
            requis

            - En mode personnalisé, lorsqu'il est défini sur `true`, le `prompt`
            devient optionnel
          example: false
        prompt:
          type: string
          description: >-
            Prompt décrivant le contenu musical souhaité


            **Mode non personnalisé (`custom_mode=false`) :**

            - Requis, sert de description musicale, l'IA génère automatiquement
            les paroles et le style

            - Longueur maximale : `500` caractères


            **Mode personnalisé (`custom_mode=true`) :**

            - Requis lorsque `instrumental=false`, utilisé comme paroles exactes

            - Optionnel lorsque `instrumental=true`

            - Longueur maximale : `3000` caractères pour V4, `5000` caractères
            pour V4.5+


            **Suggestions de format des paroles :**

            - Utilisez des balises comme `[Verse]`, `[Chorus]`, `[Bridge]` pour
            organiser la structure des paroles
          example: A cheerful summer pop song about road trips and freedom
        style:
          type: string
          description: >-
            Spécification du style musical


            **Description :**

            - Requis en mode personnalisé (`custom_mode=true`)

            - Définit le genre, l'ambiance ou la direction artistique de la
            musique

            - Il est recommandé d'utiliser des balises séparées par des virgules
            en anglais


            **Limites de caractères :**

            - V4 : Max `200` caractères

            - V4.5+ : Max `1000` caractères


            **Balises de style courantes :**

            - Genres : pop, rock, jazz, classical, electronic, hip-hop, r&b,
            country, folk

            - Ambiances : happy, sad, energetic, calm, romantic, dark, uplifting

            - Instruments : piano, guitar, drums, bass, violin, saxophone,
            synthesizer

            - Voix : male vocals, female vocals, choir, harmonies

            - Tempo : slow, fast, upbeat, groovy, 120bpm
          example: pop, electronic, upbeat, female vocals
        title:
          type: string
          description: |-
            Titre de la chanson

            **Description :**
            - Requis en mode personnalisé (`custom_mode=true`)
            - Sera affiché dans l'interface du lecteur et le nom du fichier
            - Longueur maximale : `80` caractères
          maxLength: 80
          example: Summer Dreams
        negative_tags:
          type: string
          description: >-
            Styles exclus, spécifiez les styles musicaux ou caractéristiques à
            éviter


            **Exemples :**

            - `heavy metal, screaming, sad`

            - `rap, fast tempo`
          example: heavy metal, screaming
        vocal_gender:
          type: string
          description: >-
            Préférence de genre vocal


            **Options :**

            - `m` : Voix masculine

            - `f` : Voix féminine


            **Remarque :**

            - Effectif uniquement lorsque `custom_mode=true`

            - Ce paramètre augmente seulement la probabilité, il ne peut pas
            garantir que le genre spécifié sera respecté
          enum:
            - m
            - f
          example: f
        style_weight:
          type: number
          description: >-
            Poids du style, contrôle le respect du style spécifié


            **Plage :** `0.0` ~ `1.0`, une décimale


            **Description :**

            - Des valeurs plus élevées entraînent un respect plus strict du
            style spécifié

            - La valeur `0` est considérée comme non définie
          minimum: 0
          maximum: 1
          example: 0.7
        weirdness_constraint:
          type: number
          description: >-
            Contrainte d'originalité, contrôle le degré de
            créativité/expérimentation de la sortie


            **Plage :** `0.0` ~ `1.0`, une décimale


            **Description :**

            - Des valeurs plus élevées produisent une sortie plus créative et
            expérimentale

            - Des valeurs plus basses produisent une sortie plus traditionnelle
            et conservatrice

            - La valeur `0` est considérée comme non définie
          minimum: 0
          maximum: 1
          example: 0.3
        audio_weight:
          type: number
          description: |-
            Poids audio, contrôle le poids des caractéristiques audio

            **Plage :** `0.0` ~ `1.0`, une décimale

            **Description :**
            - La valeur `0` est considérée comme non définie
          minimum: 0
          maximum: 1
          example: 0.5
        persona_id:
          type: string
          description: >-
            Persona ID, applique un Persona précédemment créé à cette génération
            musicale


            Disponible uniquement lorsque `custom_mode=true`. Obtenu via l'API
            [Création de Persona
            Suno](/fr/api-manual/audio-series/suno/suno-persona-creation),
            permet de maintenir des caractéristiques vocales et stylistiques
            cohérentes


            **Comment l'obtenir :** Après l'achèvement de la tâche de création
            de Persona, récupérez-le depuis `result_data.persona_id`
          example: 5c57d49ef834110496fae5aa14fec441
        persona_model:
          type: string
          description: >-
            Mode d'application du Persona


            **Options :**

            1. `style_persona` : Orienté style, privilégie les caractéristiques
            de style musical (arrangement, rythme, timbre), compatible avec
            toutes les versions de modèles

            2. `voice_persona` : Orienté voix, privilégie les caractéristiques
            vocales (timbre, technique vocale, tessiture), **uniquement V5**


            Disponible uniquement lorsque `custom_mode=true`, généralement
            utilisé avec `persona_id`. L'utilisation de `voice_persona`
            nécessite le modèle `suno-v5-beta`, sinon une erreur est retournée
          enum:
            - style_persona
            - voice_persona
          example: style_persona
        callback_url:
          type: string
          description: >-
            URL de rappel HTTPS pour la notification d'achèvement de tâche


            **Étapes du rappel :**

            - Le processus de rappel comporte trois étapes : `text` (génération
            de texte), `first` (première piste terminée), `complete` (tout
            terminé)

            - Dans certains cas, les étapes `text` et `first` peuvent être
            ignorées, renvoyant directement `complete`


            **Restrictions de sécurité :**

            - Seul le protocole HTTPS est pris en charge

            - Les rappels vers les adresses IP internes sont interdits

            - La longueur de l'URL ne doit pas dépasser `2048` caractères


            **Mécanisme de rappel :**

            - Délai d'expiration : `10` secondes

            - Maximum `3` tentatives en cas d'échec

            - Un code de statut 2xx renvoyé par l'URL de rappel est considéré
            comme un succès
          format: uri
          example: https://your-domain.com/webhooks/suno-callback
    AudioGenerationResponse:
      type: object
      properties:
        created:
          type: integer
          description: Horodatage de création de la tâche
          example: 1766319090
        id:
          type: string
          description: >-
            ID de tâche, utilisé pour interroger le statut et les résultats de
            la tâche
          example: task-unified-1766319089-oqs9cue4
        model:
          type: string
          description: Nom du modèle réellement utilisé
          example: suno-v5-beta
        object:
          type: string
          enum:
            - audio.generation.task
          description: Type de tâche
        progress:
          type: integer
          description: Pourcentage de progression de la tâche (0-100)
          minimum: 0
          maximum: 100
          example: 0
        status:
          type: string
          description: Statut de la tâche
          enum:
            - pending
            - processing
            - completed
            - failed
          example: pending
        task_info:
          $ref: '#/components/schemas/AudioTaskInfo'
          description: Détails de la tâche audio
        type:
          type: string
          enum:
            - audio
          description: Type de sortie de la tâche
          example: audio
        usage:
          $ref: '#/components/schemas/Usage'
          description: Informations d'utilisation et de facturation
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Identifiant du code d'erreur
            message:
              type: string
              description: Description de l'erreur
            type:
              type: string
              description: Type d'erreur
    AudioTaskInfo:
      type: object
      properties:
        can_cancel:
          type: boolean
          description: Si la tâche peut être annulée
          example: true
        estimated_time:
          type: integer
          description: Temps estimé d'achèvement (secondes)
          example: 120
    Usage:
      type: object
      description: Informations d'utilisation et de facturation
      properties:
        billing_rule:
          type: string
          description: Règle de facturation
          enum:
            - per_call
            - per_token
            - per_second
          example: per_call
        credits_reserved:
          type: number
          description: Crédits estimés consommés
          minimum: 0
          example: 10
        user_group:
          type: string
          description: Catégorie de groupe d'utilisateurs
          enum:
            - default
            - vip
          example: default
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ##Toutes les API nécessitent une authentification Bearer Token##


        **Obtenir une clé API :**


        Visitez la [Page de gestion des clés
        API](https://evolink.ai/dashboard/keys) pour obtenir votre clé API


        **Ajouter à l'en-tête de requête :**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````