API de mashup
Descrição do endpoint
O mashup combina duas músicas já concluídas numa nova obra; a ordem das duas fontes é preservada.
Endpoint: POST /api/music/mashup
Cobrança: Pago, cobrado conforme o modelo solicitado; o valor realmente debitado segue a configuração de preços do back-office.
Max Mode / Variety: este endpoint aceita os parâmetros opcionais max_mode e variety (0-4). Com
max_mode ativado, esta chamada é cobrada pelo dobro do preço; variety não custa nada extra. O que significam e
como enviá-los está na seção "Parâmetros avançados" da Visão geral da nova API.
Modelo recomendado: suno-v6. suno-v6, suno-v6-wild e suno-v6-mini estão disponíveis.
Tempos de espera e timeouts (importante): este é um endpoint síncrono — o pedido só é aceito e entregue à geração quando a resposta chega. Pelo medido, a maioria das requisições responde em 1-3 segundos, cerca de 10% leva mais de 30 segundos e a mais longa fica em torno de 230 segundos. Defina o timeout do cliente em 300 segundos ou mais; não receber resposta não significa que nada foi gerado, e não repita logo após um timeout (isso duplica o pedido e cobra de novo). Se a conexão caiu, confirme depois com
GET /api/music/songs. Veja "Tempos de espera e configuração de timeout" na Visão geral da nova API.
Autenticação
| Parâmetro | Tipo | Obrigatório | Observações |
|---|---|---|---|
| Authorization | string | sim | Bearer YOUR_API_KEY |
| Content-Type | string | sim | application/json |
Parâmetros da requisição
| Parâmetro | Tipo | Obrigatório | Padrão | Observações |
|---|---|---|---|---|
| model | string | sim | - | Nome de modelo para o cliente: suno-v6, suno-v6-wild ou suno-v6-mini |
| mashup_clip_ids | array | sim | - | Exatamente dois song_id reais e distintos; a ordem é preservada |
| lyrics | string | não | - | Letra ou direção criativa |
| style_tags | string | não | - | Tags de estilo |
| song_title | string | não | - | Título do resultado |
| negative_tags | string | não | - | Tags de estilo negativas |
| instrumental | boolean | não | false | Se o resultado é instrumental |
| wait_completion | boolean | não | false | Se deve esperar mais tempo antes de responder |
Exemplo de requisição
curl -X POST https://www.suno-api.io/api/music/mashup \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-v6",
"mashup_clip_ids": ["source_song_id_a", "source_song_id_b"],
"style_tags": "electronic pop, energetic",
"song_title": "Versão mashup",
"wait_completion": false
}'
Resposta
{
"code": 200,
"message": "success",
"data": {
"clips": [
{
"song_id": "result_song_id",
"song_title": "Versão mashup",
"status": "pending"
},
{
"song_id": "result_song_id_2",
"song_title": "Versão mashup",
"status": "pending"
}
]
}
}
Uma chamada devolve 2 resultados (cobrados como 2 músicas); o exemplo mostra 2. Baseie-se no comprimento do array clips e não escreva um laço com número fixo. Salve clips[].song_id e faça polling na API de consulta de músicas até completed.
Observações
mashup_clip_idsdeve conter exatamente dois IDs de música reais e distintos.- As duas fontes precisam estar concluídas e acessíveis pela chave de API atual; se uma fonte não for acessível, um erro é devolvido antes da geração.
Obter uma chave de API
Crie uma chave de API no console após o cadastro. Cada geração custa ¥0,6 e devolve 2 faixas, os downloads são ilimitados e não é preciso número de telefone.
Obter chave de API Voltar à visão geral