Texto para vídeo vs. imagem para vídeo: os cinco modos da API explicados
A maioria dos modelos de vídeo aceita mais do que um prompt. Você pode partir de uma imagem, fixar o primeiro e o último quadro, passar imagens de referência para personagens e produtos, ou trabalhar a partir de um clipe existente. Este guia explica cada modo, quando usá-lo e como chamá-lo.
Os cinco modos em resumo
Todos os modos usam o mesmo endpoint, POST /v1/generations. O que muda é a entrada que você envia junto com o prompt.
| Modo | O que você envia | Bom para |
|---|---|---|
| Texto para vídeo | a prompt | explorar ideias, b-roll, cenas para as quais você não tem imagens |
| Imagem para vídeo | um quadro inicial como image_url, mais um prompt | animar fotos de produto, arte e imagens estáticas com um visual exato |
| Primeiro e último quadro | image_url e end_image_url, mais um prompt | transições, revelações e tomadas que precisam terminar em uma imagem definida |
| Imagens de referência | várias imagens como image_urls, mais um prompt | manter personagens, produtos e lugares consistentes entre as tomadas |
| Vídeo para vídeo | um clipe de origem, mais um prompt | refazer o estilo ou retrabalhar uma filmagem que você já tem |
Nem todo modelo suporta todos os modos. A tabela de suporte abaixo cobre os modelos principais, e a página de cada modelo na página de modelos lista as suas tarefas.
Texto para vídeo
Texto para vídeo é o modo mais simples: você descreve a tomada e o modelo decide todo o resto, dos rostos e do cenário às cores e ao enquadramento. Essa liberdade é útil quando você está explorando ideias ou precisa de imagens genéricas, como b-roll, tomadas de estabelecimento ou fundos abstratos.
É o modo errado quando o vídeo precisa mostrar algo específico: seu produto, seu logo, uma pessoa em particular ou um layout que precisa seguir o guia de uma marca. Cada geração inventa esses detalhes do zero, então dois clipes do mesmo prompt não vão combinar.
Um bom prompt de texto cobre o assunto, a ação, o cenário, a câmera e a luz, e o som, se o modelo o gerar. Nosso guia do Seedance 2.0 traz mais dicas de prompt.
Imagem para vídeo
Com imagem para vídeo, a sua imagem vira o primeiro quadro. Tudo nela (o produto, o rosto, a composição e as cores) fica fixo no início, e o prompt só precisa descrever o que acontece depois. Este é o modo para animar fotos de produto, ilustrações e key art, e para qualquer tomada em que o visual precise ser exato.
Um fluxo comum é fazer primeiro a imagem estática com um modelo de imagem como o Nano Banana Pro ou o GPT Image 2, acertá-la e só então animá-la. É mais barato e mais rápido iterar em imagens estáticas do que em vídeo.
Aqui está uma requisição de imagem para vídeo para o Seedance 2.0: um clipe de 5 segundos em 720p com som, que custa $0.75. A proporção adaptive ajusta o quadro ao formato da sua imagem.
export REVANA_API_KEY="sr_live_..."
# 1. Submit the job (returns 202 with the generation id)
curl https://api.revana.si/v1/generations \
-H "Authorization: Bearer $REVANA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.0",
"input": {
"prompt": "The coffee in the cup starts to steam, and a hand reaches in from the right and lifts the cup off the table. Morning light, quiet cafe ambience.",
"image_url": "https://example.com/coffee.jpg",
"resolution": "720p",
"duration": 5,
"aspect_ratio": "adaptive",
"audio": true
},
"max_cost_usd": 2
}'
# 2. Poll with the id from step 1 until status is "succeeded" or "failed"
curl https://api.revana.si/v1/generations/gen_01JBX7Q2M4 \
-H "Authorization: Bearer $REVANA_API_KEY"import os
import time
import requests
API = "https://api.revana.si/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['REVANA_API_KEY']}"}
resp = requests.post(f"{API}/generations", headers=HEADERS, json={
"model": "seedance-2.0",
"input": {
"prompt": "The coffee in the cup starts to steam, and a hand reaches in from the right and lifts the cup off the table. Morning light, quiet cafe ambience.",
"image_url": "https://example.com/coffee.jpg",
"resolution": "720p",
"duration": 5,
"aspect_ratio": "adaptive",
"audio": True,
},
"max_cost_usd": 2,
})
resp.raise_for_status()
job = resp.json()
while job["status"] in ("queued", "running"):
time.sleep(5)
job = requests.get(f"{API}/generations/{job['id']}", headers=HEADERS).json()
if job["status"] == "succeeded":
print(job["output"]["urls"], job["cost_usd"])
else:
print("Failed:", job["error"])// Node 18 or later. Save as generate.mjs and run: node generate.mjs
const API = "https://api.revana.si/v1";
const headers = {
Authorization: `Bearer ${process.env.REVANA_API_KEY}`,
"Content-Type": "application/json",
};
const res = await fetch(`${API}/generations`, {
method: "POST",
headers,
body: JSON.stringify({
model: "seedance-2.0",
input: {
prompt: "The coffee in the cup starts to steam, and a hand reaches in from the right and lifts the cup off the table. Morning light, quiet cafe ambience.",
image_url: "https://example.com/coffee.jpg",
resolution: "720p",
duration: 5,
aspect_ratio: "adaptive",
audio: true,
},
max_cost_usd: 2,
}),
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
let job = await res.json();
while (job.status === "queued" || job.status === "running") {
await new Promise((r) => setTimeout(r, 5000));
job = await (await fetch(`${API}/generations/${job.id}`, { headers })).json();
}
if (job.status === "succeeded") console.log(job.output.urls, job.cost_usd);
else console.error("Failed:", job.error);Descreva o movimento, não a imagem: o modelo já consegue vê-la. "O vapor sobe e a xícara é levantada" funciona melhor do que repetir "uma xícara branca de café sobre uma mesa de madeira".
Primeiro e último quadros
Adicione end_image_url e o modelo gera o movimento entre duas imagens que você escolher. Como o final é fixo, este modo serve para transições entre cenas, tomadas de antes e depois, revelações de produto e clipes que precisam emendar direto no seguinte. Para um loop, experimente a mesma imagem nas duas pontas.
Os dois quadros devem ser finais plausíveis de uma mesma tomada: a mesma cena, o mesmo enquadramento e a mesma luz. Se forem diferentes demais, o modelo precisa inventar uma grande mudança em poucos segundos, e os resultados ficam menos previsíveis. Este clipe silencioso de 5 segundos em 1080p do Kling 3.0 custa $0.60:
{
"model": "kling-3.0",
"input": {
"prompt": "Time-lapse: the empty plot fills with a small wooden cabin as the camera holds still, clouds racing overhead",
"image_url": "https://example.com/plot-empty.jpg",
"end_image_url": "https://example.com/plot-cabin.jpg",
"resolution": "1080p",
"duration": 5,
"audio": false
},
"max_cost_usd": 1
}Seedance 2.5, Seedance 2.0, Seedance 2.0 Mini, Veo 3.1, Veo 3.1 Fast, Veo 3.1 Lite, Kling 3.0, Kling 3.0 Omni, Wan 3.0 e Grok Imagine Video 1.5 listam primeiro e último quadro no catálogo. O Hailuo 2.3 aceita um quadro inicial, mas não um final.
Imagens de referência
Imagens de referência não são quadros. O modelo as usa para aprender como é uma pessoa, um produto ou um lugar, e então os coloca em uma nova tomada descrita pelo prompt. Isso faz das referências o modo da consistência: o mesmo personagem em dez tomadas, ou o mesmo produto em cenários diferentes.
Envie as imagens como image_urls e refira-se a cada uma pela posição no prompt, por exemplo "a mulher da primeira imagem segura a bolsa da segunda imagem". O limite depende do modelo: o Seedance 2.5 aceita até 30, o Wan 3.0 aceita até 10, o Seedance 2.0 aceita até 9, o Seedance 2.0 Mini aceita até 9, o Veo 3.1 Fast aceita até 3 e o Veo 3.1 Lite aceita até 3. Nos modelos Seedance, envie quadros ou referências em uma requisição, não os dois.
Esta requisição de 8 segundos em 720p com som no Veo 3.1 Fast custa $0.80:
{
"model": "veo-3.1-fast",
"input": {
"prompt": "The man from the first image walks into the bakery from the second image, picks up a loaf and smiles at the camera. Bell over the door, quiet chatter.",
"image_urls": [
"https://example.com/man.jpg",
"https://example.com/bakery.jpg"
],
"resolution": "720p",
"duration": 8,
"aspect_ratio": "16:9",
"audio": true
},
"max_cost_usd": 1.5
}Vídeo para vídeo
Vídeo para vídeo parte de um clipe que você já tem. A origem guia o movimento e o tempo, e o prompt descreve o que deve mudar: um novo estilo, um novo cenário ou detalhes diferentes. Serve para refazer o estilo de filmagens reais, retrabalhar uma geração anterior ou manter uma atuação mudando o visual.
Entre os modelos deste guia, Seedance 2.5, Kling 3.0 Omni e Wan 3.0 listam vídeo para vídeo, e o Kling 3.0 Motion Control também trabalha a partir de um vídeo de origem. As entradas para um clipe de origem variam por modelo, então confira a página do modelo antes de construir sobre ele.
Jobs com entrada de vídeo têm preço diferente em alguns modelos. No Seedance 2.5, os segundos cobrados são a saída mais o clipe de entrada, a uma tarifa menor com entrada de vídeo: um clipe de 10 segundos em 720p feito a partir de uma origem de 10 segundos custa $3.00, contra $2.50 para o mesmo clipe feito a partir de um prompt. O Kling 3.0 Omni lista uma tarifa própria para jobs com entrada de vídeo, $0.13 por segundo em 720p.
Quais modelos suportam cada modo
Do catálogo da Revana em outubro de 2026:
| Modelo | Texto | Imagem | Primeiro e último | Referências | Vídeo |
|---|---|---|---|---|---|
| Seedance 2.5 | yes | yes | yes | yes | yes |
| Seedance 2.0 | yes | yes | yes | yes | no |
| Seedance 2.0 Mini | yes | yes | yes | yes | no |
| Veo 3.1 | yes | yes | yes | no | no |
| Veo 3.1 Fast | yes | yes | yes | yes | no |
| Veo 3.1 Lite | yes | yes | yes | yes | no |
| Kling 3.0 | yes | yes | yes | no | no |
| Kling 3.0 Omni | yes | yes | yes | yes | yes |
| Wan 3.0 | yes | yes | yes | yes | yes |
| Hailuo 2.3 | yes | yes | no | no | no |
| Grok Imagine Video 1.5 | yes | yes | yes | yes | no |
O modo muda o preço?
Quase nunca. Os modelos de vídeo são cobrados por segundos de saída, resolução e, em alguns modelos, som. Um clipe de 5 segundos em 720p do Seedance 2.0 custa $0.75 quer parta de um prompt, quer de uma imagem, e adicionar um quadro final ou imagens de referência não muda o preço do catálogo. A exceção é a entrada de vídeo, tratada acima.
O preço de cada job é reservado do seu saldo pré-pago quando você o envia e só é cobrado se o job tiver sucesso. A página de preços lista todas as tarifas.
Como escolher um modo
- Ainda sem materiais: comece com texto para vídeo, ou crie uma imagem estática com um modelo de imagem e anime-a.
- O visual precisa ser exato: imagem para vídeo, a partir de um quadro que você aprovou.
- O final importa: primeiro e último quadro.
- O mesmo personagem ou produto em várias tomadas: imagens de referência.
- Você já tem filmagem: vídeo para vídeo.
Um campo ou valor que o modelo não suporta é rejeitado com um 422 antes de qualquer cobrança, então um modo errado não custa nada. Referência completa dos campos: a documentação.
Pronto para testar? Obtenha uma chave de API e envie sua primeira requisição.
Perguntas frequentes
Qual é a diferença entre texto para vídeo e imagem para vídeo?
O texto para vídeo parte apenas de um prompt, então o modelo inventa tudo na cena. O imagem para vídeo usa a sua imagem como primeiro quadro, então o visual fica definido e o prompt só descreve o movimento.
Imagem para vídeo custa mais que texto para vídeo?
Não pelos preços do catálogo. Os modelos de vídeo são cobrados por segundos de saída, resolução e, em alguns modelos, som. Um clipe de 5 segundos em 720p do Seedance 2.0 custa $0.75 nos dois casos em outubro de 2026.
O que são primeiro e último quadro?
Você envia uma imagem inicial como image_url e uma imagem final como end_image_url, e o modelo gera o movimento entre elas. É útil para transições, revelações e loops.
Quantas imagens de referência posso enviar?
Depende do modelo: Seedance 2.5 até 30, Wan 3.0 até 10, Seedance 2.0 até 9, Seedance 2.0 Mini até 9, Veo 3.1 Fast até 3 e Veo 3.1 Lite até 3.
Posso combinar um quadro inicial com imagens de referência?
Não nos modelos Seedance: envie quadros ou referências em uma requisição, não os dois.
Quais modelos suportam vídeo para vídeo?
Entre os modelos principais, Seedance 2.5, Kling 3.0 Omni e Wan 3.0 listam vídeo para vídeo, assim como o Kling 3.0 Motion Control. A página de modelos lista as tarefas de cada modelo.
Teste todos os modos com uma só chave
Jobs de texto, imagem, quadro e referência usam a mesma requisição na Revana. Crédito pré-pago a partir de $10.