Seedance 2.5 de imagem para vídeo: guia da API
O Seedance 2.5 transforma uma imagem parada em um clipe de 4 a 30 segundos com som. Dê um primeiro quadro e o vídeo começa exatamente nessa imagem; dê um primeiro e um último quadro e ele vai de um ao outro. Veja a solicitação de cada caso, com código que você pode rodar.
Duas formas de começar a partir de uma imagem
| Modo | Campo | O que você recebe |
|---|---|---|
| Primeiro quadro | image_url | O clipe abre na sua imagem e segue a partir dela, como o prompt descreve. |
| Primeiro e último quadro | image_url + end_image_url | O clipe começa em uma imagem e termina na outra. A mesma imagem duas vezes faz um loop. |
| Imagens de referência | image_urls (até 30) | As imagens orientam o visual (um rosto, um produto, um lugar) sem fixar o primeiro quadro. Veja referência para vídeo. |
Animar uma imagem (primeiro quadro)
Defina aspect_ratio como adaptive e o vídeo mantém o formato da sua imagem, então uma foto 9:16 gera um clipe 9:16. Descreva o que se move, não o que já está na imagem: o modelo consegue ver a imagem.
# One Idempotency-Key per job, made once: resend with the same $KEY after a timeout, a 429 or a 5xx
KEY=$(uuidgen)
curl https://api.revana.si/v1/generations \
-H "Authorization: Bearer $REVANA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $KEY" \
-d '{
"model": "seedance-2.5",
"input": {
"prompt": "The model turns her head toward the camera and smiles as the wind lifts her hair, slow push-in, city traffic in the background",
"image_url": "https://example.com/portrait.jpg",
"duration": 6,
"resolution": "720p",
"aspect_ratio": "adaptive",
"audio": true
},
"max_cost_usd": 3
}'De uma imagem para outra (primeiro e último quadro)
Adicione end_image_url. Bom para transformações (antes e depois, dia para noite, um cômodo vazio para um mobiliado) e para loops perfeitos.
# One Idempotency-Key per job, made once: resend with the same $KEY after a timeout, a 429 or a 5xx
KEY=$(uuidgen)
curl https://api.revana.si/v1/generations \
-H "Authorization: Bearer $REVANA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $KEY" \
-d '{
"model": "seedance-2.5",
"input": {
"prompt": "Time-lapse: the empty plot becomes a finished house, workers moving fast, clouds racing",
"image_url": "https://example.com/plot.jpg",
"end_image_url": "https://example.com/house.jpg",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "adaptive"
},
"max_cost_usd": 3
}'A partir de um arquivo do seu computador, em Python
As referências precisam ser links https. Para um arquivo local, POST /v1/uploads devolve um link para fazer PUT dos bytes e um url para passar como image_url (válido por 14 dias). Imagens de até 30 MB.
import os, time, uuid, requests
API = "https://api.revana.si/v1"
H = {"Authorization": f"Bearer {os.environ['REVANA_API_KEY']}"}
# 1. Upload the picture from your computer (skip this if it already has a public https link).
up = requests.post(f"{API}/uploads", headers=H, json={"content_type": "image/jpeg", "bytes": os.path.getsize("product.jpg"), "filename": "product.jpg"}).json()
with open("product.jpg", "rb") as fh:
requests.put(up["upload_url"], data=fh, headers=up["upload_headers"]).raise_for_status()
# 2. Quote, then animate it. The clip starts on exactly this picture.
body = {"model": "seedance-2.5", "input": {
"prompt": "The bottle slowly turns on the marble counter as morning light sweeps across the label, water droplets glisten",
"image_url": up["url"], "duration": 5, "resolution": "720p", "aspect_ratio": "adaptive", "audio": True}}
quote = requests.post(f"{API}/generations/quote", headers=H, json=body).json()
print("price", quote["quoted_usd"])
key = str(uuid.uuid4()) # made once: resend with the same key after a timeout, a 429 or a 5xx
job = requests.post(f"{API}/generations", headers={**H, "Idempotency-Key": key},
json={**body, "max_cost_usd": quote["reserved_usd"]}).json()
# 3. Wait, then download.
while job["status"] in ("queued", "running"):
time.sleep(5)
job = requests.get(f"{API}/generations/{job['id']}", headers=H).json()
if job["status"] == "succeeded":
open("product.mp4", "wb").write(requests.get(f"{API}/generations/{job['id']}/content", headers=H).content)Quanto custa imagem para vídeo
A mesma tarifa por segundo do texto para vídeo: 480p $0.09 · 720p $0.21 · 1080p $0.52, som incluído. Um primeiro quadro pode somar um pouco à tarifa listada, então o endpoint de cotação (grátis) informa o preço exato de cada solicitação; passe o reserved_usd dele como max_cost_usd. Gerações com falha não são cobradas. Calculadora de preços.
Prompts que funcionam para imagem para vídeo
- Diga o que muda. “Ela se vira e sai do quadro” funciona melhor do que descrever a mulher que já está na foto.
- Um movimento de câmera. Aproximação lenta, órbita, pan para a esquerda ou câmera fixa. Dois movimentos ao mesmo tempo em um clipe curto tendem a brigar.
- Mantenha a luz. Mencione a luz que está na imagem (“luz quente de janela”) para o clipe não mudar de visual.
- Adicione o som. O Seedance 2.5 gera o som junto com a imagem: “passos no cascalho, um trem ao longe”.
- Use uma imagem limpa e nítida com formato próximo ao da saída. Textos e logotipos na imagem podem se deformar com o movimento; adicione-os no seu editor.
Mais exemplos no guia de prompts do Seedance 2.5.
Outros modelos de imagem para vídeo com a mesma chave
| Modelo | Duração | Resoluções | Primeiro e último quadro | 720p por segundo com som |
|---|---|---|---|---|
| Seedance 2.5 | 4–30 s | 480p, 720p, 1080p | Sim | $0.21 |
| Seedance 2.0 | 4–15 s | 480p, 720p, 1080p, 4K | Sim | $0.15 |
| Kling 4.0 | 3–30 s | 720p, 1080p | Sim | $0.18 |
| Kling 3.0 | 3–15 s | 720p, 1080p, 4K | Sim | $0.13 |
| Veo 3.1 | 4, 6, 8 s | 720p, 1080p, 4K | Sim | $0.40 |
| Wan 3.0 | 2–30 s | 480p, 720p, 1080p | Sim | $0.07 |
| MiniMax H3 | 4–15 s | 768p, 2K | Sim | $0.03 (768p) |
FAQ
O Seedance 2.5 faz imagem para vídeo?
Sim. Envie image_url para um primeiro quadro, ou image_url e end_image_url para primeiro e último quadro, na mesma solicitação POST /v1/generations do texto para vídeo. Os clipes têm de 4 a 30 segundos com som.
Quanto custa a imagem para vídeo do Seedance 2.5?
480p $0.09 · 720p $0.21 · 1080p $0.52 por segundo com som na Revana. Um primeiro quadro pode somar um pouco; o endpoint de cotação grátis informa o preço exato.
Quais formatos e tamanhos de imagem funcionam?
Qualquer link https público para uma imagem JPEG, PNG ou WebP, ou um arquivo enviado com POST /v1/uploads (imagens de até 30 MB).
O vídeo vai manter a proporção da minha imagem?
Sim, com aspect_ratio em adaptive: o clipe assume o formato do primeiro quadro.
Dá para fazer um loop perfeito?
Sim: passe a mesma imagem como image_url e end_image_url e descreva um movimento que volte ao início.
Crie seu primeiro vídeo com o Seedance 2.5
Uma única chave de API para o Seedance 2.5 e todos os outros modelos de vídeo e imagem. Crédito pré-pago a partir de $10, crédito grátis de cadastro, sem assinatura e só os clipes entregues são cobrados.