API de upload de áudio de origem

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

Descrição do endpoint

O upload de áudio de origem transforma um arquivo de áudio local ou remoto num clip de origem que as capacidades seguintes podem usar: cover, extensão, substituição de trecho, separação e outras.

Endpoint: POST /api/music/upload-source

Cobrança: Grátis. Este endpoint apenas envia o áudio de origem; não inicia nenhuma tarefa de geração.

Uso recomendado: é o passo 1 do «cover em duas etapas». Suba o áudio primeiro com este endpoint (é grátis e você pode tentar de novo sempre que falhar) e guarde o clip_id devolvido; depois de confirmar que o envio foi concluído (status em estado final), chame a API de cover a partir de um clip de origem para iniciar o cover — o corpo dessa requisição tem apenas algumas centenas de bytes, portanto não pode ser truncado em trânsito por o áudio ser grande demais. Em comparação com a API de uma só vez enviar e fazer cover, esta divisão é mais robusta quando o áudio é grande, a rede é instável ou o mesmo material será reutilizado várias vezes (extensão / substituição / separação).

Dicas para envio de arquivos grandes

Situação Abordagem recomendada
O áudio já é público (tem link direto https) Use file_url: o corpo da requisição tem apenas algumas centenas de bytes, a opção mais robusta
Arquivo local (Node / Python / desktop) Use envio multipart (-F "file=@source.mp3") e não defina Content-Type manualmente
Só é possível JSON + base64 Atenção: Content-Length deve ser a contagem de bytes (Buffer.byteLength), caso contrário o corpo pode ser truncado

Quando o envio terminar, confirme sempre que o status da resposta já é um estado final e guarde o clip_id antes de seguir para o passo 2; um envio que falha não é cobrado e não cria tarefa de geração, basta tentar de novo.

Parâmetros da requisição

Headers

Para requisições JSON:

Parâmetro Tipo Obrigatório Observações
Authorization string sim Bearer YOUR_API_KEY
Content-Type string sim application/json

Não defina Content-Type manualmente em requisições multipart; o cliente gera automaticamente.

Parâmetros do corpo

Parâmetro Tipo Obrigatório Padrão Observações
model string não suno-v6 Nome de modelo para o cliente: suno-v6, suno-v6-wild ou suno-v6-mini
file_url string não - URL do áudio remoto
file_base64 string não - Áudio em Base64
file_name string não - Nome do arquivo
upload_type string não file_upload Tipo de envio

Exemplo de requisição JSON

curl -X POST https://www.suno-api.io/api/music/upload-source \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno-v6",
    "file_url": "https://example.com/source.mp3",
    "file_name": "source.mp3",
    "upload_type": "file_upload"
  }'

Exemplo de requisição multipart

curl -X POST https://www.suno-api.io/api/music/upload-source \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@source.mp3" \
  -F "file_name=source.mp3" \
  -F "upload_type=file_upload" \
  -F "model=suno-v6"

Resposta

{
  "clip_id": "uploaded_clip_id",
  "status": "complete",
  "title": "source.mp3",
  "image_url": "https://...",
  "audio_url": "https://...",
  "display_tags": "pop, vocal",
  "inferred_description": "uploaded source audio",
  "clip_metadata": {}
}
PróximoAPI de upload reforçado

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