Saltar para o conteúdo principal
POST
Referenciar faixa de origem: a origem deve ser um áudio seu enviado via uploadTask; passe o task_id + audio_index dessa tarefa de upload (qual música dentro de music[] do resultado, baseado em 1, padrão 1). Usar uma faixa gerada como origem falha — você só pode referenciar faixas que você mesmo enviou.
custom determina quais campos surtem efeito: campos escritos no modo errado são silenciosamente ignorados pelo upstream (sem erro). Com custom=true, surtem efeito prompt (letra), title, tags, negative_tags, style_weight, weirdness_constraint e audio_weight, e gpt_description é ignorado; com custom=false, apenas gpt_description é lido (obrigatório nesse caso — se faltar, um 400 é retornado no momento do envio). vocal_gender funciona em ambos os modos. Se custom não for informado, o backend o infere nesta ordem: prompt presente → true; sem prompt mas com gpt_description presente → false; caso contrário, tags/title presente → true.

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).
task_id
string
obrigatório
O task_id do upload via uploadTask que contém a faixa de origem (deve ser uma faixa que você mesmo enviou; usar uma faixa de uma tarefa de geração como origem falha). Se ausente ou se a origem não puder ser resolvida, um 400 é retornado no momento do envio.
audio_index
integer
padrão:"1"
Qual música dentro de data.music[] do resultado da tarefa de origem (baseado em 1; padrão 1; uma geração normalmente produz 2 músicas: índices 1 e 2).
version
string
padrão:"v5.5"
Versão de geração: apenas v5 / v5.5; se não informado, o padrão é v5.5. Qualquer outro valor retorna 400 diretamente no momento do envio.
custom
boolean
true=modo personalizado (prompt usado como letra); false=modo inspiração (usa gpt_description); se não informado, é inferido a partir do conteúdo (veja o Warning acima).
prompt
string
Letra. Tem efeito quando custom=true (ignorado no modo inspiração).
gpt_description
string
Prompt de inspiração. Obrigatório quando custom=false — se faltar, a requisição falha com 400 no envio (o upstream não é chamado, nada é cobrado).
title
string
Título. Só tem efeito quando custom=true.
tags
string
Tags do estilo de destino. Só tem efeito quando custom=true.
negative_tags
string
Tags de estilo a excluir. Só tem efeito quando custom=true.
style_weight
number
Peso do estilo, 0.001.00 (valores fora do intervalo retornam 400 diretamente no momento do envio). Só tem efeito quando custom=true.
weirdness_constraint
number
Criatividade, 0.001.00 (alias weirdness). Só tem efeito quando custom=true.
audio_weight
number
Peso do áudio, 0.001.00. Só tem efeito quando custom=true.
vocal_gender
string
Gênero vocal: Male / Female. Funciona em ambos os modos.
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 o audio_url em data.result.music[]. 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