API de obtenção de MIDI
Descrição do endpoint
O endpoint MIDI converte em arquivo MIDI padrão as faixas que já têm stems, para arranjo, trabalho criativo posterior ou importação num DAW.
O Suno não fornece um endereço de download de arquivos MIDI; fornece apenas os dados de notas de cada faixa (altura, tempos de início e fim, intensidade). Este endpoint converte esses dados de notas num arquivo MIDI padrão (SMF format 1) e devolve-o diretamente, portanto o que recebe é sempre um .mid real que um DAW consegue abrir.
Endpoint: POST /api/music/download-file
Esta página é o exemplo específico de MIDI. A descrição completa da família de downloads (endereços de mídia, arquivo único, empacotamento, pré-visualização durante a geração) está na API de download e pré-visualização de mídia de músicas.
Cobrança: Grátis. Este endpoint lê os dados de notas de stems existentes e não desconta cota.
Parâmetros da requisição
Headers
| Parâmetro | Tipo | Obrigatório | Observações |
|---|---|---|---|
| Authorization | string | sim | Bearer YOUR_API_KEY |
| Content-Type | string | sim | application/json |
Parâmetros do corpo
| Parâmetro | Tipo | Obrigatório | Padrão | Observações |
|---|---|---|---|---|
| song_id | string | sim | - | O ID de uma única faixa após a separação (cada clip id devolvido por /api/music/separate) |
| kind | string | sim | - | Fixo em midi |
Exemplo de requisição
curl -X POST https://www.suno-api.io/api/music/download-file \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"song_id": "stem_clip_id",
"kind": "midi"
}' \
--output track.mid
Resposta
O corpo da resposta é o conteúdo binário do arquivo MIDI, não JSON.
| Cabeçalho de resposta | Valor |
|---|---|
| Content-Type | audio/midi |
| Content-Disposition | attachment; filename="<título da música>.mid" |
Obter um endereço de download
Se precisar primeiro do endereço e só depois descarregar (por exemplo para empacotar vários arquivos), chame primeiro:
curl -X POST https://www.suno-api.io/api/music/download-url \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"song_id":"stem_clip_id","kind":"midi"}'
{
"success": true,
"message": "",
"data": {
"song_id": "stem_clip_id",
"kind": "midi",
"url": "https://www.suno-api.io/api/music/download?song_id=stem_clip_id&kind=midi"
}
}
Esse endereço também exige o cabeçalho Authorization para ser acessível; sem chave de API devolve 401.
Sobre o arquivo MIDI
| Item | Valor | Observações |
|---|---|---|
| Formato do arquivo | SMF format 1 | 1 faixa de Tempo + 1 faixa por instrumento |
| Resolução temporal | 480 PPQ | 480 ticks por tempo |
| Andamento | 120 BPM | O Suno só dá segundos, não BPM, por isso é usado um andamento fixo para escrever a linha do tempo |
| Linha do tempo | 1 segundo = 960 ticks |
Corresponde um a um aos segundos que a plataforma devolve; mude o andamento no DAW conforme necessário |
| Intensidade | 0–127 | A plataforma entrega floats de 0–1; o endpoint já os converteu com ×127 |
| Bateria | Canal MIDI 10 | As faixas que a plataforma marca como bateria vão automaticamente para o canal de percussão |
Observações
- Só é válido para faixas que já têm stems:
song_idtem de ser um ID de faixa devolvido por/api/music/separate, não o ID da música original. - Um stem sem notas é um resultado normal: algumas faixas (por exemplo FX) não têm notas transcrevíveis; nesse caso é devolvido um arquivo MIDI válido sem notas em vez de um erro.
- O MIDI contém apenas informação de notas: volume, pan e efeitos não fazem parte do MIDI; define o timbre no próprio DAW.
- Peça cada faixa separadamente: um pedido devolve o
.midde uma faixa; para várias, chame cada uma ou use o download empacotado em lote do Create UI.
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