Nano Banana 2.1 Text to Image
google/nano-banana-2.1/text-to-image
Google text-to-image generation with 1K–4K output, configurable thinking and token-based billing.
Examples
Parameters
| Name | Type | Default | Constraints | Description |
|---|---|---|---|---|
| prompt *Prompt | textarea | — | ≤ 5000 chars | Describe the image you want to generate. Be specific about the subject, style, colors, lighting, and composition; put any in-image text in quotes. |
| aspect_ratioAspect Ratio | select | 1:1 | 1:1 | 3:2 | 2:3 | 4:3 | 3:4 | 5:4 | 4:5 | 16:9 | … | Choose the aspect ratio for the generated image. |
| resolutionResolution | select | 1k | 1k | 2k | 4k | Select the long-edge resolution of the output image. Higher resolutions cost more and take longer. |
| thinking_levelThinking Level | select | medium | minimal | medium | high | Controls how much the model reasons before generating. Higher levels improve composition and detail at the cost of latency. |
| enable_web_searchWeb Search | boolean | false | — | Allow the model to search when useful for the prompt. Enabling this option does not add a fixed fee; this endpoint settles reported token usage. |
| enable_image_searchImage Search | boolean | false | — | Allow the model to search when useful for the prompt. Enabling this option does not add a fixed fee; this endpoint settles reported token usage. |
Output fields
| Field | Type | Description |
|---|---|---|
| text | string | Optional text accompanying the images. |
| images | array<string> | Generated image URLs. |
API
Call this model through one unified REST API. Get a key on the API Keys page.
cURL
# 1) Submit — returns { "task_uuid": "..." }
curl -X POST "https://www.namifusion.com/api/v1/marketplace/run/google/nano-banana-2.1/text-to-image" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"prompt": "A cinematic portrait, dramatic rim light, shallow depth of field",
"aspect_ratio": "1:1",
"resolution": "1k",
"thinking_level": "medium",
"enable_web_search": false,
"enable_image_search": false
}
}'
# 2) Poll until status is "completed", then read the output URLs
curl "https://www.namifusion.com/api/v1/marketplace/run/tasks/TASK_UUID" \
-H "Authorization: Bearer YOUR_API_KEY"Python
import time, requests
API_KEY = "YOUR_API_KEY"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}
# 1) Submit
resp = requests.post(
"https://www.namifusion.com/api/v1/marketplace/run/google/nano-banana-2.1/text-to-image",
headers=HEADERS,
json={
"input": {
"prompt": "A cinematic portrait, dramatic rim light, shallow depth of field",
"aspect_ratio": "1:1",
"resolution": "1k",
"thinking_level": "medium",
"enable_web_search": False,
"enable_image_search": False
}
},
)
resp.raise_for_status() # 401/402/429/5xx stop here instead of polling a bad task
task = resp.json()
# 2) Poll until a terminal state (completed / failed / cancelled).
# This model is allowed up to 300s server-side.
deadline = time.time() + 360
while task.get("status") not in ("completed", "failed", "cancelled"):
if time.time() > deadline:
raise TimeoutError(f"still {task.get('status')} — keep the task_uuid and poll later")
time.sleep(3)
poll = requests.get(f"https://www.namifusion.com/api/v1/marketplace/run/tasks/{task['task_uuid']}", headers=HEADERS)
poll.raise_for_status()
task = poll.json()
print(task["status"], task.get("output"))JavaScript
const API_KEY = "YOUR_API_KEY";
const HEADERS = { Authorization: `Bearer ${API_KEY}` };
// 1) Submit
const resp = await fetch("https://www.namifusion.com/api/v1/marketplace/run/google/nano-banana-2.1/text-to-image", {
method: "POST",
headers: { ...HEADERS, "Content-Type": "application/json" },
body: JSON.stringify({
"input": {
"prompt": "A cinematic portrait, dramatic rim light, shallow depth of field",
"aspect_ratio": "1:1",
"resolution": "1k",
"thinking_level": "medium",
"enable_web_search": false,
"enable_image_search": false
}
}),
});
if (!resp.ok) throw new Error(`submit failed: ${resp.status} ${await resp.text()}`);
let task = await resp.json();
// 2) Poll until a terminal state (completed / failed / cancelled).
// This model is allowed up to 300s server-side.
const deadline = Date.now() + 360 * 1000;
while (!["completed", "failed", "cancelled"].includes(task.status)) {
if (Date.now() > deadline) throw new Error(`still ${task.status} — keep the task_uuid and poll later`);
await new Promise((r) => setTimeout(r, 3000));
const poll = await fetch(`https://www.namifusion.com/api/v1/marketplace/run/tasks/${task.task_uuid}`, { headers: HEADERS });
if (!poll.ok) throw new Error(`poll failed: ${poll.status}`);
task = await poll.json();
}
console.log(task.status, task.output);Documentation
Nano Banana 2.1 Text to Image
Generate images from a text prompt.
Inputs
| Parameter | Required | Type, limits and default |
|---|---|---|
prompt | Yes | string; up to 5,000 characters. |
aspect_ratio | No | string; default: 1:1. 1:1, 3:2, 2:3, 4:3, 3:4, 5:4, 4:5, 16:9, 9:16, 21:9 |
resolution | No | string; 1k / 2k / 4k; default: 1k. |
thinking_level | No | string; minimal / medium / high; default: medium. |
enable_web_search | No | boolean; default: false. Allows on-demand search; the model decides whether to use it. |
enable_image_search | No | boolean; default: false. Allows on-demand search; the model decides whether to use it. |
Token pricing
| Meter | USD / 1M tokens | Credits / 1M tokens |
|---|---|---|
| Input (text and reference images) | $1.50 | 150 |
| Text output and thinking | $7.50 | 750 |
| Image output | $30.00 | 3000 |
Google Standard token rates; 1 USD = 100 credits. Reference images are charged as input tokens, with no flat per-reference fee. This endpoint settles token usage only; search switches do not add a fixed fee.
Submission precharges only the image portion: 3.36 / 5.04 / 11.34 credits for 1K / 2K / 4K. Completion adjusts the charge to the token total, refunding or collecting the difference. Final charges round up to 0.01 credit; account discounts apply separately.
API example
POST https://www.namifusion.com/api/v1/marketplace/run/google/nano-banana-2.1/text-to-image
Authorization: Bearer YOUR_NAMIFUSION_API_KEY
Content-Type: application/json
{
"input": {
"prompt": "A quiet bookstore at sunrise, with a sign reading OPEN.",
"resolution": "1k",
"thinking_level": "medium"
}
}
GET https://www.namifusion.com/api/v1/marketplace/run/tasks/{task_uuid}
Authorization: Bearer YOUR_NAMIFUSION_API_KEY
Submit once, then poll the returned task_uuid. Completed output.images contains image URLs; output.text may contain accompanying text.
Related models
z-image-spicy/text-to-image
Generate high-quality images from text with custom dimensions from 256 to 1536 pixels, intelligent prompt rewriting, and seed control for creative design and batch generation.
xAI Grok Imagine Image v2.0 Text to Image
xAI Grok Imagine Image V2.0 Text-to-Image generates high-quality images from text prompts, with configurable aspect ratio, resolution, and quality for creative visuals, social content, marketing assets, and production workflows. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Qwen Image 3.0 Pro Text to Image
Qwen Image 3.0 Pro is a professional-grade text-to-image model with superior quality and advanced prompt understanding. Up to 2k. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
ai/prefect-pony-xl
Prefect Pony XL delivers high-quality anime-style image generation for character art and illustrations. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
OpenAI GPT Image 2 Text-to-Image
OpenAI's GPT Image 2 Text-to-Image generates high-quality images from natural-language prompts. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
OpenAI GPT Image 2 Edit
OpenAI's GPT Image 2 Edit enables image editing from natural-language instructions with one or more reference images. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
OpenAI GPT Image 2.5 Sunburst Text-to-Image
High-fidelity image generation for detailed compositions and demanding production work, with up to 4K output.
OpenAI GPT Image 2.5 Flare Text-to-Image
Fast, balanced image generation from natural-language prompts, with up to 4K output.