Saltar para o conteúdo principal
POST
Referenciar faixas de origem: mashup requer exatamente 2 faixas de origem — especifique-as via task_ids (um array de exatamente 2 dos seus task_id), com audio_indexes opcional (um array paralelo que indica qual item do music[] de cada tarefa, baseado em 1, padrão 1 para ambos).
custom determina quais campos têm efeito: campos preenchidos no modo errado são silenciosamente ignorados pelo upstream (sem erro). Com custom=true, prompt (letra), title, tags, negative_tags, auto_lyrics, style_weight, weirdness_constraint, audio_weight e persona_id têm efeito e gpt_description é ignorado; com custom=false, apenas gpt_description é lido (obrigatório nesse caso — se faltar, um 400 é retornado no 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_ids
string[]
obrigatório
Array dos seus task_id para as 2 faixas de origem (deve ser exatamente 2; qualquer outra quantidade retorna 400 diretamente no envio).
audio_indexes
integer[]
Array paralelo a task_ids, indicando qual item do music[] resultante de cada tarefa (baseado em 1, padrão 1).
instrumental
boolean
padrão:"false"
Se é puramente instrumental (true=sem vocais). Se não informado, o padrão é false (com vocais).
version
string
padrão:"v5.5"
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; padrão v5.5 se omitido, e um valor inválido retorna 400 diretamente no 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 aviso 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 de estilo. Só tem efeito quando custom=true.
negative_tags
string
Tags de estilo a excluir. Só tem efeito quando custom=true.
auto_lyrics
boolean
true=reescreve a letra fornecida de forma criativa. Só tem efeito quando custom=true.
style_weight
number
Peso do estilo, 0.001.00 (valores fora do intervalo retornam 400 diretamente no envio). Só tem efeito quando custom=true.
weirdness_constraint
number
Peso de criatividade, 0.001.00 (alias weirdness). Só tem efeito quando custom=true.
audio_weight
number
Peso de áudio, 0.001.00. Só tem efeito quando custom=true.
vocal_gender
string
Gênero vocal: Male / Female. Funciona em ambos os modos.
persona_id
string
Id de estilo Persona. 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 vai de enfileirado 10 → pronto 50 → concluído 100). Ao concluir, pegue audio_url em data.result.music[]. Em caso de falha, data.error.message indica o motivo e a cota pré-deduzida é automaticamente devolvida.

Response

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