AI 生圖介面(GPT Image / Nano Banana) 串接教學

用程式批次出圖、修圖:OpenAI 生圖格式,按張從點數扣

串接步驟

  1. 先想清楚:要不要用介面

    只是自己畫幾張圖,直接用網站的「生圖」頁就行,訂閱卡還能抵扣。要用程式一次畫幾十上百張、或把生圖接進自己的系統,才用這個介面;介面按張從點數扣,訂閱卡不抵扣。下面三樣填進程式裡:

    • Base URL:https://gpt.cherrychat.org/v1(寫到 /v1)
    • API Key(金鑰):sk-你的金鑰
    • 模型名稱:nano-banana-2.1(也可以換 gpt-image-2、nano-banana-2)
  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 300
  3. Python:畫圖並存成檔案

    先執行 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")
  4. 修圖:上傳一張圖,說要怎麼改

    修圖走 /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
  5. 張數、尺寸和價格

    n 是一次要幾張(1–4),只按實際畫出來的張數扣點數;size 寫像素,例如 1024x1024、1536x1024(橫)、1024x1536(直),會按比例出圖。每張多少點數看「模型價格」頁,生圖模型標著「點 / 張」。

容易踩的坑

錯誤訊息 → 原因 → 怎麼辦

看到的錯誤原因怎麼辦
出現 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。工具介面改版後可能和這裡略有不同,以官方文件為準。

API 串接 · API 模型價格

Operated by UK Company CHERRYCHAT LTD · Company Number 16096119 · 客服微信 JsnonoChat · 內容由 AI 生成,請仔細甄別

櫻桃茶·智域GPT

網路有點慢,正在努力載入…