nano-banana-pro-flash| Field | Type | Required | Notes |
|---|---|---|---|
model | string | Yes | Must be nano-banana-pro-flash. |
callBackUrl | string | No | Public HTTPS URL for final callback. |
input.prompt | string | Yes | 2 to 3000 characters. |
input.image_input | string[] | No | Reference images. Combined with reference_images, maximum 3 items. |
input.reference_images | string[] | No | Reference images. Combined with image_input, maximum 3 items. |
input.aspect_ratio | string | No | Defaults to 1:1. Accepts 1:1, 2:3, 3:2, 4:3, 3:4, 5:4, 4:5, 16:9, 9:16, 21:9 and supported aliases. |
input.resolution | string | No | Defaults to 1K. Accepts 1K, 2K, 4K, low, medium, high. |
input.use_google_search_tool | boolean | No | Passed only for the Flash model. |
input.output_format | string | No | If provided, only png is accepted. |
.png, .jpg, .jpeg, or .webp, or use a data URI with one of those image types.model and input.prompt are required. Add optional fields from the table above only when your use case needs them. To receive a webhook, add a top-level callBackUrl field with a public HTTPS URL.GET /api/v1/jobs/recordInfo?taskId=... to retrieve progress and final results. For production usage, pass callBackUrl when creating the task and still keep polling as a fallback.callBackUrl is optional. When provided, LiangXin sends the same payload shape as recordInfo after the task reaches success or fail. Your server should return any 2xx status. Webhook delivery is retried briefly, but clients should not rely on webhooks only.200 and a public taskId. Store this ID and query it with GET /api/v1/jobs/recordInfo.{
"code": 400,
"msg": "input.prompt is required",
"data": null
}{
"error": {
"message": "invalid token",
"type": "new_api_error",
"code": ""
}
}400 invalid request, missing model, unsupported model, invalid model parameter, or price not configured; 401 invalid or missing API key; 403 insufficient quota or access denied; 413 request body too large; 422 upstream validation rejected the request; 429 current group/upstream load is saturated; 500 upstream or internal task error.curl --location --request POST '/api/v1/jobs/createTask' \
--header 'Content-Type: application/json' \
--data-raw '{
"model": "nano-banana-pro-flash",
"input": {
"prompt": "A clean app icon for an AI video editor, vivid but minimal"
}
}'{
"code": 200,
"msg": "success",
"data": {
"taskId": "task_nano-banana-pro-flash_1777600000000"
}
}