API de separação (voz e acompanhamento)

Atualizado em 2026-09-18 · equipe Suno-API

Descrição do endpoint

A separação divide uma música existente em voz, acompanhamento ou resultados multipista. O fluxo de integração recomendado é:

  1. Se o áudio de origem não for uma música gerada nesta plataforma, chame primeiro a API de upload de áudio de origem.
  2. Chame POST /api/music/separate para enviar a tarefa de separação.
  3. Consulte o resultado com a API de consulta e histórico de músicas.
  4. Use os endpoints de download para baixar o arquivo de áudio de cada resultado de separação.

Endpoint: POST /api/music/separate

Cobrança: Pago. stem_mode=two atualmente ¥0,6 por chamada por padrão; stem_mode=twelve é um split multipista e atualmente ¥3,0 por chamada por padrão. O valor realmente cobrado segue a configuração de preços do back-office.

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
song_id string sim - ID da música de origem a separar
stem_mode string sim - Modo de separação: two ou twelve
source_audio_url string não - URL do áudio de origem
source_file_name string não - Nome do arquivo de áudio de origem
source_title string não - Título da música de origem

Sobre stem_mode

Valor Entradas devolvidas Observações
two 4 Separação em duas faixas: voz + acompanhamento. Um envio produz 2 versões × 2 faixas
twelve 24 Split multipista: 2 versões × 12 faixas; os nomes das faixas estão na tabela abaixo

Sobre a separação

A separação é um recurso fixo e independente: não é preciso preencher nem escolher um modelo de geração de músicas. O cliente apenas envia a música de origem e stem_mode; o servidor cuida do resto conforme o modo.

De onde vêm os números: um envio produz 2 versões (dois resultados do mesmo material), então o número é 2 × as faixas desse modo: 4 para two e 24 para twelve. Guie-se sempre pelo comprimento real do array clips na resposta; não escreva um laço com número fixo (alguma faixa pode falhar e as bem-sucedidas são devolvidas normalmente).

Quais faixas cada modo devolve

As 12 faixas do modo twelve (os nomes são fixados pela plataforma; a ordem pode variar):

# Título da faixa Observações
1 (Vocals) Voz principal
2 (Backing Vocals) Harmonias / coros
3 (Drums) Bateria
4 (Bass) Baixo
5 (Guitar) Guitarra
6 (Keyboard) Teclados / piano
7 (Percussion) Percussão
8 (Strings) Cordas
9 (Synth) Sintetizador
10 (FX) Efeitos / ambiência
11 (Brass) Metais
12 (Woodwinds) Madeiras

O modo two devolve duas faixas, (Vocals) e (Instrumental), cada uma em 2 versões. Os títulos das faixas de two e twelve são nomes fixos (não trazem o nome da música de origem), então não espere descobrir de qual música se trata pelo título.

Os títulos das faixas não servem como chave única. Nas duas versões aparecem faixas com o mesmo nome (por exemplo duas (Vocals), duas (Strings)), e uma separação devolve muitas faixas. Use sempre song_id como identificador e song_title só para exibição; também não use índices do array (a ordem pode mudar).

Exemplos de requisição

Separação voz / acompanhamento (stem_mode: "two")

curl -X POST https://www.suno-api.io/api/music/separate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "song_id": "source_clip_id",
    "stem_mode": "two",
    "source_audio_url": "https://example.com/source.mp3",
    "source_file_name": "source.mp3",
    "source_title": "Source Song"
  }'

Split multipista (stem_mode: "twelve")

curl -X POST https://www.suno-api.io/api/music/separate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "song_id": "source_clip_id",
    "stem_mode": "twelve",
    "source_audio_url": "https://example.com/source.mp3"
  }'

Resposta

Em caso de sucesso costuma ser devolvido um array de resultados de separação. Cada resultado é um clip de música independente e precisa continuar sendo consultado até que status passe a um estado concluído.

{
  "code": 200,
  "message": "success",
  "data": {
    "clips": [
      {
        "song_id": "stem_clip_id_1",
        "song_title": "(Vocals)",
        "status": "pending",
        "generation_type": "separate",
        "created_at": "2026-06-06T10:00:00Z"
      },
      {
        "song_id": "stem_clip_id_2",
        "song_title": "(Instrumental)",
        "status": "pending",
        "generation_type": "separate",
        "created_at": "2026-06-06T10:00:00Z"
      }
    ]
  }
}

Acima são mostradas apenas 2 das 4 entradas do modo two; na prática são devolvidas 4 (2 versões × {(Vocals), (Instrumental)}); o modo twelve devolve 24. O número real é o comprimento do array clips.

Normalmente o cliente só precisa guardar clips[].song_id; as consultas e downloads seguintes giram em torno desses IDs.

Observações

Consultar os resultados de separação

Após um envio bem-sucedido, consulte os resultados com clips[].song_id via POST /api/music/query.

curl -X POST https://www.suno-api.io/api/music/query \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "song_ids": "stem_clip_id_1,stem_clip_id_2"
  }'

Exemplo de consulta concluída:

[
  {
    "song_id": "stem_clip_id_1",
    "song_title": "(Vocals)",
    "status": "complete",
    "audio_url": "https://...",
    "cover_url": "https://...",
    "duration": 180.5,
    "generation_type": "separate",
    "stem_from_id": "source_clip_id"
  }
]

Baixar arquivos de stems

Quando um resultado de separação está concluído, você pode baixar um arquivo de stem individual com o endpoint de download.

Endpoint: POST /api/music/download-file

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_1",
    "kind": "audio"
  }' \
  --output stem.mp3

kind aceita:

kind Observações
audio / song / music Baixar o áudio MP3
cover / image Baixar a capa
wav Baixar o áudio WAV
video / mp4 Baixar o vídeo

Para empacotar os recursos relacionados de um resultado de separação, chame:

curl -X POST https://www.suno-api.io/api/music/download-all \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "song_id": "stem_clip_id_1"
  }' \
  --output stem-resources.zip

Descrição dos status

Status Observações
pending Enviado, aguardando processamento
queued Na fila
generating / processing Em processamento
complete / completed Concluído
error / failed Falhou; veja error_message

Erros comuns

Status HTTP Observações Tratamento sugerido
400 Parâmetros errados, por exemplo falta de song_id ou stem_mode Verifique os parâmetros da requisição
401 A chave de API é inválida ou não foi enviada Verifique Authorization
402 Saldo insuficiente Recarregue e tente de novo
409 A música de origem não pode ser processada no momento Verifique song_id ou tente mais tarde
500/503 Anomalia temporária do serviço ou da plataforma Tente mais tarde ou fale com o suporte técnico

Notas de compatibilidade

A documentação antiga usava exemplos de objeto único como success/task_id/vocals_url/instrumental_url. A separação atual baseia-se no array de músicas clips[]: cada resultado de separação tem o seu próprio song_id, e as consultas e downloads seguintes giram em torno desses song_id.

Páginas relacionadas

PróximoAPI de remoção de voz

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