# Nano Banana Pro | Edit Nano Banana Pro Edit generates refined image to image transformations, producing ultra high quality outputs guided by your prompt. ## API Information - **Model Slug:** nano-banana-pro-edit - **Branded URL:** https://www.eachlabs.ai/google/nano-banana/nano-banana-pro-edit - **Provider:** Google - **Category:** Image to Image - **Output Type:** array - **Status:** active - **Version:** 0.0.1 - **Base Cost:** 1K/2K (default): $0.15 per image - **Estimated Processing Time:** 30 seconds - **Last Updated:** 2026-08-16 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/nano-banana-pro-edit ## Pricing - **Charge Type:** dynamic - **Estimated Price (default example):** $0.1500 - **Pricing Details:** 1K/2K (default): $0.15 per image ### Pricing Rules | Condition | Pricing | | --- | --- | | resolution eq_i "4K" | 4K: $0.30 per image | | Rule 2 | 1K/2K (default): $0.15 per image | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | The prompt for image editing. | | image_urls | array | Yes | - | 1–10 | The URLs of the images to use for image-to-image generation or image editing. | | aspect_ratio | string | No | 1:1 | auto,21:9,16:9,3:2,4:3,5:4,1:1,4:5,3:4,2:3,9:16 | The aspect ratio of the generated image. | | resolution | string | No | 1K | 1K,2K,4K | The resolution of the image to generate. | | output_format | string | No | png | jpeg,png,webp | The format of the generated image. | | num_images | integer | No | 1 | 1–4 | The number of images to generate. | | limit_generations | boolean | No | false | - | Experimental parameter to limit the number of generations from each round of prompting to 1. Set to True to to disregard any instructions in the prompt regarding the number of images to generate. | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "nano-banana-pro-edit", "input": { "prompt": "make a photo of the woman riding the white horse", "image_urls": [ "https://storage.googleapis.com/magicpoint/inputs/nano-banana-pro-edit-input-1.jpg", "https://storage.googleapis.com/magicpoint/inputs/nano-banana-pro-edit-input-2.png" ] } }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "array", "metrics": { "predict_time": "number (seconds)" } } ``` ## Polling ```bash curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \ -H "Authorization: Bearer YOUR_API_KEY" ``` | Status | Meaning | |--------|---------| | `processing` | Still running — poll again | | `success` | Done — read `output` | | `error` | Failed — read `message` / `details` | ## Webhook (alternative to polling) Pass `"webhook_url": "https://your.host/path"` in the create request. Eachlabs POSTs this payload when the job ends: ```json { "exec_id": "prediction-uuid", "status": "succeeded", "output": "https://...", "error": "" } ``` `status` is `"succeeded"` or `"failed"`. `exec_id` equals the `predictionID` from create. Return 2xx within 30 seconds. ## Errors Error body: `{ "status": "error", "message": "...", "details": "..." }` | Code | Meaning | |------|---------| | `400` | Invalid input | | `401` | Missing / invalid `Authorization` bearer token | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **nano-banana-pro-edit — Image Editing AI Model** nano-banana-pro-edit, Google's advanced **image-to-image AI model** from the nano-banana family powered by Gemini 3 Pro, transforms input images with natural language prompts for ultra-high-quality edits. It excels in refined image-to-image transformations, delivering 4K outputs grounded in real-world accuracy via Google Search integration. Developers and creators seeking a **Google image-to-image** solution turn to nano-banana-pro-edit for precise edits like adjusting lighting or swapping elements while maintaining consistency. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `Authorization: Bearer YOUR_API_KEY`. Generate a key from the Eachlabs dashboard at https://www.eachlabs.ai/dashboard/api-keys. - File-typed parameters (`*_url`, `image_url`, `video_url`, `audio_url`, etc.) accept publicly-reachable HTTPS URLs only. Upload your asset first (GCS / S3 / your CDN) and pass the resulting URL. Data-URIs and localhost URLs are rejected. - For structured parameters (arrays / objects) send real JSON values, not stringified payloads. - Monetary values are reported in USD; per-token / per-megapixel rates may be billed in micro-cents internally. - Prefer `webhook_url` over polling for long-running predictions — see the Webhook Callback section.