Integrate nano-banana2-lite through the media task API. Request examples, parameters, authentication and result handling.
/v1/tasksMODELnano-banana2-liteCode examples & responses
/v1/taskscurl "https://newrouters.com/v1/tasks" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
--data '{
"model": "nano-banana2-lite",
"input": {
"resolution": "1k",
"aspect_ratio": "auto",
"output_format": "jpeg",
"prompt": "A small red house in a quiet garden",
"images": []
}
}'const apiBaseUrl = "https://newrouters.com";
const apiKey = process.env.API_KEY;
if (!apiKey) throw new Error("Set API_KEY in your server environment");
const response = await fetch(apiBaseUrl + "/v1/tasks", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer " + apiKey
},
body: JSON.stringify({
"model": "nano-banana2-lite",
"input": {
"resolution": "1k",
"aspect_ratio": "auto",
"output_format": "jpeg",
"prompt": "A small red house in a quiet garden",
"images": []
}
})
});
const result = await response.json();
if (!response.ok) throw new Error(JSON.stringify(result));
console.log(result);import json
import os
from urllib.request import Request, urlopen
api_base_url = "https://newrouters.com"
api_key = os.environ["API_KEY"]
body = json.loads("{\"model\":\"nano-banana2-lite\",\"input\":{\"resolution\":\"1k\",\"aspect_ratio\":\"auto\",\"output_format\":\"jpeg\",\"prompt\":\"A small red house in a quiet garden\",\"images\":[]}}")
request = Request(
api_base_url + "/v1/tasks",
data=json.dumps(body).encode("utf-8"),
headers={
"Content-Type": "application/json",
"Authorization": "Bearer " + api_key
},
method="POST",
)
with urlopen(request) as response:
print(json.load(response))The API origin is filled in. Set API_KEY before running. Examples never submit automatically.
202Task accepted
{
"id": "TASK_ID",
"status": "pending",
"model": "nano-banana2-lite",
"result": null,
"error": null
}200Successful result
{
"id": "TASK_ID",
"status": "succeeded",
"model": "nano-banana2-lite",
"result": {
"assets": [
"https://example.com/output.png"
]
},
"error": null
}- Create a task01
POST /v1/tasksSubmit model + input. Save the returned task id.
202 · pending - Poll status02
GET /v1/tasks/{id}Wait and poll again while pending or processing.
Wait → poll again - Read the outcome03
result.assets[] / errorRead the result for the terminal task state.
succeeded→ assetsfailed→ error
Use the exact API model ID nano-banana2-lite. This guide describes the platform contract; check the live catalog before calling the model.
Request example
Section titled “Request example”The platform origin is filled in at build time. Set API_KEY to your server-side key before running.
curl "https://newrouters.com/v1/tasks" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $API_KEY" \ --data '{ "model": "nano-banana2-lite", "input": { "resolution": "1k", "aspect_ratio": "auto", "output_format": "jpeg", "prompt": "A small red house in a quiet garden", "images": [] }}'Retrieve the result
Section titled “Retrieve the result”The creation response accepts a task, not the final output. Replace TASK_ID with its returned ID and poll until succeeded or failed.
curl "https://newrouters.com/v1/tasks/TASK_ID" \ -H "Authorization: Bearer $API_KEY"Read result on success and error on failure. Keep the original task ID when the upstream outcome is unknown; do not submit a duplicate paid generation.
Parameters
Section titled “Parameters”| Field | Type | Requirement | Default | Constraints |
|---|---|---|---|---|
images | array | Optional | [] | — |
prompt | string | Required | — | max length 100000 |
resolution | enum | Optional | "1k" | 1k |
aspect_ratio | enum | Optional | "auto" | auto, 1:1, 3:2, 2:3, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9, 1:4, 1:8, 4:1, 8:1 |
output_format | enum | Optional | "jpeg" | png, jpeg, webp |
Official sources and identity
Section titled “Official sources and identity”Checked: 2026-09-27 · Platform model: nano-banana2-lite · Official reference: gemini-3.1-flash-lite-image
Pricing and troubleshooting
Section titled “Pricing and troubleshooting”Check current availability, contract and account pricing before integration. Keep request IDs and usage receipts when diagnosing errors. Complete API reference