Saltar al contenido principal
POST
Referenciar la pista de origen: las operaciones basadas en canciones existentes no requieren recordar ningún id anterior; solo pasa task_id (el task_id nuestro de la tarea que produjo la pista de origen) + audio_index (qué canción dentro del resultado music[], basado en 1, por defecto 1).
custom no es obligatorio ni se infiere para extend — puedes omitirlo y la extensión funciona sin problema; si se pasa, se reenvía al proveedor tal cual. custom=true extiende siguiendo la letra de prompt; con custom=false u omitido puedes pasar gpt_description (prompt de inspiración) para guiar la dirección.

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).
task_id
string
requerido
El task_id nuestro de la tarea que produjo la pista de origen. Si falta o no se puede resolver la fuente, se devuelve un 400 en el momento del envío.
audio_index
integer
predeterminado:"1"
Qué canción dentro de data.music[] del resultado de la tarea de origen (basado en 1; por defecto 1; una generación suele producir 2 canciones: índices 1 y 2).
continue_at
integer
requerido
Desde qué segundo continuar la composición.
version
string
predeterminado:"v5.5"
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; por defecto v5.5 si no se pasa, y un valor no válido devuelve 400 directamente en el momento del envío.
custom
boolean
No hace falta pasarlo (no se exige para extend). true=extiende siguiendo la letra de prompt; false=extensión guiada por inspiración.
prompt
string
Letra para la extensión. Surte efecto cuando custom=true.
gpt_description
string
Prompt de inspiración. Surte efecto cuando custom=false o cuando no se pasa custom (guía la dirección de la extensión).
title
string
Título. Solo tiene efecto cuando custom=true.
tags
string
Etiquetas de estilo. Solo tiene efecto cuando custom=true.
negative_tags
string
Etiquetas de estilo a excluir. Solo tiene efecto cuando custom=true.
vocal_gender
string
Género de la voz: Male / Female. Funciona en ambos modos.
style_weight
number
Peso del estilo, 0.00-1.00 (los valores fuera de rango devuelven 400 directamente en el momento del envío). Solo tiene efecto cuando custom=true.
weirdness_constraint
number
Creatividad, 0.00-1.00 (alias weirdness). Solo tiene efecto cuando custom=true.
audio_weight
number
Peso del audio, 0.00-1.00. 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.
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 el audio_url extendido de data.result.music[]. 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