NanobananaNanobanana 2 Lite Image Generation
Nanobanana

Nanobanana 2 Lite Image Generation

  • Nano Banana 2 Lite (gemini-3.1-flash-lite-image) model supports text-to-image, image-to-image, image editing and other generation modes
  • Asynchronous processing mode, use the returned task ID to query
  • Generated image links are valid for 24 hours, please save them promptly
POST
/
v1
/
images
/
generations
Try it
Nano Banana 2 Lite Interface
curl --request POST \
--url https://api.apiko.example/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "gemini-3.1-flash-lite-image",
"prompt": "A cat playing on the grass"
}
'
{
  "created": 1757165031,
  "id": "task-unified-1757165031-uyujaw3d",
  "model": "gemini-3.1-flash-lite-image",
  "object": "image.generation.task",
  "progress": 0,
  "status": "pending",
  "task_info": {
    "can_cancel": true,
    "estimated_time": 45
  },
  "type": "image",
  "usage": {
    "billing_rule": "per_call",
    "credits_reserved": 8.7,
    "user_group": "default"
  }
}

Authorizations

Authorization
stringheaderrequired
##All APIs require Bearer Token authentication##
Get API Key:
Visit API Key Management Page to get your API Key
Add to request header:
Authorization: Bearer YOUR_API_KEY

Body

application/json
model
enum<string>default:gemini-3.1-flash-lite-imagerequired
Image generation model name, official channel, better stability and controllability, suitable for commercial scenarios
Available options: gemini-3.1-flash-lite-image
Example:"gemini-3.1-flash-lite-image"
prompt
stringrequired
Prompt describing the image to be generated, or describing how to edit the input image, limited to 2000 tokens
Maximum string length: 2000
Example:"A cat playing in the grass"
size
enum<string>
Aspect ratio of the generated image, default is auto
Available options: auto, 1:1, 1:4, 4:1, 1:8, 8:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9
quality
enum<string>
Quality of the generated image, default is 1K
Available options: 1K
image_urls
string<uri>[]
Reference image URL list for image-to-image and image editing functions
Note:
  • Maximum number of input images per request: 14
  • Image size: not exceeding 20MB
  • Supported file formats: .jpeg, .jpg, .png, .webp
  • Image URLs must be directly accessible by the server, or the image URL should directly download when accessed (typically these URLs end with image file extensions, such as .png, .jpg)
Example:
[
"https://example.com/image1.png",
"https://example.com/image2.png"
]
model_params
object
Model extension parameters
Show child attributes
model_params.thinking_level
enum<string>
Thinking level, controls the depth of reasoning the model performs before generating images, defaults to auto
  • auto: Automatically selects thinking level
  • min: Minimal reasoning, fastest
  • high: Deep reasoning, best quality
Available options: auto, min, high
Example:"auto"
callback_url
string<uri>
HTTPS callback address after task completion
Callback Timing:
  • Triggered when task is completed, failed, or cancelled
  • Sent after billing confirmation is completed
Security Restrictions:
  • Only HTTPS protocol is supported
  • Callback to internal IP addresses is prohibited (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)
  • URL length must not exceed 2048 characters
Callback Mechanism:
  • Timeout: 10 seconds
  • Maximum 3 retries on failure (retries after 1 second/2 seconds/4 seconds)
  • Callback response body format is consistent with the task query API response format
  • Callback address returning 2xx status code is considered successful, other status codes will trigger retry
Example:"https://your-domain.com/webhooks/image-task-completed"

Response

200 - application/json

Image generation task created successfully

created
integer
Task creation timestamp
Example:1757165031
id
string
Task ID
Example:"task-unified-1757165031-uyujaw3d"
model
string
Actual model name used
Example:"gemini-3.1-flash-lite-image"
object
enum<string>
Specific task type
Available options: image.generation.task
progress
integer
Task progress percentage (0-100)
Required range: 0 <= x <= 100
Example:0
status
enum<string>
Task status
Available options: pending, processing, completed, failed
Example:"pending"
task_info
object
Asynchronous task information
Show child attributes
task_info.can_cancel
boolean
Whether the task can be cancelled
Example:true
task_info.estimated_time
integer
Estimated completion time (seconds)
Required range: x >= 0
Example:45
type
enum<string>
Task output type
Available options: text, image, audio, video
Example:"image"
usage
object
Usage and billing information
Show child attributes
usage.billing_rule
enum<string>
Billing rule
Available options: per_call, per_token, per_second
Example:"per_call"
usage.credits_reserved
number
Estimated credits consumed
Required range: x >= 0
Example:8.7
usage.user_group
enum<string>
User group category
Available options: default, vip
Example:"default"