Video
Gemini Omni 1.2 Flash
Genera video di Gemini Omni 1.2 Flash di 3–15 secondi con audio nativo da testo, immagini, primo e ultimo fotogramma o riferimenti, oppure modifica ed estendi un video, da 360p a 4K.
Gemini Omni 1.2 Flash è il modello video multimodale di Google per la generazione rapida, l'editing conversazionale e il controllo cinematografico (aggiornato a novembre 2026). Un solo ID modello copre la generazione da testo a video, da immagine a video, l'interpolazione tra primo e ultimo fotogramma, i riferimenti del soggetto da un massimo di 10 immagini, la modifica e l'estensione di un video. Ogni clip ha audio nativo, dura 3–15 secondi e viene generata a 360p, 720p, 1080p o 4K. Invia la richiesta, conserva l'ID attività restituito e leggi il video finito dall'attività. I media vengono inviati come URL.
ID modello
| ID modello | Modalità | Risoluzioni | Durata |
|---|---|---|---|
gemini-omni-1.2-flash | testo, immagine, fotogrammi, riferimenti, modifica, estensione | 360p, 720p, 1080p, 4k | 3–15 secondi |
Consulta la pagina del modello per i prezzi attuali.
Esempio rapido
curl https://api.seedrouter.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-omni-1.2-flash",
"prompt": "A glass marble rolls fast along a wooden chain-reaction track through a sunlit workshop, one continuous smooth tracking shot. No text, no logos.",
"resolution": "720p",
"duration": 10,
"aspect_ratio": "16:9"
}'Endpoint
POST https://api.seedrouter.ai/v1/videos/generations| Header | Valore |
|---|---|
| Authorization | Bearer YOUR_API_KEY |
| Content-Type | application/json |
La risposta è un'attività ({"id": "task_...", "status": "processing"}), non il video finito. Interroga GET /v1/tasks/{task_id} per il risultato. Conserva le chiavi API nel codice lato server.
Parametri
| Campo | Tipo | Predefinito | Note |
|---|---|---|---|
model | stringa | obbligatorio | gemini-omni-1.2-flash |
prompt | stringa | obbligatorio | Obbligatorio in ogni modalità: l'inquadratura, il cambiamento per una modifica o cosa succede dopo per un'estensione. Descrivi anche l'audio; inserisci qui le istruzioni negative. |
duration | intero | 10 | 3–15 secondi. Al massimo 10 con primo e ultimo fotogramma e per un'estensione (la parte aggiunta). Ignorato per una modifica, che mantiene la durata sorgente. |
resolution | enumerazione | 720p | 360p, 720p, 1080p o 4k (2160p significa 4k), senza distinzione tra maiuscole e minuscole. 1080p e 4k sono ottenute ingrandendo una risoluzione inferiore. |
aspect_ratio | enumerazione | 16:9 | 16:9 o 9:16. |
image_urls | elenco di URL | nessuno | Una sola immagine è il fotogramma iniziale; più immagini sono riferimenti per il soggetto. Fino a 10 immagini in totale, inclusi fotogrammi e immagini con ruoli. |
first_frame_image | URL | nessuno | La clip si apre su questa immagine; con last_frame_image il modello interpola tra le due. |
last_frame_image | URL | nessuno | La clip termina su questa immagine. Richiede un primo fotogramma. |
image_with_roles | elenco di oggetti | nessuno | {"url", "role"} con ruolo first_frame, last_frame o qualsiasi altro ruolo per un riferimento. Fornisci i fotogrammi in questo modo oppure con i due campi dei fotogrammi, non entrambi. |
video_urls | elenco di URL | nessuno | Una clip di massimo 15 secondi da modificare o estendere. |
omni_reference_task_type | enumerazione | auto | auto, edit, extend, reference, text_to_video, image_to_video o reference_to_video. |
extend_from_task_id | stringa | nessuno | L'ID di una delle tue attività gemini-omni-1.2-flash completate, per modificarne o estenderne il video senza caricarlo. |
Ogni clip ha l'audio; non c'è un interruttore audio. Non ci sono negative_prompt, seed, input audio o callback_url. Lo schema è rigoroso: i campi sconosciuti vengono rifiutati anziché ignorati.
Modalità
| Modalità | Come selezionarla |
|---|---|
| Da testo a video | Nessuna immagine e nessun video. |
| Da immagine a video | Un'immagine in image_urls o un primo fotogramma. |
| Primo e ultimo fotogramma | first_frame_image e last_frame_image, oppure i due ruoli. Al massimo 10 secondi. |
| Riferimenti | Più immagini in image_urls o ruoli di riferimento; omni_reference_task_type: "reference" per selezionare esplicitamente la modalità. |
| Modifica | Un video in video_urls o extend_from_task_id; auto o edit. |
| Estensione | Un video come sopra e omni_reference_task_type: "extend". Aggiunge fino a 10 secondi. |
Un video di input viene modificato a meno che tu non richieda extend; con un video, reference, text_to_video, image_to_video e reference_to_video vengono rifiutati.
Primo e ultimo fotogramma
{
"model": "gemini-omni-1.2-flash",
"prompt": "Smooth transition, the camera slowly pushes in.",
"first_frame_image": "https://example.com/start.jpg",
"last_frame_image": "https://example.com/end.jpg",
"duration": 8
}Modifica
{
"model": "gemini-omni-1.2-flash",
"prompt": "Make the violin invisible. Keep everything else the same.",
"video_urls": ["https://example.com/clip.mp4"]
}La modifica mantiene la durata sorgente; duration non ha effetto. Le istruzioni brevi e specifiche funzionano meglio; per una modifica locale aggiungi "Mantieni invariato tutto il resto".
Estendi un'attività precedente
{
"model": "gemini-omni-1.2-flash",
"prompt": "The camera keeps panning across the mountains.",
"extend_from_task_id": "task_...",
"omni_reference_task_type": "extend",
"duration": 8
}Il risultato contiene l'originale seguito dalla nuova parte; vengono addebitati i nuovi secondi, più un ottavo della durata sorgente. Per estendere una tua clip, inviala in video_urls invece di extend_from_task_id.
Input media
Immagini e video sono URL HTTP(S) pubblici. Gli URI di dati base64 non sono accettati: carica i file nel tuo archivio e passa i loro URL. Il video da modificare o estendere deve durare al massimo 15 secondi; la sua durata viene letta quando la richiesta viene accettata e un video la cui durata non può essere letta viene rifiutato prima di qualsiasi addebito.
Dimensioni di fatturazione
Consulta la sezione prezzi del modello per le tariffe attuali. Gemini Omni 1.2 Flash viene addebitato al secondo di video, con una tariffa determinata dalla risoluzione:
text, image, frames, references: cost = duration × rate
edit: cost = (source + source / 8) × rate
extend: cost = (added seconds + source / 8) × ratesource è la durata delle immagini del video di input arrotondata per eccesso ai secondi interi, misurata quando la richiesta viene accettata, quindi l'importo riservato è l'importo addebitato; l'ottavo copre la lettura del video di input. Esempi a 720p: modificare una clip di 6,2 secondi addebita 7 + 7/8 = 7,875 secondi; estendere una clip di 8 secondi di altri 4 secondi addebita 4 + 1 = 5 secondi. Le attività non riuscite non vengono addebitate.
Schema di output
La presentazione restituisce l'attività:
{"id": "task_...", "model": "gemini-omni-1.2-flash", "status": "processing", "created_at": 1789689600}Ottieni l'attività
GET https://api.seedrouter.ai/v1/tasks/{task_id}Interroga ogni 10–20 secondi finché status non è completed o failed. Un timeout di rete durante l'interrogazione non significa che la generazione non sia riuscita: conserva l'ID attività e riprendi a controllarlo. Non creare un'altra attività per verificare l'avanzamento.
Attività completata
{
"id": "task_...",
"model": "gemini-omni-1.2-flash",
"status": "completed",
"created_at": 1789689600,
"finished_at": 1789689800,
"output": {
"video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4"
}
}Ogni video contiene la filigrana invisibile SynthID di Google. Nei nostri test le clip di 5–8 secondi a 720p sono tornate come MP4 (H.264) a 1280 × 720 con una traccia AAC stereo, 66–86 secondi dopo l'invio; la modifica di una clip di 3 secondi ha restituito un video di 3 secondi.
Errori
Le richieste rifiutate prima della creazione di un'attività restituiscono un errore HTTP con un oggetto error e non vengono addebitate. Un'attività che fallisce dopo l'accettazione restituisce HTTP 200 quando interrogata, con status: "failed" e un oggetto error.
Consulta il catalogo di errori condiviso per codici, stati HTTP e indicazioni di ripetizione.
{
"id": "task_...",
"model": "gemini-omni-1.2-flash",
"status": "failed",
"error": {
"code": 60001,
"message": "The request was rejected by the content policy. Please revise the prompt or input images."
}
}Se l'invio stesso scade, controlla le tue attività prima di inviare di nuovo: la prima richiesta potrebbe essere stata accettata.
Suggerimenti
- Descrivi soggetto, luogo, movimento della telecamera, luce e suono; l'audio della clip segue il prompt.
- Crea una bozza a
360p, poi genera l'inquadratura che scegli a1080po4kcon la stessa richiesta. - Per una modifica, cambia una cosa alla volta e specifica cosa deve rimanere invariato.
- Aggiungi
no text, no logosper evitare segni inventati.
