Nano Banana 2 is Google's Gemini 3.1 Flash Image, released in February 2026. It covers text-to-image and image-to-image with up to 14 reference images and returns up to 4 images per request. Resolution runs from 0.5K for quick drafts to 4K, and the 14 aspect ratios include strips such as 1:4, 4:1, 1:8 and 8:1. Google also offers web and image search grounding for this model, but Jantaris does not expose it yet. A 1K image typically finishes in 10-30 seconds.
Best for
- Fast concept rounds with 4 variations per call
- Long web banners and vertical strips at 4:1, 8:1 or 1:8
- Several sizes of one visual, from a 0.5K draft to a 4K final
- Keeping a character consistent across a series with reference photos
Prompting tips
- The recommended reference mix is up to 10 object images plus up to 4 character images.
- Use 0.5k for layout drafts, then re-render the chosen prompt at 2k or 4k.
- For extreme ratios, describe the composition along the long axis: "left to right: logo, headline, product".
- Set
num_imagesto 4 to compare interpretations of one prompt in a single call.
FAQ
How much does the Nano Banana 2 API cost?
The rate is from $0.07 per image, taken from your prepaid Jantaris balance. Failed generations are not charged.
How fast is Nano Banana 2?
A 1K image typically completes in 10-30 seconds. For short jobs you can call /v1/generate?wait=60 and get the finished image in the same response; see /docs/generate.
Does Nano Banana 2 support 4K?
Yes, 4K is the top of its four tiers (0.5K, 1K, 2K, 4K). For heavier multi-reference compositing, compare it with Nano Banana Pro.
How to call Nano Banana 2 via 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));
Parameters
| Parameter | Type | Allowed | Default |
|---|---|---|---|
prompt * | string | ≤ 32000 chars | |
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 | max 14 |
The same schema is available from GET /v1/models/nano-banana-2.












