1. Google
liangxin
  • Market
  • Image Models
    • Seedream
      • Seedream4.5 - Text to Image
      • Seedream5.0 Lite - Text to Image
    • Z-image
      • Z-Image
    • Google
      • Google - Gemini 2.5 Flash Image Preview
        POST
      • Google - Nano Banana Pro
        POST
      • Google - Nano Banana Pro Flash
        POST
      • Google - imagen4-fast
        POST
      • Google - imagen4-ultra
        POST
    • Flux-2
      • Flux-2 - Pro Text to Image
  • Get Task Details
    GET
  1. Google

Google - Nano Banana Pro

POST
/api/v1/jobs/createTask
Create a Nano Banana Pro task.

Model Value#

nano-banana-pro

Request Body#

FieldTypeRequiredNotes
modelstringYesMust be nano-banana-pro.
callBackUrlstringNoPublic HTTPS URL for final callback.
input.promptstringYes2 to 3000 characters.
input.image_inputstring[]NoReference images. Combined with reference_images, maximum 3 items.
input.reference_imagesstring[]NoReference images. Combined with image_input, maximum 3 items.
input.aspect_ratiostringNoDefaults 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.resolutionstringNoDefaults to 2K. Accepts 1K, 2K, 4K, low, medium, high.
input.output_formatstringNoIf provided, only png is accepted.
Reference image URLs must end with .png, .jpg, .jpeg, or .webp, or use a data URI with one of those image types.

Minimal Runnable Example#

The request body shown in this page is intentionally minimal: only 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.

Query Task Status#

Use 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.

Callback#

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.

Response And Error Format#

Successful task creation returns HTTP 200 and a public taskId. Store this ID and query it with GET /api/v1/jobs/recordInfo.
Task-layer validation and upstream errors use this envelope:
{
  "code": 400,
  "msg": "input.prompt is required",
  "data": null
}
Authentication errors are returned before the task layer and use the platform error envelope:
{
  "error": {
    "message": "invalid token",
    "type": "new_api_error",
    "code": ""
  }
}
Common HTTP statuses: 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.

Request

Header Params

Body Params application/json

Examples

Responses

🟢200200 - Task accepted
application/json
Body

🟠400400 - Invalid request
🟠401401 - Invalid API key
🟠403403 - Insufficient quota or access denied
🟠413413 - Request body too large
🟠422422 - Upstream validation failed
🟠429429 - Upstream load saturated
🔴500500 - Upstream or internal error
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/api/v1/jobs/createTask' \
--header 'Content-Type: application/json' \
--data-raw '{
  "model": "nano-banana-pro",
  "input": {
    "prompt": "A cinematic product photo of a compact espresso machine on a marble counter"
  }
}'
Response Response Example
200 - 200 - Task accepted
{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "task_nano-banana-pro_1777600000000"
  }
}
Modified at 2026-05-01 06:34:47
Previous
Google - Gemini 2.5 Flash Image Preview
Next
Google - Nano Banana Pro Flash
Built with