For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
主导航

图像生成

让模型生成或编辑图像。

图像生成工具可根据文本提示生成图像,您也可以选择提供图像输入。它使用 GPT Image 模型,包括 gpt-image-2.5-sunburstgpt-image-2.5-flaregpt-image-2gpt-image-1.5gpt-image-1gpt-image-1-mini,并自动优化文本输入以提升效果。

image_generation 工具的 model 设为 gpt-image-2.5-sunburst 可进行精准编辑,设为 gpt-image-2.5-flare 则可快速生成高质量图像。在 Responses 的顶层 model 字段中,请使用受支持的主系列模型。

如需进一步了解图像生成,请参阅我们的专题图像生成 指南

使用方法

在请求中包含 image_generation 工具后,模型就可以根据您的提示和提供的图像输入,决定在对话中何时以及如何生成图像。

image_generation_call 工具调用的结果将包含一张以 base64 编码的图像。

生成图像
from openai import OpenAI
import base64

client = OpenAI()

response = client.responses.create(
    model="gpt-6-astra",
    input="Generate an image of gray tabby cat hugging an otter with an orange scarf",
    tools=[{"type": "image_generation", "model": "gpt-image-2.5-sunburst"}],
)

# Save the image to a file
image_data = [
    output.result
    for output in response.output
    if output.type == "image_generation_call"
]

if image_data:
    image_base64 = image_data[0]
    with open("otter.png", "wb") as f:
        f.write(base64.b64decode(image_base64))

您可以使用文件 ID 或 base64 数据来提供输入图像

如需强制调用图像生成工具,您可以将 tool_choice 参数设为 {"type": "image_generation"}

工具选项

您可以通过图像生成工具的参数配置以下输出选项:

  • 尺寸:图像的宽高,例如 1024 × 1024 或 1024 × 1536
  • 质量:渲染质量,例如低、中或高
  • 格式:输出文件格式
  • 压缩:JPEG 和 WebP 格式的压缩程度(0-100%)
  • 背景:透明、不透明或自动
  • 操作:自动选择操作、生成图像或编辑图像

sizequalitybackground 均支持 auto 选项,模型会根据提示自动选择最佳选项。

对于 gpt-image-2.5-sunburstgpt-image-2.5-flarequality 还接受 xhighmax。早期的 GPT Image 模型不支持这些值。默认质量仍为 auto

gpt-image-2 支持灵活设置 size 值,只要满足其分辨率限制即可。透明背景功能目前处于预览阶段;设置 background: "transparent" 即可请求透明背景。请使用 png(默认格式)或 webp;透明背景不支持 jpeg 格式。

有关可用选项的更多详情,请参阅图像生成指南

使用 Responses API 图像生成工具时,受支持的 GPT Image 模型可以选择生成新图像或编辑对话中已有的图像。可选的 action 参数控制这一行为:将 action 保持为 auto,让模型自行选择生成还是编辑;也可以将其设为 generateedit,强制执行相应操作。如果未指定,默认值为 auto

修改后的提示

使用图像生成工具时,主系列模型(例如 gpt-5.5)会自动修改您的提示,以提升效果。

您可以在图像生成调用的 revised_prompt 字段中获取修改后的提示:

{
  "id": "ig_123",
  "type": "image_generation_call",
  "status": "completed",
  "revised_prompt": "A gray tabby cat hugging an otter. The otter is wearing an orange scarf. Both animals are cute and friendly, depicted in a warm, heartwarming style.",
  "result": "..."
}

提示编写技巧

在提示中使用 drawedit 等词语时,图像生成效果最佳。

例如,如果您想合并图像,可以不使用 combinemerge,而是这样描述:“编辑第一张图像,将第二张图像中的这个元素添加进去。”

多轮编辑

您可以引用先前的响应 ID 或图像 ID,反复编辑图像,从而在多轮对话中逐步完善图像。

多轮图像生成
from openai import OpenAI
import base64

client = OpenAI()

response = client.responses.create(
    model="gpt-6-astra",
    input="Generate an image of gray tabby cat hugging an otter with an orange scarf",
    tools=[{"type": "image_generation", "model": "gpt-image-2.5-sunburst"}],
)

image_data = [
    output.result
    for output in response.output
    if output.type == "image_generation_call"
]

if image_data:
    image_base64 = image_data[0]

    with open("cat_and_otter.png", "wb") as f:
        f.write(base64.b64decode(image_base64))


# Follow up

response_fwup = client.responses.create(
    model="gpt-6-astra",
    previous_response_id=response.id,
    input="Now make it look realistic",
    tools=[{"type": "image_generation", "model": "gpt-image-2.5-sunburst"}],
)

image_data_fwup = [
    output.result
    for output in response_fwup.output
    if output.type == "image_generation_call"
]

if image_data_fwup:
    image_base64 = image_data_fwup[0]
    with open("cat_and_otter_realistic.png", "wb") as f:
        f.write(base64.b64decode(image_base64))

流式传输

图像生成工具支持在生成最终结果的过程中,以流式方式传输尚未完成的图像。这能更快地为用户提供视觉反馈,减少感知延迟。

您可以通过 partial_images 参数设置中间图像的数量(1-3 张)。

流式传输图像
from openai import OpenAI
import base64

client = OpenAI()


def save_base64_image(filename, image_base64):
    image_bytes = base64.b64decode(image_base64)
    with open(filename, "wb") as f:
        f.write(image_bytes)


stream = client.responses.create(
    model="gpt-6-astra",
    input="Draw a gorgeous image of a river made of white owl feathers, snaking its way through a serene winter landscape",
    stream=True,
    tools=[
        {"type": "image_generation", "model": "gpt-image-2.5-sunburst", "partial_images": 2}
    ],
)

for event in stream:
    if event.type == "response.image_generation_call.partial_image":
        idx = event.partial_image_index
        save_base64_image(f"river-partial-{idx}.png", event.partial_image_b64)
    elif event.type == "response.completed":
        image_data = [
            output.result
            for output in event.response.output
            if output.type == "image_generation_call"
        ]

        if image_data:
            save_base64_image("river-final.png", image_data[0])

支持的模型

以下模型支持图像生成工具:

  • gpt-5.5
  • gpt-5.4-mini
  • gpt-5.4-nano
  • gpt-5.2
  • gpt-5
  • gpt-5-nano
  • o3
  • gpt-4.1
  • gpt-4.1-mini
  • gpt-4.1-nano
  • gpt-4o
  • gpt-4o-mini