Nano Banana 2.1 Text to Image
google/nano-banana-2.1/text-to-image
google/nano-banana-2.1/text-to-image. Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất.
Mô hình liên quan
Đầy đủ tham số, lược đồ đầu ra và giá hiện tại
| Chợ API mô hình AI | Một nền tảng cho mọi thứ | Phổ biến nhất | Điều khoản | Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất. |
|---|---|---|---|---|
| prompt *Prompt | textarea | — | ≤ 5000 chars | |
| aspect_ratioAspect Ratio | select | 1:1 | 1:1 | 3:2 | 2:3 | 4:3 | 3:4 | 5:4 | 4:5 | 16:9 | … | |
| resolutionResolution | select | 1k | 1k | 2k | 4k | |
| thinking_levelThinking Level | select | medium | minimal | medium | high | |
| enable_web_searchWeb Search | boolean | false | — | |
| enable_image_searchImage Search | boolean | false | — |
Đầy đủ tham số, lược đồ đầu ra và giá hiện tại
| Tìm hiểu thêm | Một nền tảng cho mọi thứ | Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất. |
|---|---|---|
| text | string | |
| images | array<string> |
API
Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất.
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);Tài liệu API
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.
Mô hình liên quan
z-image-spicy/text-to-image
z-image-spicy/text-to-image. Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất.
xAI Grok Imagine Image v2.0 Text to Image
x-ai/grok-imagine-image-v2.0/text-to-image. Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất.
Qwen Image 3.0 Pro Text to Image
qwen-image-3.0-pro/text-to-image. Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất.
ai/prefect-pony-xl
prefect-pony-xl/text-to-image. Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất.
OpenAI GPT Image 2 Text-to-Image
openai/gpt-image-2/text-to-image. Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất.
OpenAI GPT Image 2 Edit
openai/gpt-image-2/edit. Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất.
OpenAI GPT Image 2.5 Sunburst Text-to-Image
openai/gpt-image-2.5-sunburst/text-to-image. Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất.
OpenAI GPT Image 2.5 Flare Text-to-Image
openai/gpt-image-2.5-flare/text-to-image. Duyệt API mô hình ảnh, video và đổi khuôn mặt. Thử mô hình rồi tích hợp qua một API REST thống nhất.