生成圖片
POST /v1/images/generations
出圖。預設同步——介面等到圖出完才回應,回傳形狀對齊 OpenAI 的 images/generations,OpenAI SDK 與中轉閘道可直接把本站當相容通道用。傳 async: true 則改為非同步,送出即回傳任務 id,出圖後用 GET /v1/tasks/{id} 取。n 大於 1 時會建 n 個獨立任務,各自計費。
請求參數
| 參數 | 型別 | 說明 |
|---|---|---|
| prompt | string | 必填。圖片描述 |
| model | string | 模型 id,取自 /v1/models。不傳用平台預設 |
| n | integer | 生成張數 1~4,預設 1 |
| size | string | 畫面比例 1:1 | 16:9 | 9:16 | 4:3 | 3:4,預設 1:1。也認 1024x1024、1792x1024 這類像素寫法,按長寬比折到最接近的比例 |
| quality | string | 清晰度 1k | 2k | 4k,預設 1k。也認 OpenAI 的寫法:standard / low / auto 按 1k,medium / hd / high 按 2k。傳了 spec 時以規格檔為準 |
| spec | string | 規格檔位鍵,取自模型的 specs[].key |
| reference_images | string[] | 參考圖位址。超出該模型 max_reference_images 的部分會被截掉 |
| async | boolean | 預設 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 時是第一個子任務) |
| status | succeeded。部分成功也是它,按 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 那一個會漏掉其餘幾張。

