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 生成,請仔細甄別
