Áudio
AI Music Video audio
Generate a simple visualizer/music-video for a track.
Categoria: Música · suno-music-video
Como usar & limites
- Gera um clipe/visualizer em MP4 a partir de uma faixa de áudio (saída: vídeo).
- Entrada: URL do áudio de origem; prompt descreve o conceito visual.
- Cada faixa só permite um vídeo (uma nova chamada retorna erro).
- Use style para orientar a estética do visualizer.
Capacidades
O que este modelo suporta, direto do schema — sem preços, sem detalhes de infraestrutura.
| Capacidade | Valor |
|---|---|
music Música | Sim |
video_output Saída em vídeo | Sim |
max_prompt_length Tamanho máx. do prompt | 5000 |
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 | Descrição |
|---|---|---|---|---|---|---|---|
prompt | Prompt | textarea | Obrigatório | — | — | — | Descrição do conceito visual do clipe. |
audio_url | Source audio URL | url | Obrigatório | — | — | — | URL da faixa de áudio de origem. |
style | Style / genre | text | Opcional | — | — | — | Estilo/estética para orientar o visualizer. |
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-music-video",
"prompt": "Ondas de neon pulsando ao ritmo da música.",
"params": {
"style": "synthwave, neon"
}
}'
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-music-video",
"prompt": "Ondas de neon pulsando ao ritmo da música.",
"params": {
"style": "synthwave, neon"
}
}),
});
const { data } = await res.json();
Exemplo de resposta
{
"id": "9f0c1a7e-…",
"object": "generation",
"model": "suno-music-video",
"type": "audio",
"status": "completed",
"output": {
"assets": [
{
"url": "https://media.caranguejo.art/outputs/example.mp4",
"type": "video"
}
]
}
}
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. |