Skip to main content
POST
Referencia del audio de origen: no hacen falta IDs adicionales para pistas basadas en canciones existentes. Envía la task_id de la tarea de origen y audio_index para elegir en data.result.music[] (desde 1, valor predeterminado 1).
custom determina qué campos se utilizan. Todos los valores enviados deben cumplir los requisitos de tipo, intervalo y longitud, aunque el campo no se use en el modo seleccionado. Con custom=true, prompt contiene la letra y puede ser obligatorio cuando instrumental=false, según las condiciones siguientes. Con custom=false, gpt_description es obligatorio. Si se omite custom, el backend deduce el modo a partir de prompt, gpt_description, tags y title.

Authorizations

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

string
predeterminado:"suno"
Modelo de audio. Actualmente se pasa suno (si no se pasa, por defecto suno).
string
requerido
El task_id de la tarea de origen. Debe identificar una tarea de carga uploadTask. Si falta, no corresponde a una tarea de carga o no se puede resolver el origen, la solicitud devuelve 400 al enviarse.
integer
predeterminado:"1"
Selecciona una pista de data.result.music[] de la tarea de origen (desde 1; 1 es la primera y el valor predeterminado).
number
requerido
Punto de inicio del muestreo (segundos; se asigna al chop_sample_start_s del proveedor). Si falta, devuelve 400 de inmediato sin llamar al proveedor.
number
requerido
Fin de la muestra en segundos. Debe cumplir 0 ≤ start_s < end_s y no superar la duración conocida.
boolean
predeterminado:"false"
Si es puramente instrumental (true=sin voces); si no se pasa, por defecto false (con voces).
string
predeterminado:"v6"
Versión pública: v6 / v6-wild / v6-mini. Valor predeterminado v6; omítelo al usar custom_model_id.
string
UUID completo devuelto por la tarea de creación del modelo. Incompatible con version.
boolean
true=modo personalizado (prompt se usa como letra); false=modo inspiración (usa gpt_description); si no se pasa, se infiere del contenido (ver la advertencia anterior).
string
Obligatorio de forma condicional: proporciona la letra cuando custom=true && instrumental=false. El campo no se usa en el modo de inspiración, pero cualquier valor enviado debe respetar el límite de longitud.
string
Prompt de inspiración. Obligatorio cuando custom=false — si falta, la petición falla con 400 en el envío (no se llama al proveedor y no se cobra nada).
string
Título. Solo surte efecto cuando custom=true.
string
Etiquetas de estilo. Solo surte efecto cuando custom=true.
string
Etiquetas de estilo a excluir. Solo surte efecto cuando custom=true.
boolean
true=reescribe la letra proporcionada de forma creativa. Solo surte efecto cuando custom=true.
number
Peso de estilo, 0.001.00 (los valores fuera de rango devuelven 400 directamente en el momento del envío). Solo surte efecto cuando custom=true.
number
Peso de creatividad, de 0.00 a 1.00. weirdness_constraint es un alias de compatibilidad; usa weirdness en solicitudes nuevas.
number
Peso de audio, 0.001.00. Solo surte efecto cuando custom=true.
string
Género vocal: Male / Female. Funciona en ambos modos.
string
Variación de estilo: off / normal / high / extra / max. Opcional.
boolean
predeterminado:"false"
Activa el modo Max. Requiere modo personalizado y se factura al doble del precio estándar.
string
Formato de audio de salida: mp3 / m4a / wav. Este endpoint no admite un campo de duración objetivo.
La tarea de origen debe ser una carga uploadTask. start_s y end_s son obligatorios; el servicio no rellena valores como 0 o 60.
Obtener resultado: consulta la tarea asíncrona hasta que termine. La generación suele tardar 30–120 segundos. Lee audio_url de data.result.music[]; si falla, el importe descontado se reembolsa automáticamente.

Response

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