Introdução
O Video Sound Effects coloca uma trilha num clipe observando-o. Envie as imagens em video_url, descreva se quiser o que deve ser ouvido em prompt e escolha quantos segundos de som gerar com duration_seconds. A ferramenta gera efeitos e ambiência que acompanham a ação na tela e devolve a mesma imagem com essa faixa como áudio.
Recursos e destaques
Som que acompanha a imagem
A faixa é gerada a partir dos quadros, então impactos, passos, líquidos sendo servidos e trânsito passando caem onde acontecem no plano, e não num loop colocado por cima. Uma descrição curta orienta a paleta, da chuva no vidro ao cascalho sob os pés ou a uma cozinha movimentada, e o prompt negativo deixa de fora o que você não quer, como música ou vozes.
Duração escolhida, preço previsível
A duração pedida vai de um a trinta segundos e define tanto quanto dura o clipe entregue quanto quanto ele custa: você paga os segundos que pede, não o tempo de processamento. A imagem em si não muda, então enquadramento e resolução ficam exatamente como no clipe enviado.
Parâmetros da requisição
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
video_url | Sim | O clipe que vai ganhar som. A imagem fica como está. pelo menos 1 caracteres |
prompt | Não | Os sons que você quer, numa lista curta: chuva na janela, trânsito distante, passos no cascalho. pelo menos 1 caracteres · no máximo 1000 caracteres |
duration_seconds | Não | Quantos segundos de som gerar, de 1 a 30. O vídeo entregue é cortado nessa duração e esses segundos são cobrados mesmo que o clipe seja mais curto, então ajuste ao seu clipe. |
negative_prompt | Não | Sons a deixar de fora, como música, fala ou ruído de vento. no máximo 1000 caracteres |
ignore_visual_semantics | Não | Desligado por padrão: o modelo decide o que soa a partir da imagem e do seu prompt. Valor padrão: |
guidance_scale | Não | O quanto o som segue a sua descrição, de 0 a 20. O padrão serve para a maioria dos clipes; aumente um pouco se o resultado ignorar o prompt. |
steps | Não | Passadas de refinamento, de 4 a 50. Mais passadas levam mais tempo; o padrão é um bom equilíbrio. |
Preços
$0.0012 / segundo de saída
Cobrado por segundo de som pedido em duration_seconds, e não pela duração do seu clipe.
Casos de uso
Finalizar clipes de modelos de vídeo
A maioria dos vídeos gerados chega muda. Acrescentar ambiência e efeitos antes de publicar deixa o clipe pronto sem passar por uma biblioteca de sons nem por uma sessão de edição, e clipes curtos costumam voltar em menos de um minuto.
Som provisório para cortes e tomadas de produto
Um rascunho que roda em silêncio é difícil de avaliar. Dê aos primeiros cortes, aos clipes de comida e aos loops de produto uma base sonora convincente, e troque depois se a cena precisar de trilha.
Guia de prompt e dicas práticas
Descreva fontes, não climas
Liste o que faz barulho: o chiado da máquina de espresso, xícaras batendo e um burburinho baixo de café funcionam melhor que um clima aconchegante. Três ou quatro fontes bastam; listas longas se misturam num borrão.
Ajuste a duração ao clipe
Defina duration_seconds com a duração do clipe, arredondando para cima. Peça mais e você paga por segundos que nunca aparecem, porque o vídeo entregue termina onde o clipe termina; peça menos e o vídeo é cortado no que você pediu.
Deixe os ajustes finos para depois
guidance_scale define o quanto o som segue as suas palavras e steps o número de passadas de refinamento; os padrões servem para a maioria dos clipes. Aumente um pouco o guidance só quando o resultado ignorar o prompt, e conte com mais passos alongando o processo mais do que melhorando muito o som.
Início rápido da API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "spicyapi/foley-v1/video-to-audio",
"input": {
"duration_seconds": 8,
"video_url": "https://example.com/reference.mp4"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
Consulte a referência da API para autenticação, esquema completo, polling e tratamento de erros.




