API de Replace Section (substituição de trecho)

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

Descrição do endpoint

O Replace Section regenera no lugar um intervalo de tempo de uma música existente. Serve para corrigir uma linha da letra ou trocar um trecho.

Endpoint: POST /api/music/replace-section

Cobrança: Pago, atualmente ¥0,6 por chamada por padrão. O valor realmente cobrado segue a configuração de preços atual do back-office.

Max Mode / Variety: este endpoint aceita os parâmetros opcionais max_mode e variety (0-4). Com max_mode ligado, esta chamada é cobrada em 2× o preço (0,6 → 1,2 ¥ por chamada); variety não custa nada a mais. O que significam e como enviá-los está na seção "Parâmetros avançados" da Visão geral da nova API.

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.

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 body

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
audioId string sim - ID da música original
startSeconds number sim - Segundo inicial da substituição; aceita decimais. O trecho deve ter pelo menos 2 segundos
endSeconds number sim - Segundo final da substituição; aceita decimais. Deve ser maior que startSeconds e o intervalo deve ficar dentro da duração da música original
contextLyrics string sim - A letra completa da música inteira, usada como contexto de geração (grafia compatível prompt). Se não enviar, retorna 400
contextWindowLyrics string não igual a contextLyrics A letra em volta do trecho que será substituído (uma ou duas frases antes e depois bastam), usada na emenda; se omitida, usa-se contextLyrics
infillLyrics string não igual a contextLyrics A nova letra a colocar no lugar; se omitida, usa-se contextLyrics (equivale a cantar de novo aquele trecho com a letra original)
style string não - Tags de estilo
title string não - Título
negativeTags string não - Estilos excluídos
requestedAt number não - Timestamp da requisição

startSeconds e endSeconds estão em segundos e aceitam decimais; startSeconds deve ser menor que endSeconds e o intervalo deve ficar dentro da duração da música original. requestedAt só é usado quando você precisa enviar o horário da requisição, como timestamp Unix em segundos (não milissegundos); normalmente pode ser omitido.

A substituição também é uma tarefa assíncrona. O clip devolvido pode começar em pending, e o endereço de áudio vazio nesse momento é normal; use o song_id real devolvido para consultar o resultado final.

Comprimento do trecho: pelo menos 2 segundos (importante)

O intervalo a substituir não pode ser menor que 2 segundos. Medido: intervalos de 1,0 / 1,2 / 1,5 segundo falharam todos, enquanto 2,0 segundos ou mais funcionaram.

Quando o intervalo é curto demais, a plataforma não responde com um "erro de parâmetro", mas com uma mensagem fácil de interpretar mal:

{"error":{"message":"You don't have access to this model. Upgrade your plan to use it.",
          "type":"bad_response_status_code","code":"bad_response_status_code"}}

Essa frase não é problema de conta nem de plano — o trecho é curto demais. Alongue o intervalo para mais de 2 segundos e envie de novo.

Exemplo de requisição

curl -X POST https://www.suno-api.io/api/music/replace-section \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno-v6",
    "audioId": "clip_id",
    "startSeconds": 30,
    "endSeconds": 45,
    "contextLyrics": "letra completa de contexto",
    "contextWindowLyrics": "letra de contexto da janela",
    "infillLyrics": "letra da substituição",
    "style": "Mandopop, acoustic",
    "title": "Versão substituída",
    "negativeTags": "noise"
  }'

Resposta

{
  "code": 200,
  "message": "success",
  "data": {
    "clips": [
      {
        "song_id": "replace_clip_id",
        "song_title": "Versão substituída",
        "status": "pending"
      }
    ],
    "replaceTask": "infill",
    "clipId": "clip_id",
    "source_update": {}
  }
}

Campos compatíveis

PróximoAPI de adicionar instrumental

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