Loading...
Loading...
Generate video from up to seven reference images with Gemini Omni 1.1 Flash. The reference images carry character and style consistency into the result.
0/7 elementi
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/omni-1.1-flash/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)Costo stimato per generazione in base a durata e risoluzione. Paghi solo per ciò che esegui.
Una campagna non è mai una clip sola. È una scaletta — undici righe, la stessa borsa da corriere in ogni riga, e nessun budget per il pomeriggio in cui alla sesta riga la borsa diventa grigia. Il reference-to-video fa sì che la borsa resti la stessa borsa. Lo facciamo girare come google/omni-1.1-flash/reference-to-video e fatturiamo $0.09 per ogni secondo di output in 720p, quindi la clip di default da otto secondi è $0.72, audio incluso.
Il campo che fa il lavoro è image_urls — un array, con minItems: 1 e maxItems: 7 nel nostro schema. È per quel tetto che questa pagina esiste. Sette slot mostrano un soggetto da abbastanza angolazioni da far smettere al modello di inventarsi quelle che Lei ha tenuto per sé.
Materiale diverso, porta diversa: un fermo immagine da solo è Omni 1.1 Flash image-to-video, i due estremi di un'inquadratura con un vuoto in mezzo sono start-end-frame-to-video, e un brief senza alcun asset è Omni 1.1 Flash text-to-video, che porta la griglia completa dei prezzi.
La nostra tariffa, letta dal catalogo dal vivo il 28 agosto 2026:
| Durata della clip | Prezzo in 720p |
|---|---|
| 4 secondi | $0.36 |
| 6 secondi | $0.54 |
| 8 secondi (default) | $0.72 |
| 10 secondi | $0.90 |
Il listino è $0.15 al secondo; uno sconto fisso del 40% lo porta a $0.09. La risoluzione scala da lì — $0.0297 in 360p, $0.18 in 4K, quindi un render da dieci secondi in 4K è $1.80. E poi il numero che decide come costruisce: alleghi una reference o sette, niente di quanto sta sopra si muove. duration e resolution sono tutta la formula. Le reference sono peso gratis.
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.
L'API scarica ogni URL dell'array, quindi devono stare dove i nostri worker riescono ad arrivare su semplice HTTPS — un bucket pubblico, un link firmato non scaduto, niente dietro un login.
Sette è un massimo validato, non una riga in una pagina di documentazione. Ne mandi otto e la request viene rifiutata prima ancora di toccare una GPU. Sembra un limite; lo tratti come un budget. Un set che si merita tutti e sette porta tre quarti, profilo, spalle, un dettaglio che regge il brand, uno alla distanza in cui la clip inquadrerà, uno sotto luce neutra. Duplicare l'angolazione hero spreca uno slot. Le angolazioni che tiene per sé vengono indovinate.
È questo lo scarto rispetto alla generazione precedente. Il nostro endpoint Gemini Omni Flash reference-to-video fa girare la stessa idea a $0.075 al secondo senza alcun tetto documentato — Google non ne ha mai pubblicato uno, quindi ci siamo rifiutati di stampare un numero di cui non potevamo rispondere. È l'endpoint più economico, del venti per cento, e si vede perché: nessun massimo validato di sette slot e nessun livello 360p su cui provare un set di riferimenti prima di spendere. Google ritira quel modello il 30 settembre 2026. Se una pipeline punta ancora lì, la migrazione è un cambio di slug, costa un quinto in più al secondo e atterra qui.
Costruisca l'array una volta. Tenga i sette URL accanto alla Sua scaletta e invii quello stesso identico array con ogni job. Il set è il termine fisso; il prompt è la variabile.
Questo ribaltamento è il flusso di lavoro. Poiché sono le reference a portare il soggetto, ogni prompt smette di descrivere che aspetto ha la cosa e comincia a descrivere che cosa le succede — la macchina, ciò che si muove, la luce, il suono. I prompt si accorciano e le clip diventano più coerenti, il contrario del compromesso che ci si aspetta. Fissi un seed quando confronta due formulazioni della stessa inquadratura, così capisce se ha aiutato la riscrittura o il caso.
Metta in conto 240 secondi per job e lanci la scaletta in parallelo. Poi resti tarato su quello che la model card di Google ammette:
"Mantenere una coerenza completa lungo tutte le modifiche, generare scene con movimenti complessi o restituire testo perfettamente accurato resta una sfida."
Sette reference restringono la deriva. Non la aboliscono.
Due campi sono obbligatori: prompt e image_urls. Tenga la Sua key lato server e invii il job.
curl -X POST https://api.e2x.ai/v1/jobs/submit \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/omni-1.1-flash/reference-to-video",
"input": {
"prompt": "L'immagine 1 è la bicicletta piegata, l'immagine 2 la cerniera, l'immagine 3 il ciclista. Cortile acciottolato all'alba. Il ciclista la apre e chiude di scatto il telaio. Campo largo fisso. Canto di uccelli, un tram in lontananza.",
"image_urls": [
"https://example.com/bike-folded.jpg",
"https://example.com/bike-hinge.jpg",
"https://example.com/rider.jpg"
],
"duration": "8",
"aspect_ratio": "16:9"
}
}'
Torna indietro data.jobId. I render richiedono minuti, quindi faccia polling lentamente — oppure passi un webhookUrl e salti del tutto il polling.
const headers = {
Authorization: `Bearer ${process.env.E2X_API_KEY}`,
"Content-Type": "application/json",
};
// Un solo array, riutilizzato da ogni prompt.
const image_urls = [
"https://example.com/fox-puppet-front.jpg",
"https://example.com/fox-puppet-muzzle.jpg",
"https://example.com/fox-puppet-profile.jpg",
];
const submitted = await fetch("https://api.e2x.ai/v1/jobs/submit", {
method: "POST",
headers,
body: JSON.stringify({
model: "google/omni-1.1-flash/reference-to-video",
input: {
prompt:
"L'immagine 1 è il pupazzo della volpe. Si sporge dentro l'inquadratura da sinistra e inclina la testa. Lenta avanzata. Fruscio di carta, room tone morbido.",
image_urls,
duration: "10",
aspect_ratio: "9:16",
resolution: "1080p",
seed: 70413,
},
}),
}).then((r) => r.json());
const { jobId } = submitted.data;
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);
await new Promise((r) => setTimeout(r, 5000));
}
Gli status passano da pending → processing → completed, oppure si fermano su failed / cancelled. Una trappola: duration e resolution sono stringhe. "10", mai 10. Schema e prezzo stanno nella specifica leggibile dalle macchine.
Veo 3.1 Fast reference-to-video costa $0.01 al secondo su questa stessa piattaforma. Nove volte meno. Otto secondi lì sono $0.08 contro i $0.72 di qui, e non lo seppelliremo sotto una tabella.
Quindi la risposta di default è Veo. Se una scaletta ha bisogno di tre reference, otto secondi e 720p, chiamare qualsiasi altra cosa significa spendere soldi per niente.
Quattro cose ribaltano il verdetto. Le servono più reference di quante Veo ne accetti, visto che lui si ferma a tre contro le nostre sette — la differenza fra coprire un soggetto e campionarlo. Le servono dieci secondi, che Veo non Le darà. Le serve il 4K. Oppure vuole il livello 360p, dove venti bozze costano meno di una clip finita e la vincitrice si rirenderizza dallo stesso array e dallo stesso seed. Fuori da questi quattro casi, vada sull'economico. Altro sta nella categoria reference-to-video, e il resto nel catalogo modelli.
Le Sue reference sono upload di cose reali, e a volte di persone reali. Google blocca il caricamento di immagini che ritraggano minori, o certe persone riconoscibili, per gli utenti del Regno Unito, della Svizzera e dello Spazio economico europeo. Qui è un vincolo di casting, non una nota a piè di pagina. Lo metta nel brief, non in un job fallito alle due di notte.
Ogni fotogramma porta SynthID. Il watermark invisibile di Google sta su tutti gli output e nessun provider può disattivarlo, noi compresi. Risolva prima di integrare qualsiasi contratto che vieti asset IA etichettati.
Il suono nasce dalle parole. L'audio viene generato insieme all'immagine e guidato dallo stesso prompt — nessun interruttore has_sound, nessun upload di reference audio.
Gli URL dei risultati scadono. Copi ogni output sul Suo storage nell'handler che legge outputs[0].url. Una campagna che deve rirenderizzare è una campagna che ha pagato due volte.
L'inglese è l'unica lingua di prompt pienamente supportata, e Google ha fatto confluire Vertex AI nella Gemini Enterprise Agent Platform il 22 aprile 2026: è lì che il modello è elencato per i clienti enterprise. Il contesto sta nel nostro resoconto di rilascio.
Allegare sette immagini dice al modello che cosa esiste. Non dice quale sia la protagonista. Quello lo fa Lei in prosa: l'immagine 1 è il bollitore, l'immagine 2 è il coperchio smaltato, l'immagine 3 è la cucina. Numerate, sulla prima riga, prima di ogni indicazione.
Poi smetta di descrivere il soggetto. Un prompt che rispecifica il colore e la forma di qualcosa che ha già allegato litiga con le Sue stesse reference, e il modello fa la media. Spenda le parole su ciò che l'array non può contenere: la macchina, un movimento, la luce, l'ambiente sonoro. Tenga ogni prompt su una sola inquadratura continua — chieda una narrazione a tre scene e otterrà una macchia. La nostra guida al prompting per Gemini Omni scende più a fondo sul vocabolario di ripresa.
Sette, e il limite è pubblicato invece che tirato a indovinare: image_urls è validato con minItems: 1 e maxItems: 7, quindi un'ottava voce fallisce all'invio. Il predecessore non aveva alcun tetto documentato. È questa la differenza pratica più grande.
No. Fatturiamo al secondo di video finito, scalato dalla risoluzione; il numero di reference non entra in quel calcolo. Una reference o sette, una clip da otto secondi in 720p è $0.72. Durata e risoluzione sono le uniche leve.
Le numeri nel prompt — quale immagine tiene il prodotto, quale il dettaglio, quale l'ambiente — e poi descriva l'azione. image_urls è una lista nuda finché non è la Sua prosa ad assegnare i ruoli.
È esattamente la forma prevista. Salvi l'array una volta e lo invii immutato con ogni prompt, variando solo la regia. Un seed fissato tiene la luce abbastanza stabile da far montare insieme le clip.
Quasi sempre, a $0.01 al secondo — Veo 3.1 Fast costa nove volte meno per una request equivalente. Si sposti qui quando tre reference non bastano a coprire il soggetto, quando il montaggio ha bisogno di dieci secondi, quando la consegna è in 4K, o per il ciclo di bozze in 360p.
360p, 720p, 1080p o 4K, in 16:9 o 9:16, da 4, 6, 8 o 10 secondi, sempre a 24 fps. Le due risoluzioni più alte sono ottenute in upscaling invece che renderizzate nativamente, quindi giudichi la nitidezza sul Suo materiale.
Google deprecherà gemini-omni-flash-preview in quella data, e ogni provider che fa girare quei pesi si fermerà lo stesso giorno. Punti i Suoi job qui: stessa forma della request, tetto delle reference documentato. La vecchia pagina reference-to-video resta online come riferimento per la migrazione.