Áudio
Extend Music audio
Continue an existing Suno song from a chosen timestamp. Same model_version as the source clip.
Categoria: Música · suno-extend-music
Capacidades
O que este modelo suporta, direto do schema — sem preços, sem detalhes de infraestrutura.
| Capacidade | Valor |
|---|---|
music Música | Sim |
max_prompt_length Tamanho máx. do prompt | 5000 |
source_audio_required Áudio de origem obrigatório | Sim |
Parâmetros
Campos aceitos em params (ou de primeira classe, quando aplicável) para POST /generations.
| Nome | Rótulo | Tipo | Obrigatório | Padrão | Opções | Mín / Máx |
|---|---|---|---|---|---|---|
continue_at_seconds | Continue At Seconds | number | Opcional | 60 | — | — |
audio_url | Source audio URL | url | Obrigatório | — | — | — |
style | Style / genre | text | Opcional | — | — | — |
model_version | Version | select | Opcional | v4_5 | v3_5 · v4 · v4_5 · v4_5plus | — |
prompt | Prompt | textarea | Obrigatório | — | — | — |
Exemplo de requisição
curl -X POST https://caranguejo.art/api/v1/dev/generations \
-H "Authorization: Bearer $CK" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-extend-music",
"prompt": "um caranguejo neon numa praia ao entardecer, estilo cinematográfico",
"params": {
"audio_url": "https://media.caranguejo.art/inputs/example.png",
"model_version": "v4_5",
"continue_at_seconds": 60
}
}'
const res = await fetch("https://caranguejo.art/api/v1/dev/generations", {
method: "POST",
headers: {
"Authorization": "Bearer " + process.env.CK,
"Content-Type": "application/json",
},
body: JSON.stringify({
"model": "suno-extend-music",
"prompt": "um caranguejo neon numa praia ao entardecer, estilo cinematográfico",
"params": {
"audio_url": "https://media.caranguejo.art/inputs/example.png",
"model_version": "v4_5",
"continue_at_seconds": 60
}
}),
});
const { data } = await res.json();
Exemplo de resposta
{
"id": "9f0c1a7e-…",
"object": "generation",
"model": "suno-extend-music",
"type": "audio",
"status": "completed",
"credits_charged": 40,
"output": {
"assets": [
{
"url": "https://media.caranguejo.art/outputs/example.mp3",
"type": "audio"
}
]
}
}
O custo real do job é retornado em credits_charged na resposta concluída — consulte GET /balance para o saldo da conta.
Erros comuns deste tipo de job:
insufficient_credits | Saldo insuficiente para cobrir o job. |
content_policy_violation | Prompt ou mídia recusados por política de conteúdo. |
generation_timeout | O job excedeu o tempo máximo de processamento. |
rate_limited | Limite de requisições por minuto excedido. |
invalid_input | Parâmetro obrigatório ausente ou fora do schema do modelo. |
generation_failed | Falha genérica no processamento do job. |