Gemini Omni to model wideo Google (u producenta występuje też jako Gemini Omni Flash, w Jantarisie ma id gemini-omni). Model przyjmuje prawie każdy rodzaj wejścia. Generuje z tekstu, z jednego zdjęcia jako klatki startowej, z fuzji dokładnie trzech obrazów albo na podstawie klipu referencyjnego do 30 sekund (model bierze z niego pierwsze 10 s). Wynik trwa 4, 6, 8 lub 10 sekund, w 16:9 lub 9:16, w 720p, 1080p albo 4K. Prompt mieści do 2000 znaków. Nowsza i tańsza wersja to Gemini Omni 1.1.
Do czego się nadaje
- Nowa wersja ujęcia na podstawie Twojego nagrania referencyjnego
- Połączenie postaci, produktu i tła z trzech zdjęć w jeden klip
- Klipy 10 s w 4K do reklam i intro
- Rolki 9:16 z animowanego zdjęcia
Jak pisać prompty
- Przy fuzji wyślij dokładnie 3 obrazy - dwa zostaną odrzucone.
- W prompcie przypisz rolę każdemu obrazowi: bohater, rekwizyt, sceneria.
- Z klipem referencyjnym długość wyniku zależy od materiału, a cena jest stała za całe zadanie.
- Skróć prompt do najważniejszych informacji, limit to 2000 znaków.
FAQ
Ile kosztuje Gemini Omni?
Stawka to od 8,40 zł za film, z VAT. Nieudane generacje nie są płatne, a przed startem zadania widzisz jego koszt w estimated_cost.
Czy Gemini Omni przyjmuje wideo na wejściu?
Tak, jeden klip do 30 sekund w video_urls. Model korzysta z jego pierwszych 10 sekund.
Jak połączyć trzy zdjęcia w jeden film?
Podaj trzy adresy w image_urls i opisz scenę w prompcie. Przykład jest w dokumentacji, a w Studio wrzucasz trzy pliki.
Jak wywołać Gemini Omni przez API
curl https://jantaris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $JANTARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-omni",
"input": {
"prompt": "A slow dolly shot through a neon-lit night market in the rain, reflections on wet asphalt, cinematic",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": 6
}
}'import os, time, requests
API = "https://jantaris.com/v1"
H = {"Authorization": f"Bearer {os.environ['JANTARIS_API_KEY']}"}
task = requests.post(f"{API}/generate", headers=H, json={
"model": "gemini-omni",
"input": {
"prompt": "A slow dolly shot through a neon-lit night market in the rain, reflections on wet asphalt, cinematic",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": 6
}
}).json()
while task["status"] in ("queued", "running"):
time.sleep(3)
task = requests.get(f"{API}/tasks/{task['id']}", headers=H).json()
print(task["status"], task["cost"], [o["url"] for o in task["output"]])const API = "https://jantaris.com/v1";
const headers = { Authorization: `Bearer ${process.env.JANTARIS_API_KEY}`, "Content-Type": "application/json" };
let task = await (await fetch(`${API}/generate`, {
method: "POST",
headers,
body: JSON.stringify({
"model": "gemini-omni",
"input": {
"prompt": "A slow dolly shot through a neon-lit night market in the rain, reflections on wet asphalt, cinematic",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": 6
}
}),
})).json();
while (task.status === "queued" || task.status === "running") {
await new Promise((r) => setTimeout(r, 3000));
task = await (await fetch(`${API}/tasks/${task.id}`, { headers })).json();
}
console.log(task.status, task.cost, task.output.map((o) => o.url));
Parametry
| Parametr | Typ | Dozwolone | Domyślnie |
|---|---|---|---|
prompt * | string | ≤ 2000 znaków | |
aspect_ratio | string | 16:9 9:16 | 16:9 |
resolution | string | 720p 1080p 4k | 720p |
duration | integer | 4 6 8 10 | 6 |
image_url | string | ||
image_urls | array | maks. 3 | |
video_urls | array | maks. 1 |
Ten sam schemat zwraca GET /v1/models/gemini-omni.









