CokeAPI
图像生成系列

GPT-Image-2 · 文生图 / 图生图

POST /v1/images/generations · POST /v1/images/edits — OpenAI Images API 兼容,CokeAPI 当前主力图像通道,支持 1K/2K/4K 三档分辨率与 Mask 编辑。

CokeAPI 当前主力图像模型,已稳定运营。完全兼容 OpenAI Images API,由 CokeAPI 后端智能调度完成出图。

调用示例

curl https://api.cokeapi.com/v1/images/generations \
  -H "Authorization: Bearer sk-coke-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "一只在京都樱花树下的赛博狐狸,电影质感,Portra 400 胶片",
    "size": "1024x1024",
    "quality": "hd",
    "n": 1
  }'
curl https://api.cokeapi.com/v1/images/edits \
  -H "Authorization: Bearer sk-coke-xxxxxxxx" \
  -F image="@photo.png" \
  -F mask="@mask.png" \
  -F prompt="把背景换成赛博朋克霓虹街道,保留主体" \
  -F model="gpt-image-2" \
  -F size="1024x1024" \
  -F quality="hd" \
  -F n=1
from openai import OpenAI

client = OpenAI(
    base_url="https://api.cokeapi.com/v1",
    api_key="sk-coke-xxxxxxxx",
)

img = client.images.generate(
    model="gpt-image-2",
    prompt="一只在京都樱花树下的赛博狐狸,电影质感",
    size="1024x1024",
    quality="hd",
    n=2,
)

for d in img.data:
    print(d.url)
from openai import OpenAI

client = OpenAI(
    base_url="https://api.cokeapi.com/v1",
    api_key="sk-coke-xxxxxxxx",
)

with open("photo.png", "rb") as image, open("mask.png", "rb") as mask:
    edited = client.images.edit(
        model="gpt-image-2",
        image=image,
        mask=mask,
        prompt="把背景换成赛博朋克霓虹街道,保留主体",
        size="1024x1024",
        quality="hd",
        n=1,
    )

print(edited.data[0].url)
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.cokeapi.com/v1",
  apiKey: process.env.COKEAPI_KEY,
});

const img = await client.images.generate({
  model: "gpt-image-2",
  prompt: "一只在京都樱花树下的赛博狐狸,电影质感",
  size: "1024x1024",
  quality: "hd",
  n: 2,
});

img.data.forEach((d) => console.log(d.url));
import OpenAI from "openai";
import fs from "node:fs";

const client = new OpenAI({
  baseURL: "https://api.cokeapi.com/v1",
  apiKey: process.env.COKEAPI_KEY,
});

const edited = await client.images.edit({
  model: "gpt-image-2",
  image: fs.createReadStream("photo.png"),
  mask: fs.createReadStream("mask.png"),
  prompt: "把背景换成赛博朋克霓虹街道,保留主体",
  size: "1024x1024",
  quality: "hd",
  n: 1,
});

console.log(edited.data[0].url);

请求参数

Prop

Type

图生图 (/v1/images/edits) 额外字段

字段必填说明
image原图,PNG / JPEG,≤ 4 MB
mask可选透明 PNG,黑色像素 = 待编辑区域

支持尺寸

quality 等级解锁不同档位:

quality推荐尺寸
standard / medium (1K)1024×1024 / 1216×832 / 832×1216 / 1152×864 / 864×1152 / 1120×896 / 896×1120 / 1344×768 / 768×1344 / 1536×640
hd / high (2K)1248×1248 / 1536×1024 / 1024×1536 / 1440×1088 / 1088×1440 / 1392×1120 / 1120×1392 / 1664×928 / 928×1664 / 1904×816
draft / low (低成本)同 standard,质量降级

4K 档位 (2480×2480 等) 需联系商务开通,默认账号未开放。

响应示例

同步返回 (response_format=url,默认)

{
  "created": 1714200000,
  "data": [
    {
      "url": "https://cdn.cokeapi.com/img/01HX....png",
      "revised_prompt": "A cyber-fox under cherry blossoms in Kyoto..."
    },
    {
      "url": "https://cdn.cokeapi.com/img/01HX....png"
    }
  ]
}

response_format=b64_json

{
  "created": 1714200000,
  "data": [
    {
      "b64_json": "iVBORw0KGgoAAAANSUhEUg..."
    }
  ]
}

异步任务 (async=truen>2 自动)

立刻返回 task_id,后续查询见 异步任务:

{
  "task_id": "img_01HX...",
  "status": "queued"
}

计费

图片张数 × 单价 扣点;quality=hd 单价为 standard 的 2 倍。完整单价见 模型与价格 → GPT-Image-2

错误码

codetype含义HTTP
400101invalid_param参数错误 (尺寸不支持等)400
400401insufficient_points余额不足400
401104api_key_invalidAPI Key 无效401
429101rate_limit_exceededRPM 超限429
429302daily_quota_exceeded每日调用配额耗尽429
502201upstream_unavailableGPT 服务暂不可用502
502203no_available_account暂无可用账号502

完整列表见 错误码

注意事项

  • CDN 图片 URL 24 小时后失效,需长期保存请下载到自有存储。
  • gpt-image-2 对 prompt 中的文字渲染较弱,建议拆分"场景描述 + 风格关键词"。
  • 同一 prompt 复现:留空 seed 会避免缓存命中;明确传 seed 才能稳定复现。
  • 失败请求 (含上游 502) 全额返还本次扣点,不计费

On this page