Loading...
Loading...
Livello Veo 3.1 più veloce ed economico, con testo-video, immagine-video, riferimento-video e transizioni tra fotogramma iniziale e finale.
Accedi per eseguire i modelli
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/image-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)Costo stimato per generazione in base a durata e risoluzione. Paghi solo per ciò che esegui.
Consegni a questo endpoint un fermo immagine e diventa il primo fotogramma di un'inquadratura in movimento e sonorizzata. Facciamo girare il Veo 3.1 Fast di Google come google/veo-3.1-fast/image-to-video, e fatturiamo al secondo di output: $0.01 al secondo, ×1,5 con la traccia audio attiva. Quindi una clip da 8 secondi in 720p con il sonoro è $0.12 — un'immagine più un prompt, senza dover gestire reference.
Nessuna immagine di partenza da cui lavorare? Allora il Suo endpoint è Veo 3.1 Fast text-to-video — stesso modello, stesso prezzo, solo prompt, e Le permette di scendere a 4 o 6 secondi. Se invece ha più immagini e il punto è mantenere coerente un personaggio fra le inquadrature, vada su Veo 3.1 Fast reference-to-video.
Nessuno vende questo modello a video. Google, fal.ai, Replicate e noi misuriamo tutti l'output secondo per secondo, quindi un confronto equo deve fissare la configurazione. Ecco 8 secondi, 720p, audio attivo, all'ultima verifica del 26 agosto 2026:
| Provider API | Fatturazione | Tariffa (720p, audio attivo) | Clip da 8 secondi | vs. noi |
|---|---|---|---|---|
| E2X (attuale) | al secondo | $0.01/s ×1,5 audio | $0.12 | — |
| Google Gemini API | al secondo | $0.10/s | $0.80 | 6,7× il nostro prezzo |
| fal.ai | al secondo | $0.15/s | $1.20 | 10× il nostro prezzo |
| Replicate | al secondo | $0.15/s | $1.20 | 10× il nostro prezzo |
| Listino E2X (pre-sconto) | al secondo | $0.10/s ×1,5 | $1.20 | la nostra tariffa non scontata |
Si soffermi su quell'ultima riga. Il nostro prezzo di listino non scontato è $1.20 per una clip da 8 secondi — la cifra identica che chiedono fal.ai e Replicate. I $0.12 che paga adesso ne sono un decimo, e restano comunque 6,7 volte sotto l'API di Google stessa.
La risoluzione incide sul conto in modo diverso a seconda di dove compra. Salire da 720p a 1080p non costa nulla in più su fal.ai o Replicate; Google applica una tariffa al secondo più alta. Anche noi trattiamo la risoluzione come un moltiplicatore, quindi legga il dato aggiornato dal llms.txt di questo modello prima di pianificare una tornata in 1080p.
I prezzi e le condizioni dei prodotti possono cambiare nel tempo. Verifichi i prezzi aggiornati di ciascun provider prima di prendere una decisione d'acquisto. Il prezzo Google Batch o Flex non è direttamente equivalente a una request API on-demand standard, perché le condizioni di pianificazione, disponibilità ed elaborazione sono diverse; è quindi escluso da questo confronto. Si tratta di un confronto circoscritto a uno scenario d'uso specifico, non dell'affermazione che E2X sia l'opzione più economica al mondo in ogni configurazione.
La Sua immagine ancora il fotogramma numero uno. Tutto quello che viene dopo è generato — tenga a mente questo modello mentale, perché spiega sia il punto di forza sia la modalità di fallimento.
Il punto di forza: composizione, palette, guardaroba e set sono già decisi. Non sta scommettendo sulla prosa per riprodurre uno scatto di prodotto che il cliente ha già approvato. Dia in pasto il fermo immagine, descriva il movimento, ottenga una clip che parte esattamente da dove partiva il fermo immagine.
La modalità di fallimento: più la clip si allontana da quel fotogramma, più improvvisa. Chieda un'orbita di 180° in otto secondi e il lato opposto del soggetto è invenzione. Chieda una lenta carrellata in avanti e una girata di testa, e tiene.
L'audio viene dietro in automatico. Google lo genera in modo nativo e la loro API non ha alcun interruttore per disattivarlo — dialoghi in sincrono, passi sui passi, room tone sotto. Entra una fotografia ferma; esce qualcosa con una colonna sonora.
I vincoli di Google sull'immagine sorgente, in chiaro:
image_url quando il job gira, non quando lo invia.È quest'ultimo a causare più fallimenti di tutti gli altri messi insieme: i link firmati a vita breve scadono a metà coda.
Qui i campi obbligatori sono due: prompt e image_url.
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/image-to-video",
"input": {
"prompt": "Il barista fa scivolare avanti la tazza e il vapore sale arricciandosi. Lenta carrellata in avanti sulla crema. Sibilo della macchina espresso, chiacchiericcio basso di locale sullo sfondo.",
"image_url": "https://example.com/counter-shot.jpg",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": "8",
"has_sound": "true"
}
}'
Riceve indietro un job ID. Faccia polling, oppure ci passi un 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/image-to-video",
input: {
prompt:
"Abbassa gli occhiali da sole e guarda fuori campo a sinistra. L'orlo si solleva nel vento. Camera fissa, gabbiani e risacca sotto.",
image_url: "https://example.com/lookbook-03.jpg",
aspect_ratio: "9:16",
resolution: "720p",
duration: "8",
has_sound: "true",
seed: 88117,
},
}),
}).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 || "Animation failed");
}
await new Promise((r) => setTimeout(r, 5000));
}
I job passano da pending → processing → completed, oppure si fermano su failed / cancelled. Invii un webhookUrl se preferisce non fare polling. Noi pianifichiamo su circa quattro minuti; l'intervallo pubblicato da Google va da 11 secondi nel migliore dei casi a 6 minuti nelle ore di punta.
Attenzione ai tipi: duration, resolution e has_sound sono stringhe. "true", non true.
Tre porte sugli stessi identici pesi, a un identico prezzo al secondo. È il Suo input a decidere quale:
| Endpoint | Clip 8s, 720p + audio | Da scegliere quando |
|---|---|---|
| Veo 3.1 Fast image-to-video | $0.12 | Un fermo immagine approvato deve diventare il fotogramma uno |
| Veo 3.1 Fast text-to-video | $0.12 | Non esiste ancora nulla — e vuole l'opzione da 4s o 6s |
| Veo 3.1 Fast reference-to-video | $0.12 | Fino a tre immagini devono definire un volto, un prodotto o un luogo ricorrente |
La divisione onesta: usi questo endpoint quando il fermo immagine è il fotogramma di apertura. Usi reference-to-video quando le Sue immagini sono invece una guida — lo stesso attore in cinque scene — e accetti che La vincoli a 8 secondi. Sta solo esplorando? Non carichi nulla: text-to-video a 4 secondi costa $0.06 e divora uno storyboard in fretta. Sfogli il resto nella categoria image-to-video o l'intero catalogo modelli.
L'errore comune è ridescrivere l'immagine appena caricata. Il modello la vede. Ogni parola spesa su "una donna con un cappotto rosso su un molo" è una parola non spesa su quello che succede dopo — e invita a reinterpretare un fotogramma che aveva già fissato.
Scriva invece il cambiamento. Tre abitudini reggono quasi tutta la qualità:
Dia un solo movimento principale. Una girata di testa, una carrellata, una porta che si apre. Impili quattro azioni in otto secondi e non se ne legge nessuna.
Dica dove sta la macchina da presa e se si muove. "Fissa", "lenta carrellata in avanti", "deriva a mano verso destra". Il silenzio su questo punto produce un fluttuare senza meta.
Lo sonorizzi ad alta voce. Nomini l'ambiente sonoro e qualsiasi battuta di dialogo fra virgolette. L'audio viene generato che lo pianifichi o no, quindi lo pianifichi.
I prompt in inglese sono pienamente supportati. Google non ha valutato altre lingue per questo modello, quindi tenga le istruzioni in inglese anche quando la battuta parlata è in un'altra.
Due giorni. È la Sua finestra di download. Google conserva il video generato per due giorni — le loro parole: deve scaricare il Suo video entro 2 giorni dalla generazione. Porti outputs[0].url nel Suo storage nello stesso percorso di codice che lo legge. Il link restituito è temporaneo.
SynthID è su ogni fotogramma. Google marca tutto l'output Veo con il proprio marcatore di provenienza impercettibile, verificabile attraverso la loro piattaforma. Nessun provider può disattivarlo, noi compresi.
Persone nelle regioni regolamentate. In tutta l'UE, nel Regno Unito, in Svizzera e nell'area MENA, personGeneration è limitato ad allow_adult.
Faccia corrispondere l'aspect ratio alla Sua sorgente. Un fermo immagine 16:9 con 9:16 richiesto costringe il modello a inventarsi i bordi.
Applichiamo una tariffa di $0.01 per secondo di video generato, moltiplicata per 1,5 quando l'audio è attivo. Questo rende una clip da 8 secondi in 720p con il sonoro $0.12. Le risoluzioni più alte applicano il proprio moltiplicatore, quindi controlli la pagina del modello aggiornata prima di fare budget su un batch in 1080p o 4k.
Sotto gli 8 MB, almeno 720p, e in 16:9 oppure 9:16. La recuperiamo dall'image_url che fornisce, quindi il link deve risolversi ancora quando il job gira — gli URL firmati in scadenza sono qui il fallimento più comune.
Non su questo endpoint — accetta esattamente un image_url. Se più immagini devono guidare una generazione, usi reference-to-video, che accetta un array di massimo tre.
Sì, ed è una delle ragioni principali per scegliere questo modello. Google produce dialoghi, effetti e ambiente sincronizzati in modo nativo, senza alcun interruttore di spegnimento nella loro stessa API. Il nostro schema espone has_sound, impostato di default su true, che porta il moltiplicatore ×1,5.
Fino a 8 secondi. Questo endpoint accetta 4, 6 o 8, ma l'output in 1080p e 4k richiede gli 8 pieni. Nulla nella famiglia Veo 3.1 Fast supera gli 8 secondi in una sola chiamata.
Ogni video Veo porta SynthID, il watermark impercettibile di provenienza IA di Google, e può essere verificato sulla loro piattaforma di verifica. Nessuno offre un modo per disattivarlo.
Pianifichi circa quattro minuti per job. I dati ufficiali di Google fissano il minimo a 11 secondi e il tetto nelle ore di punta a 6 minuti, quindi un webhook batte un loop di polling non appena inizia a gestire volumi reali.