生成图片
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 那一个会漏掉其余几张。

