Herramientas de música

    Genera pistas musicales completas. Todos los trabajos de música son asíncronos: llama a generate_music y luego consulta get_music_status hasta que status sea completed (o failed).


    #Cómo elegir: simple vs avanzado

    La herramienta generate_music tiene dos modos excluyentes. El agente debe elegir uno según lo que pida el usuario.

    ModoCuándo usarloCómo lo decide la API
    SimpleIdea rápida en un solo texto: género, ambiente, instrumentos. Sin título fijo, etiquetas de estilo, letras ni género vocal.No establezcas title ni style (déjalos vacíos). Proporciona un prompt no vacío (máx. 400 caracteres).
    Avanzado (personalizado)El usuario quiere título, estilo (género/etiquetas), género vocal (o aleatorio), y o bien descripción o letras (no ambas), opcionalmente negative_tags (qué evitar).Establece tanto title como style como cadenas no vacías. vocal_gender es obligatorio (m, f o random). Usa exactamente uno de song_description o lyrics cuando no sea instrumental (ver abajo).

    Reglas:

    • Si ambos title y style están rellenados → modo avanzado (custom). prompt se ignora para el contenido; usa song_description / lyrics.
    • Si solo uno de title o style está definido → inválido; envía ambos o ninguno.
    • Si no hay título ni estilo → modo simple; prompt es obligatorio.

    Modo avanzado — descripción vs letras (no instrumental):

    • Elige uno: usa song_description o lyrics, nunca ambos. Enviar ambos se rechaza (no se concatenan).
    • Solo descripción: tema/ambiente/instrucciones para el modelo; deja lyrics vacío.
    • Solo letras: letras completas del usuario; deja song_description vacío.

    Modo avanzado — instrumental: pon instrumental: true y proporciona solo song_description; no envíes lyrics.

    Usa get_models con model_type=music para IDs de modelos y costes en créditos.


    #Modelos

    Valores de model admitidos (simple y avanzado): V4, V4_5, V4_5PLUS, V5, V5_5. Si se omite, aplica el valor por defecto de la plataforma (normalmente V5_5). No uses variantes como V4_5ALL.


    #generate_music

    #Parámetros modo simple

    ParámetroTipoObligatorioDescripción
    promptstringUna sola descripción de la música; máx. 400 caracteres.
    instrumentalbooleanNoSi true, solo instrumental (sin voz). Por defecto: false.
    modelstringNoV4, V4_5, V4_5PLUS, V5 o V5_5.

    No envíes title, style ni vocal_gender en modo simple (déjalos vacíos).

    Ejemplo — simple, con voz:

    {
      "prompt": "Canción pop alegre sobre el verano",
      "instrumental": false,
      "model": "V5_5"
    }
    

    Ejemplo — simple, instrumental:

    {
      "prompt": "Música orquestal épica de fondo",
      "instrumental": true
    }
    

    #Parámetros modo avanzado

    ParámetroTipoObligatorioDescripción
    titlestringTítulo de la canción; máx. 80 caracteres.
    stylestringEstilo / género / etiquetas; máx. 1000 caracteres.
    vocal_genderstringm, f o random (alias: male/female; random = elige el proveedor). En instrumental sigue siendo obligatorio en la API pero no aplica a la voz.
    song_descriptionstringXOR con lyricsDe qué trata la canción (tema, ambiente). Máx. 5000 caracteres. Omite si usas lyrics.
    lyricsstringXOR con song_descriptionLetras completas si el usuario las aportó. Máx. 5000 caracteres. Omite si usas song_description.
    instrumentalbooleanNoPor defecto false. Si true, solo song_description.
    negative_tagsstringNoEstilos o elementos a evitar; máx. 200 caracteres.
    style_weightnumberNoPor defecto 0.65 (como la web).
    weirdness_constraintnumberNoPor defecto 0.65.
    audio_weightnumberNoPor defecto 0.65.
    modelstringNoMismo conjunto que en modo simple.

    Requisito de contenido (avanzado, no instrumental): exactamente uno de song_description o lyrics debe estar relleno (el otro omitido o vacío).

    Ejemplo — avanzado solo con descripción:

    {
      "title": "Neon Midnight",
      "style": "synthwave, años 80, bajo pulsante, nostálgico",
      "vocal_gender": "random",
      "song_description": "Una canción sobre conducir de noche por la ciudad con reflejos de neón",
      "model": "V5_5"
    }
    

    Ejemplo — avanzado solo con letras:

    {
      "title": "Morning Light",
      "style": "folk acústico, guitarra suave, cálido",
      "vocal_gender": "f",
      "lyrics": "[Verso 1] ... [Estribillo] ..."
    }
    

    Respuesta: Incluye generation_id, status (p. ej. pending), a menudo estimated_time_seconds. Consulta con get_music_status.


    #get_music_status

    Comprueba el estado de una generación musical y obtén las URLs cuando termine.

    Parámetros:

    ParámetroTipoObligatorioDescripción
    generation_idstringID devuelto por generate_music.

    Respuesta: Incluye status, progress y al completarse un array songs. Cada canción suele tener id, title, audio_url, stream_url, cover_image_url, duration, lyrics, style.

    Consulta Limitaciones para límites de uso y créditos.