Saltar para o conteúdo principal
POST
custom determina quais campos têm efeito: campos escritos no modo errado são ignorados silenciosamente pelo upstream (sem erro). Com custom=true (personalizado), têm efeito prompt (letra), title, style, negative_tags, auto_lyrics, persona_id, style_weight, weirdness_constraint e audio_weight; com custom=false (inspiração), prompt é usado como descrição de inspiração, e title/style e os campos personalizados acima são ignorados. vocal_gender funciona em ambos os modos.
Este endpoint usa uma rota independente, portanto alguns nomes de campos diferem de outros endpoints: style (não tags).

Authorizations

Authorization
string
obrigatório
Todos os endpoints exigem autenticação com Bearer TokenObter a API Key:Acesse a página de gerenciamento de API Key para obter sua API KeyAo usar, adicione ao cabeçalho da requisição:

Body

model
string
padrão:"suno"
Modelo de áudio. Atualmente passe suno (se não informado, o padrão é suno).
custom
boolean
padrão:"false"
false=modo inspiração; true=modo personalizado (prompt como letra). O padrão é false.
instrumental
boolean
padrão:"false"
true=música puramente instrumental, sem vocais. O padrão é false.
version
string
obrigatório
Versão de geração: v3.5 / v4 / v4.5 / v4.5+ / v4.5-all / v5 / v5.5, afeta a qualidade do áudio e a cobrança. Obrigatório em ambos os modos; se omitido, retorna 400 diretamente.
prompt
string
Prompt de inspiração / letra. Obrigatório quando custom=false (usado como descrição de inspiração). Quando custom=true: obrigatório se instrumental=false (usado como letra); opcional se instrumental=true. Se ausente, um 400 é retornado no momento do envio (sem chamada ao upstream, sem cobrança).
title
string
Título (modo personalizado). Ignorado quando custom=false (modo inspiração).
style
string
Tags de estilo (modo personalizado, corresponde ao tags do upstream). Ignorado quando custom=false (modo inspiração).
negative_tags
string
Tags de estilo negativas (estilos que você não quer). Só tem efeito quando custom=true.
auto_lyrics
boolean
true=reescrever criativamente a letra fornecida. Só tem efeito quando custom=true.
persona_id
string
Id de estilo Persona. Só tem efeito quando custom=true.
vocal_gender
string
Gênero vocal: Male / Female (também aceita m / f / male / female, normalizados automaticamente pelo backend). Funciona em ambos os modos.
style_weight
number
Peso do estilo, 0.001.00. Só tem efeito quando custom=true.
weirdness_constraint
number
Criatividade, 0.001.00. Só tem efeito quando custom=true.
audio_weight
number
Peso do áudio, 0.001.00. Só tem efeito quando custom=true.
Obter resultado: este endpoint é uma tarefa assíncrona. Após enviar, você recebe task_id; faça polling em GET /v1/music/tasks/{task_id} a intervalos de 3–5s, até que status seja completed ou failed (a geração de música normalmente leva 30–120s; durante a geração, status é pending e progress avança na fila 10 → pronto 50 → concluído 100). Ao concluir, pegue audio_url em data.result.music[] (também image_url / video_url / title / duration, etc.). Em caso de falha, data.error.message indica o motivo e a cota pré-reservada é automaticamente devolvida.

Response

code
integer
Código de status da resposta
data
array
Array de dados retornados