Nano Banana Pro
nano-banana-pro
A quality-first image generation and editing model built on the Gemini 3 Pro reasoning backbone, stronger at multi-image character consistency and text rendering, supporting native 2K output with intelligent upscaling to 4K
Try nano-banana-pro
Input
Showcases
View all showcasesOutput
imagePricing
nano-banana-pro per image
| Specifications | Unit Price |
|---|---|
| 1K | $0.057 |
| 2K | $0.057 |
| 4K | $0.100 |
Overview
nano-banana-pro is an image generation and editing model from Google that supports both text-to-image and image-to-image workflows. It targets quality-first creative tasks, performing more reliably on composition, multi-image character consistency, and text rendering, and supports 1K to 4K output with a range of aspect ratios. It suits designers, e-commerce and brand content teams that need series-based visual output, and developers integrating image generation into product workflows.
Key Highlights
- Up to 4K resolution output — output resolution can be selected among 1K, 2K, and 4K, covering the full workflow from quick previews to high-definition final images.
- Up to 8 reference images — in image-to-image mode, multiple reference images can be supplied to maintain character and style consistency across images, suitable for series production.
- More controllable composition and text rendering — reasoning-based parsing of prompt semantics and spatial relationships makes the model more usable for layout-heavy tasks such as posters and covers containing text.
- Adjustable aspect ratio and format parameters — supports 11 aspect ratios and two output formats, png and jpg, making it easy to match the asset specs of different channels directly.
Capabilities
Text-to-image and image-to-image in one: The same model can generate new images from text prompts and edit or transform input images per prompt, reducing the cost of switching between multiple models.
Multi-reference consistency: Up to 8 reference images can be supplied, letting the model maintain characters and visual style across a series of images, suitable for content projects requiring a complete set of outputs.
Resolution and aspect ratio control: Output can be 1K, 2K, or 4K, with 11 ratios from 1:1 to 21:9 plus auto selection, producing assets that directly match placement specs.
Semantic and compositional reasoning: Object relationships and spatial layout in the prompt are parsed before generation, giving more stable composition under complex descriptions and reducing repeated retries.
Use Cases
- Brand and social media content teams: campaign copy — produce batches of series posters and social media images in a consistent style, using multi-reference consistency to keep characters and visual language from drifting.
- E-commerce and advertising design: product images and creative briefs — use image-to-image to replace scenes and styles while preserving the product subject, producing images ready for detail pages and ad placements.
- Game and film pre-production: character design and storyboards — lock character traits with multiple reference images and generate concept art and storyboards that stay consistent across shots for internal review and iteration.
- Publishing and graphic design: cover and poster typography — rely on text rendering and composition control to generate draft covers and posters with title text, reducing later rework.
Limitations and Selection Advice
This model is positioned as quality-first, and its generation process involves heavy reasoning, so it is slower than lightweight models focused on throughput and is not suited to scenarios requiring millisecond-level response or large-volume rapid trial and error. Character consistency and text rendering depend on prompts and the specific image, and are not absolutely guaranteed; for complex layouts, validate with a small batch first. It handles only image generation and editing, not general conversation or text tasks. If the primary goal is low-cost, high-frequency iteration, consider a lighter model in the same family.
Frequently asked questions
View all FAQs →-
What is Nano Banana Pro best for?
Generate high-detail commercial images or remix optional references with broad ratios and up to 4K output.
-
Does Nano Banana Pro accept reference images?
Yes, up to 8 optional references. Omit them for text-only generation.
-
Which output settings are supported?
The page exposes 1K, 2K, 4K and auto, 1:1, 16:9, 9:16, 3:4, 4:3, 3:2, 2:3, 5:4, 4:5, 21:9; use the Playground contract for the final available set.
-
How is Nano Banana Pro billed?
Billing is per successful generated image. Resolution or quality differences, when present, are reflected by the live page price.
Create a generation task
https://api.hiapi.ai/v1/tasks Headers
AuthorizationstringRequiredAccount API key. Required on every request. Example: Bearer YOUR_HIAPI_API_KEY. Get your API key
Content-TypestringOptionalThe request body is always parsed as JSON; when sent, only application/json (optionally with charset) is accepted — any other value returns 415. Example: application/json.
Idempotency-KeystringOptionalIdempotency key, up to 255 bytes. Retries with the same key from the same account create the task only once; replays return the original taskId.
On network timeouts or client retries, the same key creates the task only once — no double charges (scope: the API key's account). Use a business-unique identifier as the key (e.g. "order-42"); replays return the original taskId, and keys expire 24 hours after the first request. See the Unified Async API overview for the full scenario matrix.
Body
modelstringRequiredCurrent fixed value: nano-banana-pro
routestringOptionalCurrent fixed value: default
inputobjectRequired
Business parameters for nano-banana-pro and route default — see the parameter table below.
promptstringRequiredminLength 1maxLength 20000A text prompt describing the image content to generate or edit, as a string, with a maximum length of 20,000 characters.
resolutionstringOptionalDefault: "1K"Controls the resolution of the output image, as a string, defaulting to 1K.
1K2K4Kimage_inputarrayOptionalmaxItems 8An optional array of reference image URLs, each element being an image link, up to 8 images, supporting image/jpeg, image/png, and image/webp formats, with a maximum file size of 30MB per image.
Array [ string ]
aspect_ratiostringOptionalDefault: "auto"Controls the aspect ratio of the output image, as a string, defaulting to auto.
auto1:116:99:163:44:33:22:3Show all (3)
5:44:521:9output_formatstringOptionalDefault: "png"Controls the format of the output image, as a string, defaulting to png.
pngjpgcallbackobjectOptional
Terminal-state notification config. When omitted, no callback is delivered — poll the task yourself. See the callback note below.
Provide callback.url when creating a task and HiAPI POSTs to your service once the task reaches a terminal state — no polling needed. The callback payload mirrors the task detail structure; signature verification, delivery retries and idempotency are documented on the Unified Async API overview page.
urlstringRequiredRequired when callback is present. A POST is sent to this URL once the task reaches a terminal state; must be a valid http(s) URL.
whenstringOptionalDefault: "final"Only final is supported today — notified on both success and fail.
finalstoragestringOptionalDefault: "temp"Artifact storage tier: temp (default, retained about 7 days) or persistent (long-term, billed by size). Insufficient balance or exceeding the storage cap silently downgrades to temp; the effective tier is shown in the task detail response.
temppersistentRequest examples
# Submit an async task; returns a taskId immediately (no waiting for generation)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-pro",
"input": {
"prompt": "…",
"resolution": "1K",
"aspect_ratio": "auto",
"output_format": "png"
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "nano-banana-pro",
input: {
"prompt": "…",
"resolution": "1K",
"aspect_ratio": "auto",
"output_format": "png"
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "nano-banana-pro",
"input": {
"prompt": "…",
"resolution": "1K",
"aspect_ratio": "auto",
"output_format": "png"
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Get task detail
https://api.hiapi.ai/v1/tasks/:id Response fields
taskIdstringRequiredTask ID, always prefixed with tk-hiapi-.
modelstringRequiredResolved full model name. Tasks submitted with the route parameter return base@route (e.g. gpt-image-2/text-to-image@ext); otherwise identical to the name passed at creation.
routestringOptionalPresent only when the task was submitted with an explicit route parameter; echoes the submitted value.
statusstringRequiredTask status.
queued Queued, not started yet.
handling Being processed.
archiving Processing finished, artifacts being prepared.
success Terminal: completed, artifacts available (output returned).
fail Terminal: failed (error returned).
After submission, check status: success and fail are terminal, everything else is non-terminal. Poll every 1–3 seconds until terminal. On success, download artifacts from output[].url and transfer them before expireAt; pass storage: "persistent" at creation time when long-term retention is needed.
creatednumberRequiredTask creation time (Unix seconds).
completednumberRequiredUnix seconds when the task reached a terminal state; fixed to 0 while not terminal.
outputarrayOptional
Present only when status == success. Artifact list — always an array; a single task may return multiple types at once (e.g. video + first_frame).
Array [ object ]
Array items
urlstringRequiredArtifact URL, directly downloadable.
typestringRequiredCurrent possible values: video, image, audio, first_frame, last_frame, thumbnail; more may be added later.
expireAtnumberRequiredUnix seconds until which the artifact remains accessible; download or transfer before it expires.
errorobjectOptional
Present only when status == fail.
codestringRequiredBusiness error code.
messagestringRequiredError description.
Response examples
Success
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} Processing (non-terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Failed
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
View all articles →Related Models
View all models →Same Type
-
FIBO 1.5 Bria $0.058 /image -
Krea 3 Krea $0.036 /image -
GPT Image 2 OpenAI $0.007 /image -
Ideogram V3 Character Ideogram $0.090 /image -
Nano Banana Google $0.021 /image -
FLUX.2 Black Forest Labs $0.035 /image -
Nano Banana 2 Lite Google $0.033 /image -
Seedream 5.0 ByteDance $0.025 /image -
FASHN Tryon v1.6 FASHN $0.107 /image -
Grok Imagine Image 2.0 xAI $0.052 /image -
FLUX.1 Schnell Black Forest Labs $0.005 /image -
Muse Image 1.0 Meta $0.015 per task
Same Provider
-
Nano Banana Google $0.021 /image -
Lyria 3.5 Google $0.090 /song -
Lyria 3 Pro Google $0.140 /song -
Gemini Omni 1.1 Flash Google $0.450 /video -
Nano Banana 2 Lite Google $0.033 /image -
Google Virtual Try-On Google $0.107 /image -
Veo 3.1 Google $0.290 /second -
Veo 3.1 Lite Google $0.060 /second -
Nano Banana 2 Google $0.036 /image -
Imagen 4 Google $0.030 /image -
Veo 3.1 Fast Google $0.170 /second -
Gemini 3.1 Flash TTS Google --










