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

图像与视觉

了解如何理解或生成图像。

概览

较新的语言模型可以处理和分析图像输入,这种能力称为 视觉。GPT Image 模型可以根据文本和图像输入创建新图像或编辑现有图像。

根据您是要分析图像还是生成图像,选择相应的端点:

API支持的使用场景
Responses API分析图像,或使用图像生成工具生成和编辑图像
Images API生成图像作为输出,也可选择使用图像作为输入
Chat Completions API分析图像并生成文本回答

如需了解我们模型支持的输入和输出模态,请参阅模型页面

生成或编辑图像

使用 Images API 时,选择 gpt-image-2.5-sunburst 来根据文本生成图像或编辑现有图像。使用 Responses API 时,选择支持图像生成工具的主线模型;该工具会负责选择 GPT Image 模型。

使用 Responses 生成图像
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"}],
)

# 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("cat_and_otter.png", "wb") as f:
        f.write(base64.b64decode(image_base64))

您可以在图像 生成指南中进一步了解图像生成。

利用世界知识生成图像

GPT Image 模型无需参考图像即可利用世界知识。例如,要求生成一柜半宝石的提示可以生成包含紫水晶、粉晶和玉石等可辨认宝石的场景。

分析图像

使用具备视觉能力的模型描述图像、读取可见文本,并回答有关物体、形状、颜色或纹理的问题。使用模型的回答时,请考虑其局限性

向模型提供图像作为输入

通过以下任一方式提供要分析的图像:

  • 提供图像文件的完整 URL
  • 以 Base64 编码的数据 URL 形式提供图像
  • 提供文件 ID(通过 Files API 创建)

您可以在 content 数组中包含多张图像,从而在单个请求中提供多张图像作为输入,但请注意,图像会计为 Token,并据此计费。

分析图像内容
from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="gpt-6-astra",
    input=[
        {
            "role": "user",
            "content": [
                {"type": "input_text", "text": "what's in this image?"},
                {
                    "type": "input_image",
                    "image_url": "https://api.nga.gov/iiif/a2e6da57-3cd1-4235-b20e-95dcaefed6c8/full/!800,800/0/default.jpg",
                },
            ],
        }
    ],
)

print(response.output_text)

图像输入要求

请使用受支持的图像文件,并确保图像足够清晰,以便模型分析。

要求支持的输入
文件类型PNG(.png)、JPEG(.jpeg.jpg)、WEBP(.webp)和非动画 GIF(.gif
请求大小每个请求的总载荷最多为 512 MB
图像数量每个请求最多包含 1,500 张图像

对于基于图像块的图像输入,在应用所选模型和 detail 级别的缩放规则后,API 支持每张图像最多包含 30,000 个图像块。此限制适用于所有受支持的细节级别,并针对每张图像单独计算,而非针对请求中的图像块总数。

特定模型和细节级别规定的较低缩放预算仍然适用。处理后仍超过 30,000 个图像块限制的图像将被拒绝,系统不会自动缩放图像以满足此限制。请减小图像尺寸后重试。

图像 Token 和提示的其余部分也必须符合模型的输入和上下文限制。Token 估算结果并不保证请求满足所有输入限制。图像的使用必须遵守我们的使用政策

选择图像细节级别

detail 参数控制图像预处理。支持的值因模型而异:lowhighoriginalauto。如果省略此参数,Responses API 和 Chat Completions API 均默认使用 auto模型尺寸处理表列出了相应的处理方式。

{
    "type": "input_image",
    "image_url": "https://api.nga.gov/iiif/a2e6da57-3cd1-4235-b20e-95dcaefed6c8/full/!800,800/0/default.jpg",
    "detail": "original"
}

请根据以下指引选择细节级别:

细节级别最适合
low粗略理解图像。缩放方式和 Token 用量取决于模型;low 使用的 Token 不一定比 high 少。
high无需精确原图坐标时的标准高保真图像理解。
original在模型支持的情况下,用于尺寸较大、信息密集、对空间位置敏感或用于计算机使用的图像。
auto使用模型的默认尺寸处理方式,具体见模型尺寸处理表。

对于需要精细视觉细节或精确坐标的任务,例如光学字符识别(OCR)、小物体检测或计算机使用,请在模型支持时使用 "detail": "original"。原始细节级别仍可能缩放图像,以满足模型的像素尺寸限制或缩放图像块预算,但不会为了满足单独设定的 30,000 个图像块拒绝阈值而缩放。对于对坐标敏感的任务,请在发送前缩放图像以满足这些限制,并将返回的坐标映射回原图。有关坐标处理,请参阅计算机使用指南

模型的尺寸处理方式

下表汇总了通用视觉模型的尺寸处理方式。其他模型和专用变体可能采用不同的限制。所有尺寸调整都会保持宽高比,且不会放大较小的图像。

模型系列 支持的细节级别 图像块与缩放处理方式
gpt-6-astra

lowhighoriginalauto

low 将图像尺寸限制在 512 × 512 像素以内。high 允许最多 2,500 个图像块,且最大边长为 65,535 像素。这两项限制同时适用。 original 保留图像的原始尺寸,但如果图像 任一边长超过 65,535 像素,则会将其缩小至符合 该限制。如果处理后的图像需要超过 30,000 个图像块,API 会拒绝 该请求;不会为满足图像块数量限制而调整图像尺寸。 auto 的尺寸处理方式与 original 相同。

gpt-5.6-solgpt-5.6-terragpt-5.6-luna

lowhighoriginalauto

low 将图像限制在 512 × 512 像素以内。high 将图像限制在 2048 × 2048 像素和 2,500 个图像块以内。original 保留图像的原始尺寸,但任一边超过 65,535 像素的图像 会被缩小以满足该限制。如果处理后的 图像需要超过 30,000 个图像块,API 将拒绝 该请求;图像不会为满足图像块数量限制而缩放。 auto 采用与 original 相同的尺寸处理方式。

gpt-5.5

lowhighoriginalauto

low 将图像限制在 512 × 512 像素以内。high 最多允许 2,500 个图像块,且最长边不超过 2048 像素。original 最多允许 10,000 个图像块,且最长边不超过 6000 像素。两项 限制同时适用。auto 采用与 original 相同的尺寸处理方式。

gpt-5.4gpt-5.4-minigpt-5.4-nano

lowhighoriginalauto

low 的最长边限制为 2048 像素,图像块预算为 6,144 个, 因此它可能比 high 使用更多 Token。 high 最多允许 2,500 个图像块,且最长边 不超过 2048 像素。original 最多允许 10,000 个图像块,且 最长边不超过 6000 像素。两项限制同时适用。auto 采用与 high 相同的尺寸处理方式。

gpt-5.2gpt-4.1-mini

lowhighauto

这些细节级别采用相同的尺寸限制:最长边不超过 2048 像素, 图像块预算为 6,144 个。不支持 original

gpt-5.1gpt-4.1gpt-4ogpt-4o-mini

lowhighauto

low 使用固定数量的 Token。highauto 使用 基于瓦片的尺寸处理规则

计算成本

视觉模型将图像输入转换为可计费的输入 Token。图像输入成本计算器和本节中的图像块/瓦片规则适用于视觉模型的输入,不适用于 GPT Image 的图像生成或编辑。有关后者的单独定价,请参阅GPT Image 模型输入

图像 Token 也会计入您的每分钟 Token 数(TPM)限制。计算器按标准输入费率估算一张图像的成本,不包含提示的其余部分或模型输出。

图像输入成本计算器

使用图像输入成本计算器,根据模型、图像尺寸和细节级别估算单张图像的输入 Token 数和成本。

基于图像块的图像 Token 化处理

某些模型通过用 32px x 32px 的图像块覆盖图像来进行 Token 化处理。许多模型与细节级别的组合都规定了缩放图像块预算。首先,API 会将图像调整到所选细节级别的像素尺寸限制以内,同时保留宽高比,并将尺寸舍入为整数像素,且不会放大较小的图像。随后按以下步骤确定 Token 成本:

A. 在应用像素尺寸限制后,计算覆盖图像需要多少个 32px x 32px 的图像块。图像块可以超出图像边界。

patch_count = ceil(width/32)×ceil(height/32)

B. 如果所选模型和细节级别规定了缩放图像块预算,且图像超出该预算,则按比例缩小图像。否则,跳过此步骤。调整缩放比例,确保转换为整数像素尺寸并计算覆盖所需的图像块数量后,仍不超出预算。在计算最终尺寸之前,始终保留完整精度。

shrink_factor = sqrt((32^2 * patch_budget) / (width * height))
adjusted_shrink_factor = shrink_factor * min(
  floor(width * shrink_factor / 32) / (width * shrink_factor / 32),
  floor(height * shrink_factor / 32) / (height * shrink_factor / 32)
)

C. 如果步骤 B 缩放了图像,将缩放后的最终宽度和高度向下取整为整数像素。计算覆盖所得图像所需的图像块数量。这就是应用模型乘数之前的图像 Token 数。如果设有图像块预算,此数量不会超出该预算。

resized_patch_count = ceil(resized_width/32)×ceil(resized_height/32)

如果此数量超过 30,000 个图像块,API 将拒绝请求。请在应用 Token 乘数之前检查此限制。

D. 将图像块数量乘以模型的乘数并向上取整,得到可计费的图像输入 Token 数。按模型的输入价格对这些 Token 计费一次;该乘数不适用于提示中的其他 Token,也不应再次应用于价格。

模型乘数
gpt-6-astra1.2
gpt-5.6-sol1.2
gpt-5.6-terra1.2
gpt-5.6-luna1.2
gpt-5.51.2
gpt-5.41.2
gpt-5.4-mini1.2
gpt-5.4-nano1.2
gpt-5.21.2
gpt-5-mini*1.2
gpt-5-nano*1.5
gpt-4.1-mini1.62
gpt-4.1-nano*(2025-04-14 快照)2.46
o4-mini*1.72

对于 gpt-4.1-mini,此规则适用于 2025-04-14 快照。

* 已弃用,并已计划停用。有关日期和替代模型,请参阅弃用时间表。计算器和上方的模型尺寸调整行为表均未包含这些模型。

gpt-6-astradetail: high 设置下的图像 Token 计算示例

此组合的最大边长为 65,535 像素,图像块预算为 2,500 个,乘数为 1.2 倍。

  • 一张 1024 × 1024 的图像需要 32 × 32 = 1024 个图像块,无需调整尺寸。计费的图像输入 Token 数为 ceil(1024 × 1.2) = 1229
  • 一张 2048 × 2048 的图像最初需要 64 × 64 = 4096 个图像块。受图像块预算限制,图像会缩小至 1600 × 1600 像素,即 50 × 50 = 2500 个图像块。估算的 Token 数为 ceil(2500 × 1.2) = 3000
  • 一张 4096 × 512 的图像会保持原始尺寸:图像块数量为 128 × 16 = 2048,Token 数为 ceil(2048 × 1.2) = 2458

计费过程中的浮点数舍入可能使最终数量与估算值相差一个 Token。

基于瓦片的图像 Token 化处理

下表中的模型将基础 Token 数与图像瓦片的 Token 数相加:

模型基础 Token 数每个瓦片的 Token 数
gpt-5.170140
gpt-5*70140
gpt-4ogpt-4.185170
gpt-4o-mini28335667
o1*、o1-pro*、o3*75150

* 已弃用,并已计划停用。有关日期和替代模型,请参阅弃用时间表。计算器和上方的模型尺寸调整行为表均未包含这些模型。

使用 "detail": "low" 时,无论图像尺寸如何,都只计入该模型的基础 Token 数。使用 "detail": "high""detail": "auto" 时:

  • 保持宽高比,将图像缩小至 2048px x 2048px 的正方形范围内。较小的图像不会放大。
  • 如果最短边超过 768px,则将其缩小至 768px,并将另一边的尺寸向下取整。
  • 计算覆盖图像所需的边长为 512px 的正方形数量。每个正方形消耗该模型规定的每个瓦片的 Token 数。
  • 将模型的基础 Token 数与瓦片的 Token 总数相加。

GPT Image 模型输入

GPT Image 模型在生成和编辑图像时采用单独的图像 Token 定价。视觉计算器不估算这些模型的输入或输出费用。有关当前费率,请参阅图像生成定价;有关生成和编辑工作流,请参阅图像生成指南

GPT Image 1

以下输入 Token 规则适用于 gpt-image-1。使用基于瓦片的图像尺寸调整方式,但将最短边缩小至 512px,而非 768px。Token 用量取决于图像尺寸以及 Images API 中的 input_fidelity 参数。

当输入保真度设为低时,基础消耗为 65 个图像 Token,每个瓦片消耗 129 个图像 Token。 使用高输入保真度时,除上述图像 Token 外,我们还会根据图像的宽高比增加一定数量的 Token。

  • 如果您的图像为正方形,我们会额外增加 4160 个输入图像 Token。
  • 如果图像更接近纵向或横向比例,我们会额外增加 6240 个 Token。

有关图像输入 Token 的定价,请参阅图像定价部分

局限性

视觉模型可能出错。设计应用时,请考虑以下局限性:

  • 医学影像:该模型不适合解读 CT 扫描等专业医学影像,也不应被用于提供医疗建议。
  • 非英语文本:处理包含日语或韩语等非拉丁文字的图像时,模型的表现可能不够理想。
  • 小字号文本:放大图像中的文本以提高可读性。如果支持,使用 "detail": "original" 也有助于改善表现。
  • 旋转:模型可能会错误解读旋转或倒置的文本和图像。
  • 视觉元素:对于使用不同颜色或样式(例如实线、虚线或点线)的图表或文本,模型可能难以理解。
  • 空间推理:模型难以完成需要精确空间定位的任务,例如识别国际象棋棋子的位置。
  • 准确性:在某些情况下,模型可能生成不正确的描述或图注。
  • 图像形状:模型难以处理全景和鱼眼图像。
  • 元数据与尺寸调整:模型不处理原始文件名或元数据。图像在分析前可能会被调整尺寸,即使使用 original 细节级别也是如此。有关各模型适用的限制,请参阅模型尺寸调整行为
  • 计数:模型对图像中物体的计数可能是近似值。
  • 验证码:出于安全原因,我们的系统会阻止提交验证码。