Edit an image or combine visual references with Nano Banana 2.1. Provide image URLs and a prompt describing what to change, then retrieve the result from the asynchronous task.
Developer API pricing
Provider: SeeAPI
USD estimate: $0.0037 / credit · Estimated equivalent, not an additional charge.
1K: 6 credits/gen (≈ $0.022/gen)
2K: 10 credits/gen (≈ $0.037/gen)
4K: 12 credits/gen (≈ $0.045/gen)
/v1/generationsA new, stable key for each generation request. Reuse it only when retrying the same request body.
order-20260818-001The model ID shown in the selected model's API documentation.
nano-banana-2-1nano-banana-2-1nano-banana-2-1Image to Image. Use the Endpoint ID shown in this model's API documentation.
image-to-imageimage-to-imageimage-to-imageOptional public Provider ID. Omit it to use the Endpoint default Provider (seeapi).
seeapiseeapiseeapiImage editing settings and reference image URLs. Supply the fields listed under your selected provider.
Provider parameters
seeapiDefault ProviderURLs of the images to edit or use as visual references. Supply the references together in this array. Accepted formats: JPEG, PNG, WebP. Maximum file size: 30 MB per file.
["https://client.example.com/input.png"]Describe the changes to make and the details to preserve. When using several references, explain the role of each image in the order supplied.
Replace the background with a warm ivory studio backdrop. Keep the product shape, color, and label unchanged, and add a soft natural shadow.Choose the output proportions, or use auto for automatic selection.
auto1:12:33:21:44:13:44:34:55:41:88:19:1616:921:9autoChoose the output resolution tier. Higher resolutions use more credits.
1K2K4K1KChoose PNG or JPEG for the generated image.
pngjpgpngAn absolute HTTPS URL that receives the terminal generation Webhook.
https://client.example.com/webhooks/seeapiThe generation ID to use when querying task progress and results.
task_xxxnano-banana-2-1image-to-imageseeapiseeapi: SeeAPIseeapiThe task status at the time of this response. Processing means the image is not ready yet.
processingprocessingEstimated public credits. Values can include up to three decimal places.
6Consumed public credits, with up to three decimal places.
0Refunded public credits, with up to three decimal places.
02026-08-18T10:00:00Z2026-08-18T10:00:00ZWhether this response is an idempotent replay of an earlier request.
falseThe generation ID to use when querying task progress and results.
task_xxxnano-banana-2-1image-to-imageseeapiseeapi: SeeAPIseeapiThe task status at the time of this response. Processing means the image is not ready yet.
processingprocessingEstimated public credits. Values can include up to three decimal places.
6Consumed public credits, with up to three decimal places.
0Refunded public credits, with up to three decimal places.
02026-08-18T10:00:00Z2026-08-18T10:00:00ZWhether this response is an idempotent replay of an earlier request.
falseInvalid JSON or unsupported request parameters. Check the field names, required values, and allowed options.
Invalid API Key or authentication failed
Insufficient credits
The current request is not allowed
Model, Endpoint, or task not found
Idempotency conflict or the same request is still being created
Request body is too large
Too many requests
Service temporarily unavailable
After submitting a task, use the unified query endpoint to check progress and retrieve results:
A successful creation response means the task was accepted, not that the image is ready. Keep the returned generation ID and query the task until it reaches a terminal status.
Manage the secret used to verify generation webhook signatures. Callback URLs are supplied when you create each generation.
Callback URL per generation.
const response = await fetch("https://api.seeapi.com/v1/generations", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Idempotency-Key": "order-20260818-001",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "nano-banana-2-1",
"endpoint": "image-to-image",
"provider": "seeapi",
"input": {
"input_images": [
"https://client.example.com/input.png"
],
"prompt": "Replace the background with a warm ivory studio backdrop. Keep the product shape, color, and label unchanged, and add a soft natural shadow.",
"aspect_ratio": "auto",
"resolution": "1K",
"output_format": "png"
},
"callback_url": "https://client.example.com/webhooks/seeapi"
})
});
const result = await response.json();{
"generation": {
"id": "task_xxx",
"model": "nano-banana-2-1",
"endpoint": "image-to-image",
"provider": "seeapi",
"status": "processing",
"estimated_credits": 6,
"consumed_credits": 0,
"refunded_credits": 0,
"created_at": "2026-08-18T10:00:00Z",
"updated_at": "2026-08-18T10:00:00Z"
},
"idempotent": false
}