Loading...
Loading...
Nível Veo 3.1 mais rápido e econômico, com texto em vídeo, imagem em vídeo, referência em vídeo e transições entre quadro inicial e final.
Entre para executar modelos
No output yet
Run the model to see generated results.
import requests
result = requests.post(
'https://api.e2x.ai/v1/jobs/submit',
headers={
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
},
json={
'model': 'google/veo-3.1-fast/reference-to-video',
'input': {}
}
)import time
job_id = result.json()['jobId']
while True:
response = requests.get(
f'https://api.e2x.ai/v1/jobs/{'{job_id}'}',
headers={'Authorization': f'Bearer {'{API_KEY}'}'}
)
data = response.json()['data']
if data['status'] == 'completed':
print('Done!', data['outputs'][0]['url'])
break
elif data['status'] == 'failed':
raise Exception(f"Job failed: {'{'}data['error']['message']{'}'}")
time.sleep(2)Custo estimado por geração de acordo com duração e resolução. Você só paga pelo que executar.
Este é o endpoint que você usa quando o mesmo rosto, a mesma jaqueta ou a mesma fachada de loja precisa sobreviver a um batch inteiro de clipes. Rodamos o Veo 3.1 Fast do Google como google/veo-3.1-fast/reference-to-video, ele aceita um array image_urls com até três imagens de referência, e cobramos por segundo: $0.01 por segundo, ×1.5 com áudio ligado. Todo clipe aqui tem 8 segundos, então o preço é $0.12 por clipe em 720p com som.
Uma imagem já resolve, e um clipe mais curto ajudaria? Use o Veo 3.1 Fast image-to-video — ele anima um único frame inicial e te dá 4 ou 6 segundos. Nada para subir? O Veo 3.1 Fast text-to-video roda só com o prompt.
A cobrança por segundo é universal neste modelo — Google, fal.ai e Replicate fazem assim, e nós também. Como reference-to-video é fixo em 8 segundos, a tabela abaixo é a única configuração que importa. Números checados em 26 de agosto de 2026, em 720p com áudio:
| Provider de API | Cobrança | Taxa (720p, áudio ligado) | Clipe de 8 segundos | vs. nós |
|---|---|---|---|---|
| E2X (atual) | por segundo | $0.01/s ×1.5 áudio | $0.12 | — |
| Google Gemini API | por segundo | $0.10/s | $0.80 | 6,7× o nosso preço |
| fal.ai | por segundo | $0.15/s | $1.20 | 10× o nosso preço |
| Replicate | por segundo | $0.15/s | $1.20 | 10× o nosso preço |
| Preço de tabela da E2X (sem desconto) | por segundo | $0.10/s ×1.5 | $1.20 | nossa taxa sem desconto |
Leia a última linha contra os dois marketplaces. Nosso preço de tabela é $1.20 para um clipe de 8 segundos — exatamente o que a fal.ai e a Replicate cobram. Hoje você paga um décimo disso, e mesmo assim fica 6,7× abaixo da API do próprio Google. Essa diferença é um desconto ativo sobre um modelo idêntico, não um tier capado.
Calcule 1080p de propósito: a fal.ai e a Replicate incluem o salto de 720p → 1080p sem custo extra, enquanto o Google cobra uma taxa por segundo mais alta. Do nosso lado a resolução também é um multiplicador — o número atual está no llms.txt deste modelo.
Os preços e as condições dos produtos podem mudar. Verifique o preço atual de cada provider antes de tomar uma decisão de compra. O preço do Google Batch ou Flex não é diretamente equivalente a um request de API on-demand padrão, porque as condições de agendamento, disponibilidade e processamento são diferentes; por isso ele ficou fora desta comparação. Esta é uma comparação de escopo limitado, não uma afirmação de que a E2X é a opção mais barata do mundo em qualquer configuração.
O limite do Google é explícito: "Use até três imagens de referência para guiar o conteúdo", descrito no schema deles como "Até três imagens a serem usadas como referências de estilo e conteúdo." Três. Uma quarta está fora do que o modelo aceita.
Esse orçamento força uma decisão, e é justamente a parte interessante deste endpoint. Você gasta três slots com aquilo que não pode variar. Uma gravação de campanha costuma ir assim: um retrato limpo do apresentador, um plano de corpo inteiro mostrando o figurino, uma foto do local. Aí todo clipe do conjunto volta com a mesma pessoa, a mesma roupa, o mesmo lugar — você muda só o prompt.
Trabalho de produto se divide de outro jeito: dois ângulos do objeto, um frame do tratamento de cor da marca. Mesmo princípio. As referências carregam identidade, o prompt carrega ação.
Isso não é trabalho do image-to-video. Lá, a sua imagem é o frame um. Aqui as referências são orientação e o frame de abertura é gerado a partir delas. Precisa de um clipe que comece num still exato, já aprovado? Esse é o outro endpoint.
A regra do Google diz que a duração "Deve ser '8' ao usar extension, imagens de referência ou com as resoluções 1080p e 4k." Imagens de referência estão nessa lista, então as opções de 4 e 6 segundos que os outros dois endpoints oferecem não existem aqui. Nosso schema continua mostrando o enum duration; para esta capability o único valor válido é "8".
Faça o orçamento com isso em mente. Uma sequência de seis clipes dá 48 segundos de saída — $0.72 conosco, $7.20 na fal.ai ou na Replicate.
Campos obrigatórios: prompt e image_urls.
curl -X POST https://api.e2x.ai/v1/jobs/submit \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/veo-3.1-fast/reference-to-video",
"input": {
"prompt": "A mulher da imagem 1, vestindo o casaco da imagem 2, entra no lobby da imagem 3 e sacode a chuva do corpo. Ela olha para cima e diz: \"Você esperou.\" Luz quente de tungstênio, eco de mármore.",
"image_urls": [
"https://example.com/talent-portrait.jpg",
"https://example.com/wardrobe-coat.jpg",
"https://example.com/lobby-set.jpg"
],
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": "8",
"has_sound": "true"
}
}'
O submit devolve um ID de job; faça polling nele ou registre um webhook:
const headers = {
Authorization: `Bearer ${process.env.E2X_API_KEY}`,
"Content-Type": "application/json",
};
const submitted = await fetch("https://api.e2x.ai/v1/jobs/submit", {
method: "POST",
headers,
body: JSON.stringify({
model: "google/veo-3.1-fast/reference-to-video",
input: {
prompt:
"O mascote da imagem 1 pula no balcão da imagem 2, derruba uma xícara e congela. Passos rangendo, um tinido de cerâmica, depois silêncio.",
image_urls: [
"https://example.com/mascot-turnaround.png",
"https://example.com/kitchen-set.jpg",
],
aspect_ratio: "9:16",
resolution: "720p",
duration: "8",
has_sound: "true",
seed: 60411,
},
}),
}).then((r) => r.json());
const jobId = submitted.data.jobId;
while (true) {
const job = await fetch(`https://api.e2x.ai/v1/jobs/${jobId}`, { headers })
.then((r) => r.json());
if (job.data.status === "completed") {
console.log(job.data.outputs[0].url);
break;
}
if (job.data.status === "failed") {
throw new Error(job.data.error?.message || "Generation failed");
}
await new Promise((r) => setTimeout(r, 5000));
}
O status vai de pending → processing → completed, ou termina em failed / cancelled. Conte com cerca de quatro minutos por job — a janela oficial do Google é um piso de 11 segundos e 6 minutos no pico. Reutilize um mesmo seed em todo o conjunto se quiser que as gerações rimem.
Pesos idênticos, preço por segundo idêntico. O formato da sua entrada escolhe o endpoint:
| Endpoint | Opções de duração | Clipe de 8s, 720p + áudio | Escolha quando |
|---|---|---|---|
| Veo 3.1 Fast reference-to-video | só 8s | $0.12 | Até 3 imagens precisam fixar um rosto, um figurino ou um lugar entre clipes |
| Veo 3.1 Fast image-to-video | 4 / 6 / 8s | $0.12 | Um still precisa ser literalmente o primeiro frame |
| Veo 3.1 Fast text-to-video | 4 / 6 / 8s | $0.12 | Só prompt, nada para subir |
| Omni Flash reference-to-video | — | $0.80 (config padrão) | Outra família, quando o visual do Veo não é o que você quer |
Preferimos que você gaste menos. Se uma imagem já resolve, o image-to-video custa o mesmo e libera clipes de 4 e 6 segundos — uma versão de 4 segundos sai por $0.06, metade dos 8 segundos fixos que você paga aqui. Venha para este endpoint quando a consistência entre vários clipes for o requisito de verdade, porque é a única coisa que os outros não fazem. O resto da categoria está em reference-to-video; todo o resto está no catálogo de modelos.
O modelo recebe um array sem rótulos. Nada no payload diz que o slot dois era figurino e não um segundo personagem — então diga isso no prompt.
Indexar funciona: "a mulher da imagem 1", "o casaco da imagem 2", "o lobby da imagem 3". Poucas palavras, e boa parte da ambiguidade que produz saídas trocadas desaparece.
Mais três hábitos:
Dê um único trabalho a cada referência. Uma foto cheia, com uma pessoa, um produto e um cômodo, pede que o modelo adivinhe o que importava para você. Corte apertado.
Repita a identidade em palavras. "Mesmo cabelo prateado curto, mesmos óculos redondos" reforça o que a referência mostra. Seguro barato.
Escreva o diálogo por extenso. O Google gera áudio nativamente e não há botão para desligar isso na API deles, então o som vai acontecer de qualquer jeito — fala, efeitos, ambiência. Escreva a fala entre aspas e ela cai nos frames certos.
O Google dá suporte completo ao inglês e não avaliou nenhum outro idioma neste modelo, então mantenha o texto de instrução em inglês — o diálogo entre aspas pode estar no idioma que a cena pedir.
Dois dias para baixar. A retenção do Google para vídeo gerado é de dois dias — "você precisa baixar seu vídeo em até 2 dias após a geração." Para uma campanha de vinte clipes montada ao longo de uma semana, isso é uma decisão de arquitetura, não uma nota de rodapé. Copie outputs[0].url para o seu próprio storage no instante em que o job completa.
SynthID em toda saída. O watermark imperceptível do Google é aplicado a todo vídeo do Veo e é verificável pela plataforma deles. Nenhum provider consegue desligar.
A geração de pessoas tem limite regional. Na UE, no Reino Unido, na Suíça e no MENA, personGeneration fica restrito a allow_adult.
Versione seu conjunto de referências. A consistência depende de enviar referências byte a byte idênticas toda vez. Um retrato reexportado que entra no meio de um batch vai aparecer.
Cobramos $0.01 por segundo de saída, ×1.5 com áudio ligado. Este endpoint é fixo em 8 segundos, então um clipe 720p com som custa $0.12. Resoluções maiores têm o próprio multiplicador — confira a página do modelo ao vivo antes de planejar um batch em 1080p.
Três, no máximo. A documentação do Google diz que você pode usar até três imagens de referência para guiar o conteúdo, e o schema deles as descreve como referências de estilo e conteúdo. Menos que isso está ok; duas é comum.
O Google exige 8 segundos sempre que há imagens de referência em jogo — a mesma regra que cobre 1080p e 4k. Precisa de 4 ou 6 segundos? Use o endpoint image-to-video ou text-to-video: mesmo modelo, mesmo preço por segundo.
O image-to-video faz de uma imagem o frame de abertura literal. O reference-to-video pega até três imagens como orientação de identidade, figurino, estilo ou locação, e então gera um frame de abertura coerente com elas. Use referências quando a consistência entre vários clipes importar mais do que um primeiro frame específico.
Sim. O Google gera diálogo, efeitos sonoros e ambiência nativamente, sem nenhuma forma de desligar na própria API deles. Expomos has_sound com padrão true, e essa configuração aplica o multiplicador de ×1.5 no preço.
Toda saída do Veo carrega SynthID, o marcador imperceptível do Google para conteúdo gerado por IA, verificável na plataforma deles. Nenhum provider — nós inclusive — consegue desligar.
Reservamos uns quatro minutos. O Google publica um mínimo de 11 segundos e um máximo de 6 minutos no pico, então para um conjunto completo de clipes use um webhookUrl em vez de manter loops de polling abertos.