Loading...
Loading...
Animate a still image into video with Gemini Omni 1.1 Flash. The source image becomes the first frame and drives the generated motion.
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/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.
Gemini Omni 1.1 Flash è diventato generalmente disponibile in Google il 27 agosto 2026. Appartiene alla famiglia Gemini, non a Veo, e noi esponiamo la sua capability image-to-video come google/omni-1.1-flash/image-to-video. Fatturiamo al secondo di video finito — $0.09 al secondo in 720p, contro una tariffa di listino di $0.15, perché uno sconto fisso del 40% copre tutte e quattro le capability. La clip di default da otto secondi è $0.72. Obbligatori: prompt e image_url.
Capisca che cos'è il fermo immagine prima della prima chiamata. È un contratto. Fissa il primo fotogramma, e con esso l'inquadratura, l'ottica, la palette, il soggetto e ogni difetto già presente nella foto. Il Suo prompt governa i secondi successivi, nulla di ciò che viene prima.
Quasi ogni risultato spento, qui, nasce da un solo errore: un prompt che descrive la fotografia invece del cambiamento. Nomini ciò che si muove. Nomini dove va la macchina da presa.
| Durata della clip | Prezzo in 720p |
|---|---|
| 4 s | $0.36 |
| 6 s | $0.54 |
| 8 s (default) | $0.72 |
| 10 s | $0.90 |
La risoluzione scala quella tariffa: il 360p è 0.33× ($0.0297 al secondo), il 1080p 1.5× ($0.135), il 4K 2× ($0.18). Un passaggio da quattro secondi in 360p costa $0.1188 — il modo più economico per scoprire se il Suo fermo immagine si muove davvero.
Due fotogrammi con il centro lasciato al modello? Omni 1.1 Flash start-end-frame-to-video. Un soggetto ripreso da più angolazioni, coerente lungo tutta una scaletta? Omni 1.1 Flash reference-to-video. Nessun materiale di partenza? Omni 1.1 Flash text-to-video, che porta l'intero discorso sui prezzi.
Tratti il lavoro come una continuazione, non come un'interpretazione. Il modello prende il Suo fermo immagine come primo fotogramma, poi inventa ventiquattro fotogrammi plausibili al secondo dopo di esso, tutti ancorati a ciò che Lei ha consegnato. Quell'ancoraggio è il valore: un key visual già approvato resta in linea con il brand perché nessuno l'ha rigenerato.
Ed è anche il vincolo. Un'inquadratura affollata consegna al modello più oggetti da tenere coerenti mentre tutto si sposta, e la coerenza è il punto debole di questa generazione. Lo dice la model card di Google: "Mantenere una coerenza completa lungo tutte le modifiche, generare scene con movimenti complessi o restituire testo perfettamente accurato resta una sfida." Le insegne si sbrodolano. Le folle rimescolano i volti. Un soggetto solo su uno sfondo pulito sopravvive a dieci secondi meglio di quanto il disordine sopravviva a quattro.
Tagli Lei il formato. L'output esce in 16:9 o 9:16 — niente quadrato, niente 4:5, niente ultrawide. Spinga un verticale 4:5 dentro un job 16:9 e qualcosa cede: il modello riempie i lati con materiale che nessuno ha fotografato, oppure la composizione slitta per rientrare. In entrambi i casi paga $0.09 al secondo. Tagli prima, finché la decisione è gratis.
Non arrivi al 4K facendo upscaling. La risoluzione della sorgente decide quanto dettaglio l'output può onestamente reggere. Una miniatura larga 640 pixel renderizzata in 1080p è un file più grande con lo stesso dettaglio, a 1.5× la tariffa.
Lasci al movimento un posto dove andare. Aria sopra la testa del soggetto, strada davanti a un'auto. Tagli stretto e niente potrà muoversi senza essere spinto fuori campo — un motivo ricorrente per cui una clip sembra una fotografia che traballa.
Generi una key nella dashboard e la tenga lato server. La nostra pipeline scarica da sé image_url, quindi deve essere raggiungibile sulla rete pubblica — un indirizzo HTTPS sulla Sua CDN o sul Suo object store, mai un percorso locale, localhost o un URL dietro un login. Gli URL firmati vanno bene con una finestra generosa: i job durano circa quattro minuti, e un link da sessanta secondi muore prima.
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/image-to-video",
"input": {
"prompt": "Il vapore comincia a salire a spirale dal beccuccio del bollitore e va alla deriva verso destra. La camera avanza lentamente sul manico. Ronzio della cucina, un bollitore che inizia a fischiare. Nient'altro si muove nell'inquadratura.",
"image_url": "https://cdn.example.com/stills/copper-kettle-16x9.jpg",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": "8"
}
}'
Le torna indietro un job ID. Può fare polling oppure passarci un webhookUrl e saltare il ciclo:
const headers = {
Authorization: `Bearer ${process.env.E2X_API_KEY}`,
"Content-Type": "application/json",
};
const start = await fetch("https://api.e2x.ai/v1/jobs/submit", {
method: "POST",
headers,
body: JSON.stringify({
model: "google/omni-1.1-flash/image-to-video",
input: {
prompt:
"Lei si gira verso la camera e la sciarpa si solleva nel vento. Camera fissa. Gabbiani, risacca in lontananza.",
image_url: "https://cdn.example.com/stills/portrait-9x16.png",
aspect_ratio: "9:16",
resolution: "360p",
duration: "10",
},
}),
}).then((r) => r.json());
const { jobId } = start.data;
for (let tick = 0; tick < 360; tick++) {
const job = await fetch(`https://api.e2x.ai/v1/jobs/${jobId}`, { headers })
.then((r) => r.json());
if (job.data.status === "completed") {
await archive(job.data.outputs[0].url); // copialo da qualche parte in modo permanente
break;
}
if (["failed", "cancelled"].includes(job.data.status)) {
throw new Error(job.data.error?.message ?? job.data.status);
}
await new Promise((r) => setTimeout(r, 5000));
}
Un job riporta pending, poi processing, poi completed, failed o cancelled. Due dettagli dello schema mordono: duration e resolution sono stringhe, quindi mandi "10" e non 10; e non esiste alcun interruttore per l'audio, perché il suono viene generato insieme all'immagine e guidato dal Suo prompt. Le definizioni dei campi restano aggiornate nella specifica leggibile dalle macchine.
Scriva solo ciò che cambia. Soggetto, luce e composizione sono arrivati con il file; ripeterli spende attenzione che il modello potrebbe spendere sul movimento. Non dichiari alcun movimento e otterrà un fotogramma quasi immobile che va alla deriva, a tariffa piena.
Un movimento, nominato. Il vapore sale. Una porta si apre verso l'interno. I capelli si sollevano. Scelga l'azione che conta e lasci fermo tutto il resto — dirlo esplicitamente aiuta più di quanto sembri.
Una sola istruzione di macchina. "Lenta avanzata", "camera fissa", "deriva a mano verso sinistra". Una grammatica semplice batte un paragrafo di cinematografia, e una macchina non dichiarata diventa una decisione del modello.
Il suono sotto. Room tone, traffico, un effetto specifico. Il silenzio non è il default; un mix non specificato Le viene inventato addosso. I prompt arrivano a 50.000 caratteri, quindi il limite non è mai la lunghezza — è la precisione. La nostra guida al prompting per Gemini Omni scende più a fondo sulle formulazioni.
Lo senta da noi invece che da una fattura. Veo 3.1 Fast image-to-video gira su questa stessa piattaforma a $0.01 al secondo — nove volte sotto l'endpoint di questa pagina.
| Endpoint | Clip da 8 secondi | Da scegliere quando |
|---|---|---|
| Veo 3.1 Fast image-to-video | $0.08 | Un fermo immagine, una clip, niente a valle che ne dipenda |
| Omni 1.1 Flash image-to-video | $0.72 | Le servono dieci secondi, un passaggio di bozza in 360p, o che questa inquadratura stia accanto ad altre |
| Veo 3.1 Fast text-to-video | $0.08 | Il fermo immagine non sta facendo $0.64 di lavoro |
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.
Lo prenda sul serio. Una fotografia, animata una volta, sta di casa su Veo. Il sovrapprezzo di qui rientra in tre casi: il Suo montaggio ha bisogno di dieci secondi e Veo si ferma a otto; vuole fare le bozze a $0.0297 al secondo; oppure questa clip deve appartenere a un insieme. Gli altri modi di animare un fermo immagine stanno nella categoria image-to-video, accanto al nostro catalogo modelli.
L'output è a 24 fps, da tre a dieci secondi per generazione, con un watermark SynthID in ogni fotogramma che nessuno nella catena può disattivare. Gli URL dei risultati sono temporanei — archivi il file dentro il Suo handler di completamento. Un link che domani non riesce a scaricare è un render che paga due volte.
Una regola vale proprio perché Lei carica una fotografia: in tutto lo SEE, in Svizzera e nel Regno Unito, Google blocca le immagini sorgente che ritraggono minori, e anche alcune persone riconoscibili. Inoltre l'inglese è l'unica lingua di prompt che Google abbia valutato. Le nostre note di rilascio di Gemini Omni 1.1 Flash raccontano che cos'altro è cambiato rispetto al predecessore che facciamo ancora girare, deprecato a monte il 30 settembre 2026.
Nove centesimi comprano un secondo in 720p. La clip di default dura otto secondi, quindi $0.72; dieci secondi, il tetto, fanno $0.90. Quella tariffa è il 40% in meno su un listino di $0.15, letta dal nostro catalogo dal vivo il 28 agosto 2026. La risoluzione muove il moltiplicatore — 0.33× in 360p, 1.5× in 1080p, 2× in 4K.
Veo, per la maggior parte dei fermi immagine singoli — $0.01 al secondo contro $0.09, ovvero $0.08 contro $0.72 su otto secondi. Torni qui quando Le servono dieci secondi, quando un passaggio di bozza in 360p fa risparmiare sul totale, oppure quando la clip deve reggere accanto ad altre nate dallo stesso soggetto.
Solo 16:9 e 9:16. Tagli la sorgente sul rapporto di destinazione prima di inviare; altrimenti il modello risolve da sé la discrepanza e Lei rischia di perdere una parte della composizione che aveva approvato.
Ovunque la nostra pipeline riesca ad arrivare su HTTPS pubblico — una CDN, un bucket S3 o GCS, il Suo web server. Percorsi locali, localhost e qualsiasi cosa dietro autenticazione falliscono. Gli URL firmati funzionano quando la loro scadenza sopravvive comodamente ai quattro minuti che un job richiede.
Di solito perché il prompt ridescrive l'immagine invece di dirigerla. Il fermo immagine ha già fissato il soggetto e l'inquadratura; senza un movimento e senza un movimento di macchina dichiarati, il modello non ha su che cosa agire. Lo riscriva come un movimento più un'istruzione di macchina.
Sì, prodotto nativamente insieme all'immagine e sincronizzato con essa. Non esiste un campo has_sound né una modalità muta, quindi descriva l'ambiente sonoro nel prompt. L'audio non può essere modificato in seguito — un cambiamento significa un'altra generazione.
Sì. Google blocca le immagini sorgente che ritraggono minori, oltre a certe persone riconoscibili, per gli utenti dello SEE, della Svizzera e del Regno Unito — è una sua policy, applicata presso ogni provider. Gli output portano inoltre un watermark SynthID invisibile, quindi metta in conto asset IA etichettati.