图片 API 站
一毛一张图
一个端口接入 15 款图像模型,按张计费、失败返还、国内直连。 把生图基础设施留给我们,把好产品留给你。
Nano Banana 2
★ 主推第二代绘图模型&4K
Nano Banana Pro
精准中文理解输出&4K
GPT Image 2
文生图 / 图生图
按积分计费,没有月费
招牌的 Nano Banana 系列单价最低、出图最快;其余 6 款按场景按需选用。失败、超时、审核拒绝全部自动返还。
- GPT Image 2
gpt-image-2文生图 / 图生图
1 - 3积分 / 张文生图 / 图生图 - GPT Image 2.5 FlareNEW
gpt-image-2.5-flare速度优先 · 日常出图与快速原型
1 - 100积分 / 张文生图 / 图生图9 档画质 - GPT Image 2.5 Sunburst
gpt-image-2.5-sunburst编辑精度优先 · 商品图与创意制作
1 - 100积分 / 张文生图 / 图生图9 档画质 - Z Image TurboNEW
z-image-turbo快速文生图 · 低成本创作
1积分 / 张文生图 - Seedream 5.0NEW
seedream-5.0字节跳动图片生成与编辑模型
2积分 / 张文生图 / 图生图 - Seedream 5.0 FlashNEW
seedream-5.0-flash文生图与多图编辑 · 最多 10 张参考图
2 - 3积分 / 张文生图 / 图生图 - Seedream 5.0 Pro
seedream-5.0-pro图片生成与编辑 · 1K / 2K · 最多 10 张参考图
4积分 / 张文生图 / 图生图 - Wan2.5 文生图
wan2.5-text-to-image阿里通义万相文生图模型
2积分 / 张文生图 - Qwen Image
qwen-image-edit-plus阿里通义千问图片编辑模型
2积分 / 张图生图 - Nano Banana 2★ 招牌
nano-banana-2第二代绘图模型&4K
2 - 3积分 / 张文生图 / 图生图联网 - Nano Banana 2.1★ 招牌NEW
nano-banana-2.1图片生成与编辑 · 1K / 2K / 4K · 最多 14 张参考图
4 - 5积分 / 张文生图 / 图生图联网 - Nano Banana Pro★ 招牌
nano-banana-pro精准中文理解输出&4K
2 - 4积分 / 张文生图 / 图生图联网 - GPT Image 2 加速NEW
gpt-image-2-officialOpenAI 图像模型 2.0
1 - 45积分 / 张文生图 / 图生图9 档画质 - Nano Banana 2 加速★ 招牌
nano-banana-2-official第二代绘图模型&4K
4 - 5积分 / 张文生图 / 图生图联网 - Nano Banana Pro 加速★ 招牌
nano-banana-pro-official精准中文理解输出&4K
3 - 6积分 / 张文生图 / 图生图联网
接口使用说明
异步调用:generate 提交任务,通过 query 轮询结果。参数与可用图片模型由站点模型目录统一维护。
调用流程
- 1.调用 /api/ai/generate/ 提交任务,保存响应的 data.id,作为后续查询的 taskId
- 2.轮询 /api/ai/query/,直到 success 或 failed;建议每 10 秒查询一次,同一任务的上游刷新最小间隔为 10 秒
- 3.从响应的 outputImages 字段获取结果图片地址
鉴权
API 仅向付费用户开放,需先完成充值,并在所有请求头中携带有效 API Key。历史充值、订阅、续费及人工充值用户均可使用;仅有赠送积分不具备 API 调用资格。积分不足时仍须充值。
Authorization: Bearer sk-<your-api-key>
Content-Type: application/json上传接口使用 multipart/form-data,由客户端自动设置 Content-Type 和 boundary;不要使用 application/json 或手动填写不含 boundary 的 multipart/form-data。
可用模型
| model | 名称 | 支持场景 |
|---|---|---|
| gpt-image-2 | GPT Image 2
| 文生图 / 图生图 |
| gpt-image-2.5-flare | GPT Image 2.5 Flare
| 文生图 / 图生图 |
| gpt-image-2.5-sunburst | GPT Image 2.5 Sunburst
| 文生图 / 图生图 |
| z-image-turbo | Z Image Turbo
| 文生图 |
| seedream-5.0 | Seedream 5.0
| 文生图 / 图生图 |
| seedream-5.0-flash | Seedream 5.0 Flash
| 文生图 / 图生图 |
| seedream-5.0-pro | Seedream 5.0 Pro
| 文生图 / 图生图 |
| wan2.5-text-to-image | Wan2.5 文生图
| 文生图 |
| qwen-image-edit-plus | Qwen Image
| 图生图 |
| nano-banana-2 | Nano Banana 2
| 文生图 / 图生图 |
| nano-banana-2.1 | Nano Banana 2.1
| 文生图 / 图生图 |
| nano-banana-pro | Nano Banana Pro
| 文生图 / 图生图 |
| gpt-image-2-official | GPT Image 2 加速
| 文生图 / 图生图 |
| nano-banana-2-official | Nano Banana 2 加速
| 文生图 / 图生图 |
| nano-banana-pro-official | Nano Banana Pro 加速
| 文生图 / 图生图 |
仅列出本站启用的图片模型。可选参数以各模型说明为准;未列出的能力不保证生效。参考图数量同时受模型和站点预检限制。quality 的上游默认值未统一约定,建议显式传入;分辨率和比例请按所列值填写。
/api/storage/upload-image上传本地参考图,获取可用于图生图的图片 URL;使用与生图接口相同的 API Key 鉴权。上传参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| files | File[] | ✓ | 必填图片文件,MIME 类型须为 image/*,例如 image/png、image/jpeg、image/webp。重复 files 字段可上传多张图片。 |
上传接口使用 multipart/form-data,由客户端自动设置 Content-Type 和 boundary;不要使用 application/json 或手动填写不含 boundary 的 multipart/form-data。
上传示例
curl -X POST https://www.nano-banana.cn/api/storage/upload-image \
-H "Authorization: Bearer sk-your-api-key" \
-F "files=@./reference.png" \
-F "files=@./reference-2.jpg"上传响应与图生图衔接
{
"code": 0,
"message": "ok",
"data": {
"urls": [
"https://r2.nano-banana.cn/uploads/example.png"
],
"results": [
{
"url": "https://r2.nano-banana.cn/uploads/example.png",
"key": "uploads/example.png",
"filename": "reference.png"
}
]
}
}data.urls 是按上传顺序返回的图片地址数组;data.results 包含各文件的 url、存储 key 和原始 filename。示例域名仅用于说明,请使用实际返回的 URL。
将 data.urls 传入 POST /api/ai/generate/ 的 options.image_urls,并设置 scene 为 image-to-image。参考图数量、格式及大小仍须满足所选模型和站点预检限制。
除 HTTP 状态外,还须检查业务 code:0 表示成功,-1 表示失败。常见错误包括 no auth, please sign in、No files provided、File … is not an image 和 upload image failed。多文件上传中途失败时,之前的文件可能已保存;只有 code 为 0 时才使用返回的完整 URL 数组。
/api/ai/generate/提交 AI 图片生成任务,异步返回 data.id;将它作为 query 请求中的 taskId 查询结果。请求参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| mediaType | string | ✓ | 固定填 "image" |
| model | string | ✓ | 模型标识符,见上方可用模型列表 |
| prompt | string | ✓ | 非空字符串提示词,不可只含空白;需通过内容审核。 |
| scene | string | 可选 text-to-image / image-to-image,默认 text-to-image;编辑图片时传 image-to-image,并提供参考图。模型实际可用场景见上表。 | |
| options | object | 可选模型参数对象;省略时使用下方各模型默认值。仅传所选模型明确支持的字段;不支持的字段可能被忽略或报错。 | |
| options.aspectRatio | string | 宽高比;可选值和默认值见各模型说明。auto 仅限列明支持的模型;不要把分辨率填在此处。 | |
| options.size | string | aspectRatio 的兼容别名,必须放在 options 内;顶层 size 不会生效。请只传 size 或 aspectRatio;若两者同时传,通常优先 aspectRatio,部分模型会直接拒绝。GPT Image 2 及加速版不接受像素尺寸,请用 options: {"aspectRatio":"1:1","resolution":"1K"},不保证输出恰好为 1024×1024。GPT Image 2.5 Flare / Sunburst 支持 options: {"size":"1024x1024"};完整请求仍需 mediaType、model、prompt。尺寸限制见各模型说明。 | |
| options.resolution | string | 分辨率档位;严格按模型列出的值传入(含大小写),例如 1K 或 1k。默认值及与宽高比的组合限制见模型说明。 | |
| options.quality | string | 画质,与 resolution 分开设置;仅限下方列出 quality 的模型。可选值依模型而定,建议显式传入。部分模型按画质 × 分辨率计费;省略画质时计费按 low 档计算。 | |
| options.image_urls | string[] | 参考图 HTTP/HTTPS URL 数组,链接须能由服务端读取,不能使用本地路径或 Base64。张数见模型说明;站点预检最多接受 10 张不同 URL。图生图专用模型必须提供图片,文生图专用模型不接受图片。 | |
| options.web_search | boolean | 联网搜索开关,建议显式传 false 或 true;仅限模型说明中列出 web_search 的模型。开启时可能额外收费,见各模型积分说明。 | |
| options.count / options.n | integer | 生成张数,正整数,默认 1。count 与 n 为别名,优先读取 count,请只传一个;仅限列明 count 的模型,通常最多 4 张,部分模型最多 1 张。积分按单张价格 × 请求张数计算;不支持数量参数的模型请省略。 | |
| options.seed | integer | 随机种子,仅限列明 seed 的模型;传整数,省略时由上游决定。不保证不同调用或通道得到完全相同结果。 | |
| options.negative_prompt | string | 负向提示词,选填。该字段可转发给上游,但实际效果取决于模型;nano-banana-2.1 不接受该字段,不要作为通用必传参数。 | |
| options.mask_url | string | 遮罩图片 URL(HTTP/HTTPS),仅限列明 mask_url 的模型;必须同时提供参考图。遮罩格式、尺寸及编辑区域规则遵循对应模型要求。 | |
| options.output_format | string | 输出格式,仅限列明 output_format 的模型;枚举见各模型说明,省略时使用上游默认值。 | |
| options.output_compression | integer | 输出压缩质量,0–100 的整数;仅限列明该字段的模型,且须显式设置 output_format 为 jpeg 或 webp。 | |
| options.background | string | 背景模式:auto、transparent、opaque;仅限列明 background 的模型,透明效果还取决于输出格式与上游支持。 | |
| options.moderation | string | 上游审核模式,仅限列明 moderation 的模型;枚举见模型说明。不会关闭站点自身的内容审核。 | |
| options.watermark | boolean | 上游水印开关(boolean),仅限列明 watermark 的模型;省略时使用上游默认值。 |
请求示例(curl)
# 提交一个生图任务
curl -X POST https://www.nano-banana.cn/api/ai/generate/ \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"mediaType": "image",
"model": "nanobanana-2",
"prompt": "a cute panda eating bamboo",
"scene": "text-to-image",
"options": { "aspectRatio": "1:1" }
}'
# 响应
# { "code": 0, "message": "ok", "data": { "id": "3f2a1b4c-...", "status": "queuing" } }图生图示例:分别指定画质与分辨率
{
"mediaType": "image",
"model": "gpt-image-2-official",
"prompt": "Replace the background with a white studio backdrop",
"scene": "image-to-image",
"options": {
"image_urls": [
"https://your-server.com/reference.png"
],
"aspectRatio": "16:9",
"resolution": "2K",
"quality": "medium"
}
}响应示例
{
"code": 0,
"message": "ok",
"data": {
"id": "3f2a1b4c-...",
"status": "queuing"
}
}调用限制与注意事项
API 调用要求付费用户,无需传 captchaToken;验证码不能代替付费资格。未付费账号调用将返回 paid account required for API access。当前不支持 webhook 回调,callbackUrl 不会生效,请通过 query 轮询。参考图建议每张不超过 20MB,必须提供可访问的原图链接;示例中的参考图地址需替换为真实地址。
/api/ai/query/使用提交响应的 data.id 查询任务,建议每 10 秒一次。更频繁的请求可能返回缓存状态;收到 success 或 failed 后停止。先检查 code,code 不为 0 时读取 message,不继续解析 data。请求参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| taskId | string | ✓ | 提交接口返回的 data.id(站点任务 ID),不是上游提供商 taskId;仅能查询当前账号的任务。 |
请求示例(curl)
# 轮询任务结果
curl -X POST https://www.nano-banana.cn/api/ai/query/ \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{ "taskId": "3f2a1b4c-..." }'
# 处理中响应
# { "code": 0, "data": { "id": "...", "status": "processing", "outputImages": null } }
# 成功响应
# { "code": 0, "data": { "id": "...", "status": "success", "outputImages": ["https://r2.nano-banana.cn/outputs/xxx.png"] } }处理中响应
{
"code": 0,
"message": "ok",
"data": {
"id": "3f2a1b4c-...",
"status": "processing",
"outputImages": null
}
}成功响应
{
"code": 0,
"message": "ok",
"data": {
"id": "3f2a1b4c-...",
"status": "success",
"outputImages": [
"https://r2.nano-banana.cn/outputs/xxx.png"
]
}
}任务状态说明
| status | 说明 |
|---|---|
| queuing | 已入队,等待处理 |
| pending | 已提交至 AI 提供商,等待响应 |
| processing | AI 提供商处理中 |
| success | 生成成功,可从 outputImages 获取图片地址 |
| failed | 生成失败,已自动退还消耗的积分 |
错误响应
先检查响应 code:成功为 0,失败为 -1,此时读取 message,不继续解析 data。paid account required for API access 表示账号不具备付费资格;insufficient credits 表示可用积分不足。
{
"code": -1,
"message": "insufficient credits"
}no authAPI Key 无效或未传入insufficient credits积分不足task not found任务不存在no permission无权访问该任务(任务属于其他用户)
一键创建 API Key
无需跳转,直接在当前页面创建并复制密钥。每个账号最多 10 个 Key,可分别用于不同项目方便撤销。
开发者常问的 12 件事
没找到答案?微信加 banana-cs 工作时间 5 分钟内回复。