AI 生图接口(GPT Image / Nano Banana) 接入教程
用程序批量出图、改图:OpenAI 生图格式,按张从积分扣
- 接口:OpenAI Images
- 地址写法:写到 /v1(https://gpt.cherrychat.org/v1)
- 推荐模型:nano-banana-2.1、gpt-image-2、nano-banana-2
- 平台:macOS、Windows、Linux
接入步骤
先想清楚:要不要用接口
只是自己画几张图,直接用网站的「生图」页就行,订阅卡还能抵扣。要用程序一次画几十上百张、或者把生图接进自己的系统,才用这个接口;接口按张从积分扣,订阅卡不抵扣。下面三样填进程序里:
- Base URL:https://gpt.cherrychat.org/v1(写到 /v1)
- API Key(密钥):sk-你的密钥
- 模型名:nano-banana-2.1(也可以换 gpt-image-2、nano-banana-2)
用 curl 画一张,拿到图片链接
复制到终端运行,等 20–60 秒,返回的 JSON 里 "url" 就是图片地址,浏览器打开就能看、能下载。
macOS / Linux
curl https://gpt.cherrychat.org/v1/images/generations \ -H "Authorization: Bearer sk-你的密钥" \ -H "Content-Type: application/json" \ -d '{"model": "nano-banana-2.1", "prompt": "一只橘猫坐在窗台上,写实摄影", "size": "1536x1024", "response_format": "url"}'Windows(PowerShell)
$body = @{ model = "nano-banana-2.1" prompt = "一只橘猫坐在窗台上,写实摄影" size = "1536x1024" response_format = "url" } | ConvertTo-Json Invoke-RestMethod -Method Post -Uri "https://gpt.cherrychat.org/v1/images/generations" ` -Headers @{ Authorization = "Bearer sk-你的密钥" } ` -ContentType "application/json; charset=utf-8" ` -Body ([System.Text.Encoding]::UTF8.GetBytes($body)) -TimeoutSec 300Python:画图并存成文件
先运行 pip install openai,把代码存成 draw.py,运行 python draw.py,同目录会多出 cat.png。不写 response_format 时返回的是 base64,代码里直接解码存盘。
import base64 from openai import OpenAI client = OpenAI(base_url="https://gpt.cherrychat.org/v1", api_key="sk-你的密钥", timeout=300) resp = client.images.generate( model="nano-banana-2.1", prompt="一只橘猫坐在窗台上,窗外是夜景,写实摄影", size="1536x1024", ) with open("cat.png", "wb") as f: f.write(base64.b64decode(resp.data[0].b64_json)) print("已保存 cat.png")改图:上传一张图,说要怎么改
改图走 /v1/images/edits,用文件上传参考图。下面把 cat.png 改成戴红围巾的版本,存成 cat-scarf.png。
import base64 from openai import OpenAI client = OpenAI(base_url="https://gpt.cherrychat.org/v1", api_key="sk-你的密钥", timeout=300) resp = client.images.edit( model="nano-banana-2.1", image=open("cat.png", "rb"), prompt="给这只猫戴上一条红色围巾,背景保持不变", ) with open("cat-scarf.png", "wb") as f: f.write(base64.b64decode(resp.data[0].b64_json))curl(macOS / Linux)
curl https://gpt.cherrychat.org/v1/images/edits \ -H "Authorization: Bearer sk-你的密钥" \ -F model="nano-banana-2.1" \ -F prompt="给这只猫戴上一条红色围巾,背景保持不变" \ -F response_format=url \ -F image=@cat.png张数、尺寸和价格
n 是一次要几张(1–4),只按实际画出来的张数扣积分;size 写像素,例如 1024x1024、1536x1024(横)、1024x1536(竖),会按比例出图。每张多少积分看「模型价格」页,生图模型标着「积分 / 张」。
容易踩的坑
- 生图模型只能用 /v1/images/generations 和 /v1/images/edits,拿去调 /v1/chat/completions 会报「不支持这个接口」。
- 一张图要 20–60 秒,程序的超时至少设 300 秒(示例里的 timeout=300),别用默认的 60 秒。
- 订阅卡、无限卡不抵扣接口调用,接口只从积分余额里扣;余额不够这次要的张数会直接报 402。
- 要链接就传 response_format=url,拿到后请自己下载保存;不传时返回 base64,一张几 MB,打印出来会刷屏。
- 暂不支持 stream(流式)出图,请求里不要带 stream。
报错 → 原因 → 怎么办
| 看到的报错 | 原因 | 怎么办 |
|---|---|---|
| 报 400 unsupported_endpoint(不支持这个接口) | 用对话接口调了生图模型,或用生图接口调了对话模型 | 生图模型用 https://gpt.cherrychat.org/v1/images/generations |
| 等了一分钟报超时(timeout / Read timed out) | 程序或工具的超时太短,图还没画完就断开了 | 把超时调到 300 秒;断开的那次不扣积分 |
| 改图报 415 或「要用 multipart/form-data 上传图片」 | /v1/images/edits 用了 JSON,参考图没有按文件上传 | 照第 4 步用 SDK 的 images.edit,或 curl 的 -F image=@文件名 |
| 报 400,提示内容被拒绝(safety / moderation) | 描述或参考图触发了内容审核 | 换个说法再试;被拒绝的那次不扣积分 |
| 报 402 或「余额不足」(Claude 格式显示 billing_error) | 账户积分不够付这次调用。API 调用只扣积分,会员卡和无限卡都不抵扣 | 到樱桃茶·智域GPT 的「商店」充值任意金额,几秒后重试即可 |
教程核对于 2026-11-02。工具界面改版后可能和这里略有不同,以官方文档为准。
Operated by UK Company CHERRYCHAT LTD · Company Number 16096119 · 客服微信 JsnonoChat · 内容由 AI 生成,请仔细甄别
