> ## 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 Generación de música Beta

> - Modelo de generación de música Suno AI, soporta la generación de música completa basada en descripciones de texto o letras
- Soporta modo personalizado (control fino de estilo, título, letras) y modo simple (generación automática por IA)
- Soporta la función [Persona](/es/api-manual/audio-series/suno/suno-persona-creation), permite reutilizar características vocales/de estilo ya creadas
- Modo de procesamiento asíncrono, usa el ID de tarea devuelto para [consultar el estado](/es/api-manual/task-management/get-task-detail)
- Los enlaces de audio generados son válidos por 72 horas, guárdalos oportunamente
- Cada solicitud genera múltiples variaciones de música



## OpenAPI

````yaml es/api-manual/audio-series/suno/suno-music-generation.json POST /v1/audios/generations
openapi: 3.1.0
info:
  title: Suno Music Generation API
  description: >-
    Genera videos basados en imágenes de entrada. Soporta primer fotograma,
    último fotograma, imágenes de referencia, control de elementos, múltiples
    tomas y efectos de sonido. Basado en el modelo Kling AI kling-v3-omni.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: Entorno de producción
security:
  - bearerAuth: []
paths:
  /v1/audios/generations:
    post:
      tags:
        - Audio Generation
      summary: Suno Music Generation API
      description: >-
        - Modelo de generación de música Suno AI, soporta la generación de
        música completa basada en descripciones de texto o letras

        - Soporta modo personalizado (control fino de estilo, título, letras) y
        modo simple (generación automática por IA)

        - Soporta la función
        [Persona](/es/api-manual/audio-series/suno/suno-persona-creation),
        permite reutilizar características vocales/de estilo ya creadas

        - Modo de procesamiento asíncrono, usa el ID de tarea devuelto para
        [consultar el estado](/es/api-manual/task-management/get-task-detail)

        - Los enlaces de audio generados son válidos por 72 horas, guárdalos
        oportunamente

        - Cada solicitud genera múltiples variaciones de música
      operationId: createSunoMusicGeneration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SunoMusicGenerationRequest'
            examples:
              simple_mode:
                summary: Modo simple (Recomendado para principiantes)
                value:
                  model: suno-v5-beta
                  prompt: A cheerful summer pop song about road trips and freedom
              custom_mode_with_lyrics:
                summary: Modo personalizado (con letras)
                value:
                  model: suno-v5-beta
                  custom_mode: true
                  instrumental: false
                  style: pop, electronic, upbeat, female vocals, 120bpm
                  title: Summer Dreams
                  prompt: |-
                    [Verse 1]
                    Driving down the highway, windows down
                    The sun is shining on this little town
                    Radio playing our favorite song
                    Nothing could ever go wrong

                    [Chorus]
                    Summer dreams, summer nights
                    Chasing stars and city lights
                    With you by my side
                    I feel so alive
                  negative_tags: heavy metal, screaming, sad
                  vocal_gender: f
              custom_mode_with_persona:
                summary: Modo personalizado (con Persona)
                value:
                  model: suno-v5-beta
                  custom_mode: true
                  instrumental: false
                  style: electronic pop, synth wave, 128bpm
                  title: Soñadores de Neón
                  prompt: |-
                    [Verse]
                    Caminando bajo luces de neón
                    El pulso de la ciudad late en mi corazón
                    [Chorus]
                    Somos soñadores
                    Bailando bajo las estrellas
                  persona_id: 5c57d49ef834110496fae5aa14fec441
                  persona_model: voice_persona
              instrumental_mode:
                summary: Modo instrumental
                value:
                  model: suno-v4.5plus-beta
                  custom_mode: true
                  instrumental: true
                  style: lo-fi, chill, ambient, piano, soft drums
                  title: Rainy Afternoon
      responses:
        '200':
          description: Tarea de música creada exitosamente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AudioGenerationResponse'
        '400':
          description: Parámetros de solicitud inválidos
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: invalid_request
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: No autenticado, token inválido o expirado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: unauthorized
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: Cuota insuficiente, se requiere recarga
          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: Acceso denegado
          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: Límite de velocidad excedido
          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: Error interno del servidor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: internal_error
                  message: Internal server error
                  type: api_error
        '503':
          description: Servicio temporalmente no disponible
          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: >-
            Nombre del modelo


            **Compatibilidad hacia atrás:** Los nombres de modelos previamente
            integrados (p.ej. `suno-v5`, `suno-v4.5`, `suno-v4.5plus`,
            `suno-v4.5all`, `suno-v4`) siguen siendo compatibles y se mapean
            automáticamente a las versiones `-beta` correspondientes


            **Opciones disponibles:**

            - `suno-v5-beta`: Última versión V5 (Recomendada), compatible con
            Voice Persona, expresión musical superior, generación más rápida,
            prompt máx. `5000` caracteres, estilo máx. `1000` caracteres

            - `suno-v4.5plus-beta`: Versión mejorada V4.5+, tonos más ricos,
            nuevos métodos creativos, hasta 8 minutos, prompt máx. `5000`
            caracteres, estilo máx. `1000` caracteres

            - `suno-v4.5all-beta`: Versión completa V4.5, prompts más
            inteligentes, generación más rápida, hasta 8 minutos, prompt máx.
            `5000` caracteres, estilo máx. `1000` caracteres

            - `suno-v4.5-beta`: Versión V4.5, prompts más inteligentes,
            generación más rápida, hasta 8 minutos, prompt máx. `5000`
            caracteres, estilo máx. `1000` caracteres

            - `suno-v4-beta`: Versión V4, calidad vocal mejorada, hasta 4
            minutos, prompt máx. `3000` caracteres, estilo máx. `200` caracteres
          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: >-
            Habilitar modo personalizado


            **Descripción:**

            - `false`: Modo simple, solo proporciona `prompt`, la IA genera
            automáticamente letras y estilo

            - `true`: Modo personalizado, permite control fino de `style`,
            `title`, letras, etc.


            **Parámetros requeridos en modo personalizado:**

            - `style`: Requerido

            - `title`: Requerido

            - `prompt`: Requerido cuando `instrumental=false` (usado como
            letras)
          example: false
        instrumental:
          type: boolean
          description: >-
            Generar música usando modelos de Suno AI, compatible con modos vocal
            e instrumental
          example: false
        prompt:
          type: string
          description: >-
            Prompt que describe el contenido musical deseado


            **Modo no personalizado (`custom_mode=false`):**

            - Requerido, sirve como descripción musical, la IA genera
            automáticamente letras y estilo

            - Longitud máx.: `500` caracteres


            **Modo personalizado (`custom_mode=true`):**

            - Requerido cuando `instrumental=false`, se usa como letras exactas

            - Opcional cuando `instrumental=true`

            - Longitud máx.: `3000` caracteres para V4, `5000` caracteres para
            V4.5+


            **Sugerencias de formato de letras:**

            - Use etiquetas como `[Verse]`, `[Chorus]`, `[Bridge]` para
            organizar la estructura de las letras
          example: A cheerful summer pop song about road trips and freedom
        style:
          type: string
          description: >-
            Especificación de estilo musical


            **Descripción:**

            - Requerido en modo personalizado (`custom_mode=true`)

            - Define el género, estado de ánimo o dirección artística de la
            música

            - Se recomienda usar etiquetas separadas por comas en inglés


            **Límites de caracteres:**

            - V4: Máx. `200` caracteres

            - V4.5+: Máx. `1000` caracteres


            **Etiquetas de estilo comunes:**

            - Géneros: pop, rock, jazz, classical, electronic, hip-hop, r&b,
            country, folk

            - Estados de ánimo: happy, sad, energetic, calm, romantic, dark,
            uplifting

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

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

            - Tempo: slow, fast, upbeat, groovy, 120bpm
          example: pop, electronic, upbeat, female vocals
        title:
          type: string
          description: |-
            Título de la canción

            **Descripción:**
            - Requerido en modo personalizado (`custom_mode=true`)
            - Se mostrará en la interfaz del reproductor y el nombre del archivo
            - Longitud máxima: `80` caracteres
          maxLength: 80
          example: Summer Dreams
        negative_tags:
          type: string
          description: Expira en
          example: heavy metal, screaming
        vocal_gender:
          type: string
          description: >-
            Preferencia de género vocal


            **Opciones:**

            - `m`: Voz masculina

            - `f`: Voz femenina


            **Nota:**

            - Solo es efectivo cuando `custom_mode=true`

            - Este parámetro solo aumenta la probabilidad, no puede garantizar
            que se siga el género especificado
          enum:
            - m
            - f
          example: f
        style_weight:
          type: number
          description: >-
            Peso del estilo, controla la adherencia al estilo especificado


            **Rango:** `0.0` ~ `1.0`, un decimal


            **Descripción:**

            - Valores más altos resultan en mayor adherencia al estilo
            especificado

            - Un valor de `0` se trata como no establecido
          minimum: 0
          maximum: 1
          example: 0.7
        weirdness_constraint:
          type: number
          description: >-
            Restricción de rareza, controla el grado de
            creatividad/experimentación de la salida


            **Rango:** `0.0` ~ `1.0`, un decimal


            **Descripción:**

            - Valores más altos resultan en una salida más creativa y
            experimental

            - Valores más bajos resultan en una salida más tradicional y
            conservadora

            - Un valor de `0` se trata como no establecido
          minimum: 0
          maximum: 1
          example: 0.3
        audio_weight:
          type: number
          description: |-
            Peso del audio, controla el peso de las características del audio

            **Rango:** `0.0` ~ `1.0`, un decimal

            **Descripción:**
            - El valor `0` se trata como no establecido
          minimum: 0
          maximum: 1
          example: 0.5
        persona_id:
          type: string
          description: >-
            Persona ID, aplica el estilo de un Persona ya creado a esta
            generación de música


            Solo disponible cuando `custom_mode=true`. Se obtiene a través de la
            interfaz [Creación de Persona
            Suno](/es/api-manual/audio-series/suno/suno-persona-creation),
            permite mantener características vocales y de estilo consistentes


            **Cómo obtenerlo:** Una vez completada la tarea de creación de
            Persona, obtener de `result_data.persona_id`
          example: 5c57d49ef834110496fae5aa14fec441
        persona_model:
          type: string
          description: >-
            Modo de aplicación del Persona


            **Opciones:**

            1. `style_persona`: Orientado al estilo, enfatiza las
            características del estilo musical (arreglo, ritmo, tono),
            compatible con todas las versiones del modelo

            2. `voice_persona`: Orientado a la voz, enfatiza las características
            vocales (timbre, técnica vocal, registro), **solo compatible con
            V5**


            Solo disponible cuando `custom_mode=true`, generalmente se usa junto
            con `persona_id`. Al usar `voice_persona` el modelo debe ser
            `suno-v5-beta`, de lo contrario se devuelve un error
          enum:
            - style_persona
            - voice_persona
          example: style_persona
        callback_url:
          type: string
          description: >-
            URL de callback HTTPS para notificación de finalización de tarea


            **Etapas del callback:**

            - El proceso de callback tiene tres etapas: `text` (generación de
            texto), `first` (primera pista completada), `complete` (todo
            completado)

            - En algunos casos, las etapas `text` y `first` pueden omitirse,
            devolviendo `complete` directamente


            **Restricciones de seguridad:**

            - Solo se admite el protocolo HTTPS

            - Los callbacks a direcciones IP de red interna están prohibidos

            - La longitud de la URL no debe exceder `2048` caracteres


            **Mecanismo de callback:**

            - Tiempo de espera: `10` segundos

            - Máximo `3` reintentos en caso de fallo

            - La URL de callback que devuelve un código de estado 2xx se
            considera exitosa
          format: uri
          example: https://your-domain.com/webhooks/suno-callback
    AudioGenerationResponse:
      type: object
      properties:
        created:
          type: integer
          description: Marca de tiempo de creación de la tarea
          example: 1766319090
        id:
          type: string
          description: >-
            ID de tarea, utilizado para consultar el estado y los resultados de
            la tarea
          example: task-unified-1766319089-oqs9cue4
        model:
          type: string
          description: Nombre del modelo real utilizado
          example: suno-v5-beta
        object:
          type: string
          enum:
            - audio.generation.task
          description: Tipo de tarea
        progress:
          type: integer
          description: Porcentaje de progreso de la tarea (0-100)
          minimum: 0
          maximum: 100
          example: 0
        status:
          type: string
          description: Estado de la tarea
          enum:
            - pending
            - processing
            - completed
            - failed
          example: pending
        task_info:
          $ref: '#/components/schemas/AudioTaskInfo'
          description: Detalles de la tarea de audio
        type:
          type: string
          enum:
            - audio
          description: Tipo de salida de la tarea
          example: audio
        usage:
          $ref: '#/components/schemas/Usage'
          description: Información de uso y facturación
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Identificador del código de error
            message:
              type: string
              description: Descripción del error
            type:
              type: string
              description: Tipo de error
    AudioTaskInfo:
      type: object
      properties:
        can_cancel:
          type: boolean
          description: Si la tarea puede ser cancelada
          example: true
        estimated_time:
          type: integer
          description: Tiempo estimado de finalización (segundos)
          example: 120
    Usage:
      type: object
      description: Información de uso y facturación
      properties:
        billing_rule:
          type: string
          description: Regla de facturación
          enum:
            - per_call
            - per_token
            - per_second
          example: per_call
        credits_reserved:
          type: number
          description: Créditos estimados consumidos (basado en la duración del audio)
          minimum: 0
          example: 10
        user_group:
          type: string
          description: Categoría de grupo de usuario
          enum:
            - default
            - vip
          example: default
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ##Todas las APIs requieren autenticación Bearer Token##


        **Obtener API Key:**


        Visita la [Página de gestión de API
        Key](https://evolink.ai/dashboard/keys) para obtener tu API Key


        **Agregar al encabezado de la solicitud:**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````