跳转到主要内容

快速说明

gpt-image-2 是 LaoZhang API 提供的图像生成与图像编辑模型,适合需要 OpenAI 兼容接口、希望同时覆盖文生图和图改图的开发场景。

价格

gpt-image-2 按次计费,价格为 $0.03/次

在线测试

可在 yingtu.ai 在线测试生成效果,再接入 API。

接口怎么选

你的需求推荐接口返回方式
已经在用 Chat Completions,希望少改代码/v1/chat/completionsMarkdown 图片 URL,位于 choices[0].message.content
只做文生图,并希望使用标准 Images API 结构/v1/images/generations默认 data[0].b64_json,也可返回 data[0].url
需要 multipart 上传本地图片做图改图/v1/images/edits默认 data[0].b64_json,也可返回 data[0].url
源图已经是 CDN 地址或 base64 data URL/v1/chat/completionsMarkdown 图片 URL
如果你的应用只是“输入提示词,拿到一张图片 URL”,优先使用 /v1/chat/completions。如果你需要标准 Images API 响应结构,或已有 OpenAI Images API 代码,可以使用 /v1/images/generations/v1/images/edits

基础配置

export LAOZHANG_API_KEY="sk-你的许可"
export BASE_URL="https://api.laozhang.ai/v1"
OpenAI 兼容调用使用统一网关地址 https://api.laozhang.ai/v1,不要把 base URL 写成模型级路径。

Chat Completions 文生图

这是最简单的接入方式:把 model 设置为 gpt-image-2,把图片需求写进 messages
curl "$BASE_URL/chat/completions" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -d '{
    "model": "gpt-image-2",
    "messages": [
      {
        "role": "user",
        "content": "生成一张白色陶瓷马克杯放在灰色桌面上的产品图,柔和自然光,简洁背景"
      }
    ],
    "stream": false
  }'
返回中的图片通常在 choices[0].message.content 里,以 Markdown 图片链接形式出现:
{
  "choices": [
    {
      "message": {
        "role": "assistant",
        "content": "![image](https://example.com/generated.png)"
      }
    }
  ]
}

Chat Completions 图改图

当源图是可访问的 CDN 图片地址,或者你已经把图片转成了 base64 data URL,可以继续使用 /v1/chat/completionsmessages[].content 需要改成数组,同时传入文字指令和图片。

使用图片 URL

curl "$BASE_URL/chat/completions" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -d '{
    "model": "gpt-image-2",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "使用提供的图片作为源图。保留主体、构图和文字,只把杯身贴纸改成红色,并给杯口加一条很细的金色边。"
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "https://example.com/source.png"
            }
          }
        ]
      }
    ],
    "stream": false
  }'

使用 base64 data URL

curl "$BASE_URL/chat/completions" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -d '{
    "model": "gpt-image-2",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "使用提供的图片作为源图。保留主体、构图和文字,只把贴纸改成绿色。"
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "data:image/png;base64,这里放图片base64"
            }
          }
        ]
      }
    ],
    "stream": false
  }'

Images Generations 文生图

如果你的代码已经使用 OpenAI Images API,可以调用 /v1/images/generations 默认返回 data[0].b64_json
curl "$BASE_URL/images/generations" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "生成一张简洁产品海报:木质桌面上一张白色卡片,卡片右下角印有 IMG-42"
  }'
如果你希望直接拿图片 URL,添加 response_format
curl "$BASE_URL/images/generations" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "生成一张简洁产品海报:木质桌面上一张白色卡片,卡片右下角印有 IMG-42",
    "response_format": "url"
  }'

Images Edits 图改图

如果源图在本地文件中,使用 /v1/images/edits 的 multipart 表单上传方式更直接。 默认返回 data[0].b64_json
curl "$BASE_URL/images/edits" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -F "model=gpt-image-2" \
  -F "prompt=使用提供的图片作为源图。保留桌面、卡片和 IMG-42 标签,只给卡片加一条很细的红色边框。" \
  -F "image=@source.png"
返回 URL:
curl "$BASE_URL/images/edits" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -F "model=gpt-image-2" \
  -F "prompt=使用提供的图片作为源图。保留桌面、卡片和 IMG-42 标签,只给卡片加一条很细的蓝色边框。" \
  -F "image=@source.png" \
  -F "response_format=url"

返回结果解析

提取 Chat Completions 图片 URL

import re

content = response["choices"][0]["message"]["content"]
match = re.search(r"!\[[^\]]*\]\((https?://[^)\s]+)\)", content)
image_url = match.group(1) if match else None

保存 Images API 的 b64_json

import base64

value = response["data"][0]["b64_json"]
if value.startswith("data:"):
    value = value.split(",", 1)[1]

with open("output.png", "wb") as f:
    f.write(base64.b64decode(value))

读取 Images API 的 URL

image_url = response["data"][0]["url"]

图改图提示词写法

图改图的关键是明确“保留什么”和“只改什么”。推荐写法:
使用提供的图片作为源图。保留主体、构图、镜头角度和关键文字。只修改一个明确细节:把 X 改成 Y。
更稳定的写法:
  • 保留商品、背景、镜头角度,只替换颜色或局部装饰。
  • 保留卡片位置和文字,只增加边框、标签或小图标。
  • 避免写“生成一张类似图片”,这会让模型更容易重绘整张图。

常见问题

/v1/chat/completions 返回的是对话补全结构。图片 URL 在 choices[0].message.content 的 Markdown 图片链接里。data[0].url 是 Images API 的返回结构。
先检查返回值是否包含 data:image/png;base64, 前缀。包含前缀时,先按第一个逗号切分,再对后半段做 base64 解码。
gpt-image-2 按次计费,价格为 $0.03/次
可以。访问 yingtu.ai 在线测试,再把确认后的提示词迁移到 API 调用中。