Skip to content

GPT Image 2

GPT Image 2 是 OpenAI 最新的 GPT Image 图像生成与编辑模型。CiYuanX 通过 OpenAI 兼容的图像接口提供该能力,使用官方 OpenAI SDK 时,只需把 base_url / baseURL 改成 https://ciyuanx.io/v1

能力端点
生成图片POST https://ciyuanx.io/v1/images/generations
编辑图片POST https://ciyuanx.io/v1/images/edits

模型 ID:gpt-image-2

选择接口

如果只需要通过一次请求生成或编辑图片,使用 Image API 即可,这也是大多数 CiYuanX 接入场景推荐的方式。OpenAI 官方还提供了 Responses API 的图片生成工具,适合对话式、多步骤改图工作流——如果你的业务需要多轮改图,请先确认 CiYuanX 上对应模型与端点是否支持 Responses API。

生成图片

Image API 会在 data[0].b64_json 返回 base64 图片数据,解码后写入文件即可。

python
from openai import OpenAI
import base64

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://ciyuanx.io/v1",
)

result = client.images.generate(
    model="gpt-image-2",
    prompt="一张干净的产品摄影图,白色背景上有一盏哑光黑色智能台灯",
    size="1024x1024",
    quality="medium",
)

image_bytes = base64.b64decode(result.data[0].b64_json)
with open("lamp.png", "wb") as f:
    f.write(image_bytes)
typescript
import OpenAI from "openai";
import { writeFileSync } from "node:fs";

const client = new OpenAI({
  apiKey: "YOUR_API_KEY",
  baseURL: "https://ciyuanx.io/v1",
});

const result = await client.images.generate({
  model: "gpt-image-2",
  prompt: "一张干净的产品摄影图,白色背景上有一盏哑光黑色智能台灯",
  size: "1024x1024",
  quality: "medium",
});

writeFileSync("lamp.png", Buffer.from(result.data[0].b64_json, "base64"));
bash
curl https://ciyuanx.io/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "一张干净的产品摄影图,白色背景上有一盏哑光黑色智能台灯",
    "size": "1024x1024",
    "quality": "medium"
  }'

下面这张图由上方示例生成,并从 data[0].b64_json 解码保存:

GPT Image 2 生成的台灯产品图

使用参考图编辑

将一张或多张图片传给 images.edit,再用文字描述希望得到的结果。多张输入图片可以作为新构图的参考。

python
from openai import OpenAI
import base64

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://ciyuanx.io/v1",
)

result = client.images.edit(
    model="gpt-image-2",
    image=[
        open("product.png", "rb"),
        open("background.png", "rb"),
    ],
    prompt="把第一张图中的产品放到第二张图的桌面上,保持真实光照。",
    size="1536x1024",
    quality="high",
)

image_bytes = base64.b64decode(result.data[0].b64_json)
with open("edited-product.png", "wb") as f:
    f.write(image_bytes)
typescript
import OpenAI from "openai";
import { createReadStream, writeFileSync } from "node:fs";

const client = new OpenAI({
  apiKey: "YOUR_API_KEY",
  baseURL: "https://ciyuanx.io/v1",
});

const result = await client.images.edit({
  model: "gpt-image-2",
  image: [
    createReadStream("product.png"),
    createReadStream("background.png"),
  ],
  prompt: "把第一张图中的产品放到第二张图的桌面上,保持真实光照。",
  size: "1536x1024",
  quality: "high",
});

writeFileSync("edited-product.png", Buffer.from(result.data[0].b64_json, "base64"));
bash
curl https://ciyuanx.io/v1/images/edits \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F model="gpt-image-2" \
  -F "image[]=@product.png" \
  -F "image[]=@background.png" \
  -F prompt="把第一张图中的产品放到第二张图的桌面上,保持真实光照。" \
  -F size="1536x1024" \
  -F quality="high"

下面示例将产品图和桌面背景图合成,返回一张新的 1536×1024 PNG:

产品输入图背景输入图编辑输出图
产品输入图背景输入图编辑输出图

使用蒙版编辑

当你希望引导模型只修改某个区域时,可以传入 mask。原图和 mask 必须尺寸一致、格式一致,并且 mask 必须包含 alpha 通道。

python
from openai import OpenAI
import base64

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://ciyuanx.io/v1",
)

result = client.images.edit(
    model="gpt-image-2",
    image=open("room.png", "rb"),
    mask=open("mask.png", "rb"),
    prompt="把蒙版区域替换成一个现代胡桃木书架。",
)

image_bytes = base64.b64decode(result.data[0].b64_json)
with open("room-bookshelf.png", "wb") as f:
    f.write(image_bytes)
bash
curl https://ciyuanx.io/v1/images/edits \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F model="gpt-image-2" \
  -F image=@room.png \
  -F mask=@mask.png \
  -F prompt="把蒙版区域替换成一个现代胡桃木书架。"

mask 图片使用 alpha 通道标记可编辑区域,接口返回结果是普通 PNG:

原图蒙版图编辑输出图
原图蒙版图编辑输出图

流式返回局部图片

OpenAI 上游接口提供了 streampartial_images,用于在最终图完成前接收中间图片。在 CiYuanX 上,这属于兼容性相关能力:除非你确认当前端点已经支持流式图片事件,否则建议使用标准的非流式调用。

即使传入 stream: truepartial_images,响应也可能仍然是普通的最终 JSON,并通过 data[0].b64_json 返回图片。

输出选项

参数可选值说明
sizeauto1024x10241536x10241024x15362048x20482048x11523840x21602160x3840,或其他符合约束的自定义尺寸每条边必须是 16 px 的倍数,最长边不超过 3840 px,长短边比例不超过 3:1,总像素数需在 655,360 到 8,294,400 之间。
qualityautolowmediumhigh草稿和快速迭代可用 low,最终素材建议用 mediumhigh
output_formatpngjpegwebp默认是 png。不需要透明背景时,jpeg 通常更快。
output_compression0100仅适用于 jpegwebp
backgroundauto、不透明背景选项gpt-image-2 当前不支持 background: "transparent"
streampartial_images兼容性相关CiYuanX 可能返回普通最终 JSON,而不是流式局部图片事件。
moderationautolowauto 是默认过滤级别。

注意事项与限制

  • 复杂 prompt 可能需要更长处理时间,业务侧建议设置合理超时或后台任务。
  • 模型的文字渲染能力已有提升,但仍不能保证完全准确。Logo、标签、UI mockup 等场景需要人工检查。
  • 跨多次生成时,角色、精确布局、品牌细节可能无法完全保持一致。
  • 使用 gpt-image-2 编辑图片时不要传 input_fidelity;模型会自动以高保真方式处理输入图片。
  • 蒙版是对编辑区域的引导,不等于像素级精确选区。