API
API
Nano Banana 2 Lite API
ImageNano Banana 2 Lite API delivers fast, efficient image generation with reliable character consistency, smooth multi-image blending, and natural language editing for everyday creative workflows. Integrate Nano Banana 2 Lite API for lightweight, high-quality visual generation.
Body
application/jsonmodelstringrequirednano-banana-2-liteinput.promptstringrequiredDescribe the image to create, or the changes to make to your reference images. Whitespace is trimmed.
Maximum length: 5,000 characters
input.imagesstring[]optionalOptional reference image URLs. Use publicly accessible HTTPS URLs only. Omit for text-to-image.
Maximum items: 14
input.aspect_ratiostringoptionalOutput width-to-height ratio. Auto lets the model choose.
Default: auto
Request examples
POST /api/v1/createcurl -X POST https://nanobanana.io/api/v1/create \
-H "Authorization: Bearer sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-2-lite",
"input": {
"prompt": "A cinematic product photo of a futuristic banana-shaped camera"
}
}'POST /api/v1/create · HTTP 201{
"data": {
"task_id": "task_example",
"model": "nano-banana-2-lite",
"status": "processing",
"credits": 18
}
}Poll this endpoint using the returned task ID until the task is completed or failed. We recommend polling every 5 seconds to check the latest task status.
POST /api/v1/check{
"task_id": "task_example"
}Response
Task status returned by POST /api/v1/check. The IDs, URLs, and timestamps below are illustrative.
idstringrequiredTask identifier in data.id, matching the task_id used in the check request.
statusstringrequiredfailed_reasonstringoptionalOnly returned when status is failed, to explain the failure. This field is omitted for completed and processing.
Completed · completed
The download URLs are in data.data.results.
POST /api/v1/check · HTTP 200{
"data": {
"id": "task_example",
"created_at": 1791244800,
"model": "nano-banana-2-lite",
"status": "completed",
"data": {
"results": [
"https://example.com/generated.png"
],
"processing_time": 18
}
}
}Other statuses
For processing or failed, data.data is null. This example shows failed: only failed includes failed_reason. Continue polling for processing; stop polling for failed.
POST /api/v1/check · HTTP 200{
"data": {
"id": "task_example",
"created_at": 1791244800,
"model": "nano-banana-2-lite",
"status": "failed",
"data": null,
"failed_reason": "Generation failed."
}
}Credit usage
Credits consumed for a request generating one image.
| Generation | Credits per request |
|---|---|
| Single image | 18 |
Set the listed input parameters explicitly to use the corresponding rate. Requests generating multiple images may consume more credits.
The credits field returned by POST /api/v1/create shows the amount charged for the task.
