GPT-Image-2 绘图教程

前置准备

gpt-image-2 模型属于 GPT Image2 分组,使用前需要创建令牌分组为 Image2 的令牌。

1.在 Codex 中使用

核心逻辑:把图片分组的key和url告诉codex,让他用这个来生成image2图片 提示词:https://app.apifox.com/link/project/8469852/apis/doc-9154045

2.接口调用方式

OpenAI 官方文档把图片相关能力分成 Responses API、Images API、Chat Completions API 三类。对 Dlow 的 gpt-image-2 来说,出图请优先使用 Images API。

APIOpenAI 官方用途Dlow gpt-image-2 使用建议建议
Responses API分析图片,并把图片作为输入;也可以通过工具生成图片输出不支持作为 gpt-image-2 的出图入口。需要出图请使用 Images API。不支持
Images API生成图片,也可以上传图片作为输入进行编辑支持文生图和图片编辑,是 gpt-image-2 的推荐调用方式。推荐
Chat Completions API分析图片输入,并生成文本或音频不支持作为 gpt-image-2 的出图入口;size、quality、output_format 等 Images 参数不会按图片接口生效。不支持

方式一:Images API(推荐)

Images API 是 gpt-image-2 的推荐出图方式,分为文生图和图片编辑两个接口:

  • 文生图:POST https://www.dlowapi.me/v1/images/generations

  • 图片编辑 / 图生图:POST https://www.dlowapi.me/v1/images/edits

每个接口下面都按“接口实例 → 参数介绍”的格式说明。对新手来说,只要先照着示例传 model、prompt,并把 n 设为 1;需要上传图片时再使用 image 字段即可。

文生图:/v1/images/generations

接口实例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
curl --location 'https://www.dlowapi.me/v1/images/generations' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 你的Sora分组令牌' \
--header 'Accept: */*' \
--header 'Host: api.www.dlowapi.me' \
--header 'Connection: keep-alive' \
--data '{
    "model": "gpt-image-2",
    "prompt": "一只橘猫戴着橙色围巾抱着水獭,温暖插画风格",
    "size": "3840x2160",
    "quality": "high",
    "output_format": "png",
    "response_format": "url",
    "n": 1
}'

文生图参数

参数类型支持情况说明
modelstring支持固定填写 gpt-image-2。
promptstring支持图片描述提示词,建议写清楚主体、场景、风格、比例和文字内容。
ninteger仅支持 1只支持一次返回 1 张图。n: 2、n: 4 这类多图数量不支持。
sizestring支持支持 auto 和符合限制的尺寸,如 1024x1024、1536x1024、1024x1536、1536x864、3840x2160。
qualitystring支持可选 low、medium、high、auto。草稿图可以用 low,正式出图可以用 high。
response_formatstring支持可选 url、b64_json。默认建议用 url;b64_json 适合程序自行保存图片。
output_formatstring部分支持推荐 png 或 jpeg。webp 不建议使用。
output_compressioninteger支持只建议在 output_format 为 jpeg 时使用,取值 0 到 100。
backgroundstring部分支持建议使用默认值或 opaque。transparent 不支持。
moderationstring支持可选 auto、low。这是安全审核参数,不会直接改变画面风格;不确定时保持默认即可。
userstring支持可选,用于标记你自己的终端用户或业务来源,普通调用可以不传。
streamboolean不支持请不要开启。
partial_imagesinteger不支持依赖 stream 的中间图返回能力,不支持。
stylestring不建议使用这是旧模型常见参数,gpt-image-2 不需要传。

图片编辑 / 图生图:/v1/images/edits

/v1/images/edits 使用 multipart/form-data 上传图片。image 是二进制图片文件,prompt 写清楚希望怎么修改图片。 接口实例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
curl --location 'https://www.dlowapi.me/v1/images/edits' \
--header 'Authorization: Bearer 你的Sora分组令牌' \
--header 'Accept: */*' \
--form 'model="gpt-image-2"' \
--form 'prompt="把图片里的主体保留,在右上角加一枚红色小印章,印章上写 DEMO"' \
--form 'image=@"/path/to/your-image.jpg"' \
--form 'size="1024x1024"' \
--form 'quality="high"' \
--form 'output_format="png"' \
--form 'response_format="url"'

图片编辑参数

参数类型支持情况说明
modelstring支持固定填写 gpt-image-2。
promptstring支持写清楚要保留什么、修改什么、最终希望得到什么。
imagefile支持必填,上传要编辑的图片二进制文件。建议一次只上传 1 张图片。
maskfile支持可选,局部修改时可传 PNG mask;不传则按整图编辑理解。
ninteger仅支持 1只支持一次返回 1 张图。多张结果 不支持。
sizestring支持同文生图,支持 auto 和符合限制的尺寸。
qualitystring支持可选 low、medium、high、auto。
response_formatstring支持可选 url、b64_json。默认建议用 url。
output_formatstring部分支持推荐 png 或 jpeg。webp 不建议使用。
output_compressioninteger支持只建议在 output_format 为 jpeg 时使用,取值 0 到 100。
backgroundstring部分支持建议使用默认值或 opaque。transparent 不支持。
moderationstring支持可选 auto、low。这是安全审核参数,不会直接改变画面风格。
input_fidelitystring支持图片编辑时可传 high,用于尽量保留原图主体和细节。
userstring支持可选,普通调用可以不传。
streamboolean不支持请不要开启。
partial_imagesinteger不支持依赖 stream 的中间图返回能力,不支持。

如果需要局部修改,可以额外传 mask。mask 建议使用 PNG 图片,透明区域表示允许模型重点修改的位置;不传 mask 时,模型会根据提示词对整张图进行编辑。

通用说明

尺寸与质量

  • 常用尺寸(Popular sizes) 1024 × 1024:正方形

  • 1536 × 1024:横向

  • 1024 × 1536:纵向

  • 2048 × 2048:2K 正方形

  • 2048 × 1152:2K 横向

  • 3840 × 2160:4K 横向

  • 2160 × 3840:4K 纵向

  • auto:自动(默认)

  • 尺寸限制(Size constraints) 最大边长必须 小于或等于 3840 像素

  • 宽和高都必须是 16 的倍数

  • 长边与短边的比例 不能超过 3:1

  • 总像素数必须 不少于 655,360,且 不超过 8,294,400

  • 质量选项(Quality options) low:低质量

  • medium:中等质量

  • high:高质量

  • auto:自动(默认)

返回结果 默认返回图片下载地址:

1
2
3
4
5
6
7
8
9
{
  "created": 1776923999,
  "data": [
    {
      "url": "https://www.dlowapi.me/file_download/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "revised_prompt": "..."
    }
  ]
}

返回的 url 即为生成的图片地址,直接访问即可下载。revised_prompt 是模型实际使用前改写过的提示词,看到它是正常现象,不是报错。

如果请求里传了 "response_format": "b64_json",返回内容会变成 Base64 图片数据:

1
2
3
4
5
6
7
8
9
{
  "created": 1776923999,
  "data": [
    {
      "b64_json": "iVBORw0KGgoAAAANSUhEUgAA...",
      "revised_prompt": "..."
    }
  ]
}

这时响应里通常没有 url,需要客户端自己把 b64_json 解码成图片文件。url 和 b64_json 两种返回方式都会包含 revised_prompt。普通用户更推荐使用默认的 url,最容易保存和分享。

方式二:Responses API(不支持)

方式三:Chat Completions API(不支持)

特别注意:长连接与代理设置

无论是直接通过 API 调用,还是在 Codex 等客户端程序中使用 gpt-image-2,图片生成请求通常都比普通聊天请求耗时更久,尤其是使用编辑模式、高清质量或高分辨率尺寸时。如果本机代理、网络工具或中间网关对长连接有限制,可能会在 60 秒左右主动断开连接,表现为 API 请求超时、没有返回内容,或客户端提示 Failed to fetch。

下面以 Cherry Studio 的编辑模式为例,长连接中断时程序侧通常会直接弹出 Failed to fetch;在开发者工具中,也可以看到 edits 请求停在 1 分钟左右。直接调用 API 时虽然界面提示不同,但问题本质相同,都是连接在图片生成完成前被中途断开。

如果确认是代理导致连接被中断,建议将本站域名 api.www.dlowapi.me 加入代理工具的直连或白名单规则,让访问 Dlow 时不再经过代理。不同代理软件的设置入口可能不同,核心是添加类似 domain:api.www.dlowapi.me 的域名规则。

放行后,同类请求可以等待更久并正常返回。下图中请求在约 1.6 分钟后返回图片;如果使用更高分辨率或更高质量选项,生成时间还可能继续增加。为了减少不可控的网络中断,建议绘图请求尽量直连 api.www.dlowapi.me,不要经过会限制长连接的代理或中转网络。