Nano Banana 2 to Gemini 3.1 Flash Image od Google, szybsza odmiana rodziny Nano Banana. Obraz 1K powstaje zwykle w 10-30 sekund. Model tworzy grafiki z tekstu i z obrazów (do 14 referencji), zwraca do 4 wyników w jednym zapytaniu i ma aż 14 proporcji, w tym skrajne 1:4, 4:1, 1:8 i 8:1. Rozdzielczość wybierasz od 0,5K do 4K. Gdy potrzebujesz najwyższej jakości pojedynczej grafiki, porównaj go z Nano Banana Pro.
Do czego się nadaje
- Długie banery 8:1 na stronę i pionowe paski 1:8 do sidebarów
- Kilka wariantów miniatury w jednym przebiegu do testów A/B
- Szybkie szkice w 0,5K przed renderem w wyższej rozdzielczości
- Rolki i stories 9:16 z postacią zachowaną z referencji
Jak pisać prompty
- Google zaleca do 10 referencji obiektów i do 4 referencji postaci w jednym zapytaniu.
- Przy formatach 8:1 opisz układ od lewej do prawej, żeby scena nie była pusta.
- Ustaw
num_images: 4i wybierz najlepszy kadr zamiast poprawiać jeden. - Proste szkice rób w 0,5K, a 2K lub 4K zostaw na wersję do publikacji.
FAQ
Ile kosztuje Nano Banana 2?
Aktualna stawka to od 0,411 zł za obraz, z VAT-em. Nie płacisz za generacje zakończone błędem, bo środki są wtedy zwalniane w całości.
Jak długo trwa wygenerowanie obrazu?
Według Google obraz 1K powstaje zwykle w 10-30 sekund. Przez API możesz dodać ?wait=60, a serwer odda gotowy wynik w tej samej odpowiedzi - opis jest w dokumentacji.
Czy mogę zamówić kilka obrazów naraz?
Tak, do 4 w jednym zapytaniu przez parametr num_images. W Jantaris Studio liczbę wyników ustawiasz przed generacją.
Jak wywołać Nano Banana 2 przez API
curl https://jantaris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $JANTARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-2",
"input": {
"prompt": "Product photo of a matte black ceramic coffee cup on a travertine table, soft window light, 50mm",
"aspect_ratio": "1:1",
"resolution": "1k"
}
}'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": "nano-banana-2",
"input": {
"prompt": "Product photo of a matte black ceramic coffee cup on a travertine table, soft window light, 50mm",
"aspect_ratio": "1:1",
"resolution": "1k"
}
}).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": "nano-banana-2",
"input": {
"prompt": "Product photo of a matte black ceramic coffee cup on a travertine table, soft window light, 50mm",
"aspect_ratio": "1:1",
"resolution": "1k"
}
}),
})).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 | ≤ 32000 znaków | |
aspect_ratio | string | 1:1 2:3 3:2 3:4 4:3 4:5 5:4 9:16 16:9 21:9 1:4 4:1 1:8 8:1 | 1:1 |
resolution | string | 0.5k 1k 2k 4k | 1k |
num_images | integer | 1-4 | 1 |
image_urls | array | maks. 14 |
Ten sam schemat zwraca GET /v1/models/nano-banana-2.












