Nano Banana 2.1


Learn how to build and deploy AI applications with iCreat.

Nano Banana 2.1

Nano Banana 2.1(Gemini Nano Banana 2.1)是 Google 推出的高保真多模态 AI 图像生成与图像编辑模型。该模型具备强大的角色与主体一致性保持、精细的指令遵循、自然语言理解以及多参考图引导能力,能够在保持极快生成速度的同时,完成高质量的视觉内容创作与局部/全局编辑。

基础 URL

https://api.icreat.ai

身份验证

所有 API 请求都必须使用 API Key 进行身份验证。你可以从控制台获取 API Key。

export ICREAT_API_KEY="your-api-key-here"

HTTP 请求头

import os

API_KEY = os.environ.get("ICREAT_API_KEY")
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer " + API_KEY,
}

保护你的 API Key 切勿在客户端代码或公共代码仓库中暴露 API Key。请使用环境变量或后端代理保存并使用 API Key。

代码示例

图像生成和编辑采用两步异步调用流程:首先提交任务并获取 task_id,然后通过查询任务结果接口轮询任务状态。响应中包含 status 和 result。任务处理期间,result 为 [];当任务状态变为 SUCCEEDED 时,result 包含生成的资源,同时响应中会包含 costUSD。

以下示例在提交和查询步骤中使用相同的 task_id。

1. 提交任务

向任务提交接口发送图像生成或编辑请求。

POST/v1/task/submit/google/gemini-nano-banana-2-1

2. 查询任务结果(轮询)

使用提交接口返回的 task_id 查询任务状态。重复发送查询请求,直到任务进入终止状态。

响应中包含 status 和 result。任务处理期间,result 为 [];当任务状态变为 SUCCEEDED 时,result 包含生成的资源,并且响应中会包含 costUSD。状态为 FAILED 表示任务执行失败。

POST/v1/task/result

输入参数

提交任务 — 输入

参数总数:4,必填参数:4,可选参数:0

promptstring必填

描述待生成图像或待执行编辑操作的文本提示词,支持多行文本。

imagearray[string]必填

用于图像生成或编辑的参考图片 URL 列表,单次请求最多支持传入 4 张参考图。

每一项都必须是可公开访问的图片 URL(单图最大 20 MB)。

image_sizestring必填

分辨率档位,目前支持 1K、2K,4K。

1K2K4K
aspect_ratiostring必填

输出图像的宽高比。支持的值:1:1、2:3、3:2、3:4、4:3、4:5、5:4、9:16、16:9、21:9。

默认使用第一张上传图片的宽高比。

1:12:33:23:44:34:55:49:1616:921:9

查询任务结果 — 输入

参数总数:1,必填参数:1,可选参数:0

task_idstring必填

提交任务接口返回的任务 ID。

输出参数

提交任务 — 输出

参数总数:1

task_idstring

异步任务标识符。

查询任务结果 — 输出

参数总数:不固定

statusstring

当前任务状态。在任务成功之前,result 通常为 []。当状态为 SUCCEEDED 时,result 包含生成的资源,并且响应中会包含 costUSD。

SUBMITTEDSUCCEEDEDFAILED
resultarray[object]

生成的资源列表。任务处理期间或任务失败时,该字段为空数组;任务成功后,该字段包含生成的图像资源。

costUSDnumber

任务消耗的美元金额。该字段仅在 status 为 SUCCEEDED 时返回。

LLM 提示词

你可以将下面的 Markdown 复制到 Cursor、ChatGPT 等 AI 助手中,帮助它们理解该模型的 API、调用流程和参数。使用复制给 AI按钮,或直接复制下面代码块中的内容。

# google/gemini-nano-banana-2-1

> Nano Banana 2.1(Gemini Nano Banana 2.1)是 Google 推出的高保真多模态 AI 图像生成与图像编辑模型,具备优秀的主体一致性保持、精细指令遵循及多参考图引导能力,支持快速创建与编辑高质量视觉内容。

## 概述

使用 iCreat 两步异步任务 API:先提交图像生成或编辑任务,再轮询任务结果查询接口。任务成功后,从 `result` 中读取生成的图像资源。成功响应中还会包含 `costUSD`。

## API 信息

- **基础 URL**:`https://api.icreat.ai`
- **提交接口(POST)**:`/v1/task/submit/google/gemini-nano-banana-2-1`
- **查询结果接口(POST)**:`/v1/task/result`
- **模型 ID**:`google/gemini-nano-banana-2-1`
- **身份验证**:`Authorization: Bearer ${ICREAT_API_KEY}`

## 调用流程

1. **提交任务**:向 `/v1/task/submit/google/gemini-nano-banana-2-1` 发送 POST 请求。请求体包含 `prompt`、`image`、`image_size` 和 `aspect_ratio`,响应格式为 `{ "task_id": "..." }`。
2. **查询结果**:向 `/v1/task/result` 发送 POST 请求,请求体为 `{ "task_id": "..." }`。
3. **轮询状态**:当 `status` 为 `SUBMITTED` 且 `result` 为 `[]` 时,继续查询任务结果。
4. **读取结果**:当 `status` 为 `SUCCEEDED` 时,从 `result` 中类型为 `Image` 的资源读取 `url` 或 `download_url`。
5. **处理失败**:`FAILED` 是终止状态,表示任务执行失败。

### 输入示例

```json
{
  "prompt": "示例多行\n文本",
  "image": [
    "[https://example.com/example.png](https://example.com/example.png)"
  ],
  "image_size": "1K",
  "aspect_ratio": "1:1"
}

输入说明

  • 请求体使用顶层扁平字段。
  • 必填字段:prompt、image、image_size 和 aspect_ratio。
  • prompt:描述待生成图像或待执行编辑操作的文本提示词,支持多行文本。
  • image:由可公开访问的参考图片 URL 组成的数组,最多支持 4 张。
  • image_size:分辨率档位,支持 1K、2K。
  • aspect_ratio:输出图像的宽高比。支持的值包括 1:1、2:3、3:2、3:4、4:3、4:5、5:4、9:16、16:9 和 21:9。默认使用第一张上传图片的宽高比。

输出说明

  • 任务处理期间,status 通常为 SUBMITTED,result 为 []。
  • 任务成功后,status 为 SUCCEEDED。
  • 成功响应中包含 result 和 costUSD。
  • result 的格式为: [{ "type": "Image", "url": "...", "download_url": "..." }]。
  • FAILED 是终止状态,表示任务执行失败。

注意事项

  • 每次轮询必须使用同一个 task_id。
  • 当任务仍在处理且 result 为空时,应继续轮询。
  • 使用 url 访问生成的图像,或使用 download_url 下载图像。
  • 如果任务返回 FAILED,请检查提示词、图片 URL、图片格式、宽高比以及其他请求参数。
  • API Key 必须保存在服务端,切勿在客户端代码中暴露。