Saltar al contenido principal
POST
custom determina qué campos tienen efecto: los campos escritos en el modo incorrecto son ignorados silenciosamente por el upstream (sin error). Con custom=true (personalizado), tienen efecto prompt (letra), title, style, negative_tags, auto_lyrics, persona_id, style_weight, weirdness_constraint y audio_weight; con custom=false (inspiración), prompt se usa como descripción de inspiración, y title/style y los campos personalizados anteriores se ignoran. vocal_gender funciona en ambos modos.
Este endpoint usa una ruta independiente, por lo que algunos nombres de campo difieren de otros endpoints: style (no tags).

Authorizations

Authorization
string
requerido
Todas las interfaces requieren autenticación mediante Bearer TokenObtener la API Key:Visita la página de gestión de API Keys para obtener tu API KeyAl usarla, añade en la cabecera de la petición:

Body

model
string
predeterminado:"suno"
Modelo de audio. Actualmente se pasa suno (si no se pasa, por defecto suno).
custom
boolean
predeterminado:"false"
false = modo inspiración; true = modo personalizado (prompt se usa como letra). Por defecto false.
instrumental
boolean
predeterminado:"false"
true = solo instrumental, sin voz. Por defecto false.
version
string
requerido
Versión de generación: v3.5 / v4 / v4.5 / v4.5+ / v4.5-all / v5 / v5.5, afecta a la calidad de audio y a la facturación. Obligatorio en ambos modos; si se omite, se devuelve 400 directamente.
prompt
string
Prompt de inspiración / letra. Obligatorio cuando custom=false (se usa como descripción de inspiración). Cuando custom=true: obligatorio si instrumental=false (se usa como letra); opcional si instrumental=true. Si falta, se devuelve un 400 en el momento del envío (sin llamada al upstream, sin cargo).
title
string
Título (modo personalizado). Se ignora cuando custom=false (modo inspiración).
style
string
Etiquetas de estilo (modo personalizado, corresponde al tags del upstream). Se ignora cuando custom=false (modo inspiración).
negative_tags
string
Etiquetas de estilo negativas (estilos que no quieres). Solo tiene efecto cuando custom=true.
auto_lyrics
boolean
true = reescribir de forma creativa la letra proporcionada. Solo tiene efecto cuando custom=true.
persona_id
string
Id de estilo Persona. Solo tiene efecto cuando custom=true.
vocal_gender
string
Género de la voz: Male / Female (también se aceptan m / f / male / female, el backend los normaliza automáticamente). Funciona en ambos modos.
style_weight
number
Peso del estilo, 0.00-1.00. Solo tiene efecto cuando custom=true.
weirdness_constraint
number
Creatividad, 0.00-1.00. Solo tiene efecto cuando custom=true.
audio_weight
number
Peso del audio, 0.00-1.00. Solo tiene efecto cuando custom=true.
Obtener el resultado: esta interfaz es una tarea asíncrona. Tras enviarla obtienes un task_id; consulta GET /v1/music/tasks/{task_id} cada 3-5 s hasta que status sea completed o failed (la generación de música suele tardar 30-120 s; durante la generación, status es pending y progress avanza en cola 10 → listo 50 → completado 100). Al completarse, toma audio_url de data.result.music[] (también image_url / video_url / title / duration, etc.). En caso de fallo, data.error.message indica la razón y la cuota reservada se reembolsa automáticamente.

Response

code
integer
Código de estado de la respuesta
data
array
Array de datos devueltos