Video
Gemini Omni 1.2 Flash
Generuj wideo Gemini Omni 1.2 Flash o długości 3–15 sekund z natywnym dźwiękiem z tekstu, obrazów, pierwszej i ostatniej klatki lub referencji albo edytuj i wydłużaj wideo, od 360p do 4K.
Gemini Omni 1.2 Flash to multimodalny model wideo od Google do szybkiego generowania, edycji w rozmowie i filmowej kontroli ujęć (aktualizacja: listopad 2026). Jeden ID modelu obejmuje tekst na wideo, obraz na wideo, interpolację między pierwszą a ostatnią klatką, referencje wyglądu postaci lub produktów z maksymalnie 10 obrazów, edycję wideo i jego wydłużanie. Każdy klip ma natywny dźwięk, trwa 3–15 sekund i jest renderowany w 360p, 720p, 1080p lub 4K. Wyślij żądanie, zachowaj zwrócony ID zadania i odczytaj gotowe wideo z zadania. Media są przekazywane jako adresy URL.
ID modeli
| ID modelu | Tryby | Rozdzielczości | Długość |
|---|---|---|---|
gemini-omni-1.2-flash | tekst, obraz, klatki, referencje, edycja, wydłużanie | 360p, 720p, 1080p, 4k | 3–15 sekund |
Aktualne ceny znajdziesz na stronie modelu.
Krótki przykład
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"
}'Punkt końcowy
POST https://api.seedrouter.ai/v1/videos/generations| Nagłówek | Wartość |
|---|---|
| Authorization | Bearer YOUR_API_KEY |
| Content-Type | application/json |
Odpowiedź to zadanie ({"id": "task_...", "status": "processing"}), a nie gotowe wideo. Odpytuj GET /v1/tasks/{task_id} po wynik. Zachowaj klucze API w kodzie po stronie serwera.
Parametry
| Pole | Typ | Domyślnie | Notatki |
|---|---|---|---|
model | string | wymagane | gemini-omni-1.2-flash |
prompt | string | wymagane | Wymagany w każdym trybie: ujęcie, zmiana przy edycji lub dalszy ciąg przy wydłużaniu. Opisz też dźwięk; umieść tu instrukcje negatywne. |
duration | integer | 10 | 3–15 sekund. Najwyżej 10 z pierwszą i ostatnią klatką oraz przy wydłużaniu (dodana część). Ignorowane przy edycji, która zachowuje długość wideo źródłowego. |
resolution | enum | 720p | 360p, 720p, 1080p lub 4k (2160p oznacza 4k), bez rozróżniania wielkości liter. 1080p i 4k są skalowane w górę. |
aspect_ratio | enum | 16:9 | 16:9 lub 9:16. |
image_urls | lista URL | brak | Jeden obraz to klatka początkowa; kilka obrazów służy jako referencje wyglądu postaci lub produktu. Do 10 obrazów łącznie, wliczając klatki i obrazy z rolami. |
first_frame_image | URL | brak | Klip zaczyna się od tego obrazu; z last_frame_image model interpoluje między nimi. |
last_frame_image | URL | brak | Klip kończy się na tym obrazie. Wymaga pierwszej klatki. |
image_with_roles | lista obiektów | brak | {"url", "role"} z rolą first_frame, last_frame lub dowolną inną rolą dla referencji. Podaj klatki w ten sposób albo w dwóch polach klatek, nie obu sposobami naraz. |
video_urls | lista URL | brak | Jeden klip o długości najwyżej 15 sekund do edycji lub wydłużenia. |
omni_reference_task_type | enum | auto | auto, edit, extend, reference, text_to_video, image_to_video lub reference_to_video. |
extend_from_task_id | string | brak | ID jednego ze swoich zakończonych zadań gemini-omni-1.2-flash, aby edytować lub wydłużyć jego wideo bez przesyłania pliku. |
Każdy klip ma dźwięk; nie ma przełącznika dźwięku. Nie ma negative_prompt, seed, wejścia audio ani callback_url. Schemat jest ścisły: nieznane pola są odrzucane, nie ignorowane.
Tryby
| Tryb | Jak go wybrać |
|---|---|
| Tekst na wideo | Bez obrazów i wideo. |
| Obraz na wideo | Jeden obraz w image_urls lub pierwsza klatka. |
| Pierwsza i ostatnia klatka | first_frame_image i last_frame_image lub dwie role klatek. Najwyżej 10 sekund. |
| Referencje | Kilka obrazów w image_urls lub role referencyjne; omni_reference_task_type: "reference", aby wybrać ten tryb wprost. |
| Edycja | Wideo w video_urls lub extend_from_task_id; auto lub edit. |
| Wydłużanie | Wideo jak wyżej oraz omni_reference_task_type: "extend". Dodaje do 10 sekund. |
Wideo wejściowe jest edytowane, jeśli nie zażądasz extend; z wideo wartości reference, text_to_video, image_to_video i reference_to_video są odrzucane.
Pierwsza i ostatnia klatka
{
"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
}Edycja
{
"model": "gemini-omni-1.2-flash",
"prompt": "Make the violin invisible. Keep everything else the same.",
"video_urls": ["https://example.com/clip.mp4"]
}Edycja zachowuje długość wideo źródłowego; duration nie ma wpływu. Najlepiej sprawdzają się krótkie, konkretne instrukcje; przy lokalnej zmianie dodaj „Zachowaj wszystko inne bez zmian”.
Wydłuż wideo z wcześniejszego zadania
{
"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
}Wynik zawiera oryginał, a po nim nową część; rozliczane są nowe sekundy plus jedna ósma długości wideo źródłowego. Aby wydłużyć własny klip, wyślij go w video_urls zamiast extend_from_task_id.
Wejścia mediów
Obrazy i wideo to publiczne adresy URL HTTP(S). Identyfikatory URI danych base64 nie są akceptowane: prześlij pliki do swojego magazynu i podaj ich adresy URL. Wideo do edycji lub wydłużenia może trwać najwyżej 15 sekund; jego długość jest odczytywana przy przyjęciu żądania, a film, którego długości nie można odczytać, jest odrzucany, zanim zostaną naliczone jakiekolwiek opłaty.
Wymiary cen
Aktualne stawki sprawdź w sekcji cen modelu. Gemini Omni 1.2 Flash jest rozliczany za sekundę wideo według stawki zależnej od rozdzielczości:
text, image, frames, references: cost = duration × rate
edit: cost = (source + source / 8) × rate
extend: cost = (added seconds + source / 8) × ratesource to czas trwania ścieżki wideo w pliku wejściowym zaokrąglony w górę do pełnych sekund, mierzony przy przyjęciu żądania, więc zarezerwowana kwota jest kwotą naliczaną; jedna ósma pokrywa odczyt wideo wejściowego. Przykłady w 720p: edycja klipu o długości 6,2 sekundy jest rozliczana jako 7 + 7/8 = 7,875 sekundy; wydłużenie 8-sekundowego klipu o 4 sekundy jest rozliczane jako 4 + 1 = 5 sekund. Nieudane zadania nie są rozliczane.
Schemat wyjścia
Przesłanie zwraca zadanie:
{"id": "task_...", "model": "gemini-omni-1.2-flash", "status": "processing", "created_at": 1789689600}Pobierz zadanie
GET https://api.seedrouter.ai/v1/tasks/{task_id}Odpytuj co 10–20 sekund, aż status wyniesie completed albo failed. Limit czasu sieci podczas odpytywania nie oznacza, że generowanie się nie powiodło: zachowaj ID zadania i wznów jego sprawdzanie. Nie twórz innego zadania, by sprawdzić postęp.
Zakończone zadanie
{
"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"
}
}Każde wideo zawiera niewidoczny znak wodny SynthID od Google. W naszych testach klipy 720p o długości 5–8 sekund wracały jako MP4 (H.264) w rozdzielczości 1280 × 720 ze ścieżką stereo AAC, 66–86 sekund po przesłaniu; edycja 3-sekundowego klipu wróciła jako klip o długości 3 sekund.
Błędy
Żądania odrzucone, zanim zostanie utworzone zadanie, zwracają błąd HTTP z obiektem error i nie są rozliczane. Zadanie, które się nie powiedzie po akceptacji, zwraca HTTP 200 po zapytaniu, z status: "failed" i obiektem error.
Zobacz wspólny katalog błędów po kody, statusy HTTP i wskazówki dotyczące ponownych prób.
{
"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."
}
}Jeśli limit czasu przesłania się skończy, sprawdź swoje zadania przed ponownym przesłaniem: pierwsze żądanie mogło zostać zaakceptowane.
Porady
- Opisz obiekt, miejsce, ruch kamery, światło i dźwięk; dźwięk klipu jest zgodny z promptem.
- Twórz szkice w
360p, a następnie wyrenderuj wybrane ujęcie w1080plub4kz tym samym żądaniem. - Przy edycji zmieniaj po jednej rzeczy naraz i określ, co ma pozostać bez zmian.
- Dodaj
no text, no logos, by uniknąć zmyślonych znaków.
