API 文件

生成圖片

POST /v1/images/generations

出圖。預設同步——介面等到圖出完才回應,回傳形狀對齊 OpenAI 的 images/generations,OpenAI SDK 與中轉閘道可直接把本站當相容通道用。傳 async: true 則改為非同步,送出即回傳任務 id,出圖後用 GET /v1/tasks/{id} 取。n 大於 1 時會建 n 個獨立任務,各自計費。

請求參數

參數型別說明
promptstring必填。圖片描述
modelstring模型 id,取自 /v1/models。不傳用平台預設
ninteger生成張數 1~4,預設 1
sizestring畫面比例 1:1 | 16:9 | 9:16 | 4:3 | 3:4,預設 1:1。也認 1024x1024、1792x1024 這類像素寫法,按長寬比折到最接近的比例
qualitystring清晰度 1k | 2k | 4k,預設 1k。也認 OpenAI 的寫法:standard / low / auto 按 1k,medium / hd / high 按 2k。傳了 spec 時以規格檔為準
specstring規格檔位鍵,取自模型的 specs[].key
reference_imagesstring[]參考圖位址。超出該模型 max_reference_images 的部分會被截掉
asyncboolean預設 false 同步等待出圖;true 則送出即回傳任務物件,自行輪詢 /v1/tasks/{id}
取值不合法不會整單失敗,而是回退到預設檔(例如 size 傳了認不出的值就按 1:1 出)。只有 prompt 為空、命中違禁詞、額度受限或算力不足才會報錯。response_format 不支援,產物一律以 url 回傳。

請求範例(同步)

bash
curl https://open.pikpikgo.com/v1/images/generations \
  -H "Authorization: Bearer $PIKPIK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "賽博龐克風格的雨夜街道,霓虹倒影",
    "size": "16:9",
    "quality": "2k",
    "n": 1
  }'

回傳範例(同步)

json
{
  "created": 1786000246,
  "data": [
    { "url": "https://cdn.pikpikgo.com/ai/xxxx.png", "revised_prompt": "賽博龐克風格的雨夜街道,霓虹倒影" }
  ],
  "id": "2608101909450810293847",
  "object": "image.generation",
  "model": "img-std-1",
  "status": "succeeded",
  "n": 1,
  "credits": 10,
  "tasks": [
    {
      "id": "2608101909450810293847",
      "status": "succeeded",
      "data": [{ "url": "https://cdn.pikpikgo.com/ai/xxxx.png", "revised_prompt": "賽博龐克風格的雨夜街道,霓虹倒影" }]
    }
  ]
}
欄位說明
created回應時間戳
data出圖結果,每項含 url 與 revised_prompt。n>1 時有多項
id主任務 id(n>1 時是第一個子任務)
statussucceeded。部分成功也是它,按 data 的長度與 n 自行比對
credits本次總共扣除的算力
tasks全部子任務,含各自的 error 與結果
同步呼叫會一直佔著連線,單張常要 30 秒以上,請把用戶端逾時放寬到 300 秒。超過 300 秒伺服器回傳 504 generation_timeout,此時任務仍在跑、算力不退,用回應裡的任務 id 去 /v1/tasks/{id} 仍能把圖取回來。全部出圖失敗則回傳 502 generation_failed,算力已自動退還。

非同步用法

跑批、並行量大或對延遲敏感時走非同步:送出即回傳,status 為 queued、data 為空。

bash
curl https://open.pikpikgo.com/v1/images/generations \
  -H "Authorization: Bearer $PIKPIK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "賽博龐克風格的雨夜街道,霓虹倒影",
    "size": "16:9",
    "quality": "2k",
    "n": 1,
    "async": true
  }'
json
{
  "id": "2608101909450810293847",
  "object": "image.generation",
  "created": 1786000185,
  "model": "img-std-1",
  "status": "queued",
  "n": 1,
  "credits": 10,
  "tasks": [
    { "id": "2608101909450810293847", "status": "queued", "data": [] }
  ],
  "data": []
}
n>1 時請走訪 tasks 逐個輪詢,只查 id 那一個會漏掉其餘幾張。