> ## 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.

# Cr00e9ation de Persona Suno Beta

> - Extraire un Persona réutilisable (caractéristiques vocales/stylistiques) à partir d'une tâche de génération musicale Suno terminée
- Après création, retourne un `persona_id` utilisable dans les [générations musicales Suno](/fr/api-manual/audio-series/suno/suno-music-generation) ultérieures via les paramètres `persona_id` et `persona_model`
- La version du modèle de la tâche source doit être **suno-v4 ou supérieur** (v3.5 non pris en charge)
- Chaque chanson (result_id) ne peut créer **qu'un seul Persona**
- Mode de traitement asynchrone, utilisez l'ID de tâche retourné pour [consulter le statut](/fr/api-manual/task-management/get-task-detail)
- Impossible de créer un nouveau Persona à partir d'une tâche Persona



## OpenAPI

````yaml fr/api-manual/audio-series/suno/suno-persona-creation.json POST /v1/audios/generations
openapi: 3.1.0
info:
  title: API de création de Persona Suno
  description: >-
    Extraire un style musical réutilisable (Persona) à partir d'une tâche de
    génération musicale Suno terminée, pour maintenir des caractéristiques
    vocales et stylistiques cohérentes dans les générations ultérieures
  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 création de Persona Suno
      description: >-
        - Extraire un Persona réutilisable (caractéristiques
        vocales/stylistiques) à partir d'une tâche de génération musicale Suno
        terminée

        - Après création, retourne un `persona_id` utilisable dans les
        [générations musicales
        Suno](/fr/api-manual/audio-series/suno/suno-music-generation)
        ultérieures via les paramètres `persona_id` et `persona_model`

        - La version du modèle de la tâche source doit être **suno-v4 ou
        supérieur** (v3.5 non pris en charge)

        - Chaque chanson (result_id) ne peut créer **qu'un seul Persona**

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

        - Impossible de créer un nouveau Persona à partir d'une tâche Persona
      operationId: createSunoPersona
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SunoPersonaCreationRequest'
            examples:
              basic:
                summary: Création de base (paramètres obligatoires)
                value:
                  model: suno-persona
                  model_params:
                    source_task_id: task-unified-1774169216-ocqaqde7
                    result_id: 4fcc4507-a7ae-4441-ad8a-465c2f61d5bb
                    name: Electronic Pop Singer
                    description: >-
                      Modern electronic style with energetic beats and
                      synthesizer tones for dance music
              with_vocal_range:
                summary: Avec fenêtre d'extraction vocale
                value:
                  model: suno-persona
                  model_params:
                    source_task_id: task-unified-1774169216-ocqaqde7
                    result_id: 4fcc4507-a7ae-4441-ad8a-465c2f61d5bb
                    name: Jazz Vocalist
                    description: >-
                      Smooth jazz vocal style with warm tones and
                      improvisational flair suitable for lounge music
                    vocal_start: 15
                    vocal_end: 35
                    style: jazz
      responses:
        '200':
          description: Tâche de création de Persona soumise 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'
              examples:
                missing_params:
                  summary: Paramètres obligatoires manquants
                  value:
                    error:
                      code: invalid_request
                      message: model_params.source_task_id is required
                      type: invalid_request_error
                invalid_source:
                  summary: Tâche source invalide
                  value:
                    error:
                      code: invalid_request
                      message: >-
                        Source task does not exist or does not belong to the
                        current user: task-unified-xxx
                      type: invalid_request_error
                vocal_window:
                  summary: Fenêtre vocale invalide
                  value:
                    error:
                      code: invalid_request
                      message: >-
                        vocal_end - vocal_start must be between 10 and 30
                        seconds
                      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
        '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
components:
  schemas:
    SunoPersonaCreationRequest:
      type: object
      required:
        - model
        - model_params
      properties:
        model:
          type: string
          description: Nom du modèle, fixé à `suno-persona`
          enum:
            - suno-persona
          example: suno-persona
        model_params:
          type: object
          description: Paramètres de création de Persona
          required:
            - source_task_id
            - result_id
            - name
            - description
          properties:
            source_task_id:
              type: string
              description: >-
                Task ID d'une tâche de génération musicale Suno terminée


                **Comment l'obtenir :** Le champ `id` retourné par la requête de
                génération musicale


                **Exigences :**

                1. La tâche doit appartenir à l'utilisateur de la requête
                actuelle

                2. Le statut de la tâche doit être `completed`

                3. Le modèle de la tâche doit être de la série Suno (suno-v4 ou
                supérieur)

                4. Ne peut pas être une tâche de type `suno-persona`
              example: task-unified-1774169216-ocqaqde7
            result_id:
              type: string
              description: >-
                Identifiant unique de la chanson spécifique dans les résultats
                de la tâche source


                **Comment l'obtenir :** Via l'API [Consulter les détails de la
                tâche](/fr/api-manual/task-management/get-task-detail), trouvez
                le `result_id` de la chanson cible dans le tableau
                `result_data.songs[]`


                **Limitation :** Chaque `result_id` ne peut créer qu'un seul
                Persona, une création en double retournera une erreur
              format: uuid
              example: 4fcc4507-a7ae-4441-ad8a-465c2f61d5bb
            name:
              type: string
              description: >-
                Nom du Persona, utilisé pour l'identification et la référence
                ultérieure
              example: Electronic Pop Singer
            description:
              type: string
              description: Description du style musical du Persona
              example: >-
                Modern electronic style with energetic beats and synthesizer
                tones for dance music
            vocal_start:
              type: number
              description: >-
                Point de départ de l'extraction vocale (secondes)


                Doit être fourni en paire avec `vocal_end`, ne peut pas être
                fourni seul. La valeur doit être ≥ 0. La fenêtre d'extraction
                (`vocal_end - vocal_start`) doit être entre **10 et 30
                secondes**
              minimum: 0
              example: 10
            vocal_end:
              type: number
              description: >-
                Point de fin de l'extraction vocale (secondes)


                Doit être fourni en paire avec `vocal_start`, la valeur doit
                être strictement supérieure à `vocal_start`. La fenêtre
                d'extraction (`vocal_end - vocal_start`) doit être entre **10 et
                30 secondes**
              minimum: 0
              example: 30
            style:
              type: string
              description: >-
                Étiquette de style, pour annoter le style musical du Persona.
                Texte libre, aucun format obligatoire, les chaînes vides sont
                ignorées
              example: electronic pop
    AudioGenerationResponse:
      type: object
      properties:
        created:
          type: integer
          description: Horodatage de création de la tâche
          example: 1774170584
        id:
          type: string
          description: >-
            ID de tâche, utilisé pour interroger le statut et les résultats de
            la tâche
          example: task-unified-1774170584-su75smg7
        model:
          type: string
          description: Nom du modèle réellement utilisé
          example: suno-persona
        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: false
        estimated_time:
          type: integer
          description: Temps estimé d'achèvement (secondes)
          example: 15
    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: 1
        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

        ```

````