mcpField
O
openai-gpt-image

openai-gpt-image

github.com/calesthio创意与媒体219111 次安装15 周前更新
代码仓库

关于 openai-gpt-image

openai-gpt-image 是使用 OpenAI GPT Image 生成和编辑静态图像的技能,面向需要管理图像 API 调用与迭代流程的开发者和内容团队。它说明如何选择 Image API 或 Responses API,并围绕参数、输入图像和验收检查组织生产步骤。

主要功能

  1. 01区分直接调用与对话式 API
  2. 02选择模型及图像生成参数
  3. 03使用参考图与遮罩编辑
  4. 04记录素材来源并检查结果

适用场景

  1. 01通过单次调用生成或编辑图像
  2. 02在多轮对话中连续修改图像
  3. 03核对图像中的文字、身份与品牌

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/calesthio/generative-media-skills --skill openai-gpt-image

安装后在 Claude Code 中输入/openai-gpt-image确认已加载。

附带文件EVAL.md

详细介绍

使用 OpenAI GPT Image 生成静态图像

使用此技能进行 OpenAI 静态图像生成和编辑。不要用它处理视频、动画、语音、转录或音乐任务。

根据证据标签解读声明

  • 已记录事实表示 OpenAI 当前文档中说明的行为。
  • 生产实践建议表示根据已记录行为和生产风险得出的实用工作流建议,并非 API 保证。
  • 推断表示有理有据的结论,必须在实际工作负载上验证。

模型名称、价格、限制、支持的参数、区域可用性、政策和生命周期日期都可能变化。在向用户介绍或引用这些信息之前,请立即重新查看链接的官方来源。以下易变信息已于 2026-07-09 核实。

首先查看当前生命周期,而不是凭记忆选择模型名称

已记录事实,已于 2026-07-09 核实:

模型当前用途生命周期 / 迁移操作
gpt-image-2当前用于生成和编辑的生产默认模型;提供别名和快照 gpt-image-2-2026-04-21使用别名以自动获取更新;若需要回归稳定性,则使用快照。
gpt-image-1.5上一代模型已弃用;计划于 2026-12-01 从 API 中移除。迁移到 gpt-image-2。
gpt-image-1上一代模型已弃用;计划于 2026-10-23 从 API 中移除。迁移到 gpt-image-2。
gpt-image-1-mini高性价比的 GPT Image 1 变体已弃用;计划于 2026-12-01 从 API 中移除。不要基于它建立新的依赖;请测试 gpt-image-2 的 quality="low"。
dall-e-3、dall-e-2仅用于旧版迁移参考已弃用,并于 2026-05-12 从 API 中移除。请替换,不要选用。

来源:GPT Image 2 模型页面、所有模型目录、弃用公告。

生产实践建议: 新项目默认使用 gpt-image-2。对于现有提示词,仅保留已弃用的 GPT Image 模型,直到完成有数据依据的迁移对比。不要只因单张图像的价格表看起来更便宜,就选择已弃用的模型。

生产实践建议: 如果需要可重复性,请测试并固定使用 gpt-image-2-2026-04-21;如果更看重持续获得改进,请使用 gpt-image-2。在资产台账中记录准确的标识符、端点、参数、提示词、源图像哈希和输出元数据。

有目的地选择接口

直接执行操作时使用 Image API

文本生成图像时使用 POST /v1/images/generations;执行编辑、合成、参考图驱动生成或蒙版编辑时使用 POST /v1/images/edits。请明确选择 GPT Image 模型。

当请求只涉及一项操作、由应用管理迭代状态,或需要精确选择模型时,请使用此接口。对于 GPT Image 模型,API 会返回 Base64 图像数据。

使用 Responses API 处理对话式图像工作流

使用支持内置 image_generation 工具的主线模型,然后将工具级别的 model 设为 gpt-image-2。这是两个独立的选择:顶层 Responses model 负责推理和编排,而 tools[].model 用于选择图像模型。使用 previous_response_id、图像生成调用 ID、文件 ID、URL 或数据 URL,在不同轮次间传递图像上下文。使用 action: "auto"、"generate" 或 "edit" 控制意图;如果上下文中没有图像却强制设为 edit,则会报错。

当模型需要跨对话轮次进行推理、混合文本与图像输入,或连续进行高保真修改时,请选择此接口。检查并记录工具调用的 revised_prompt。除图像生成费用外,还需计入主线模型的 Token 费用。

关键区别: 不要将 gpt-image-2 作为顶层 Responses model 传入。请选择模型页面列出“图像生成”为受支持工具的当前主线模型,并单独将 tools[].model="gpt-image-2" 设为图像模型。省略工具级选择器可能会回退到架构中较旧的默认值。

文档说明的事实: 两种接口都支持流式传输部分图像。partial_images 接受 0 到 3;最终图像可能会在所有请求的部分图像到达之前返回。每张部分图像会额外消耗 100 个图像输出 Token。流式传输会依次返回预览图和最终结果,不能替代对最终图像的质量检查。

文档说明的边界: 当前图像指南介绍了请求/响应和服务器发送事件流式传输,并未提供专用的图像任务 ID/轮询端点。模型和定价页面列出了 GPT Image 2 的 Batch 支持和 Batch 定价,但在设计异步批量系统前,请先核实当前 Batch 端点的目标契约。不要臆造图像轮询 API。

来源:图像生成指南、Images API 参考、图像流式传输参考、Responses API。

生成前完成生产决策检查

  1. 确认交付要求:用途、受众、宽高比或精确尺寸、必需文案、品牌或角色不变要素、变体数量、截止时间和审核负责人。
  2. 确认对所有输入图像、徽标、人物、角色、艺术作品和参考资料均拥有相应权利并已取得同意。不要上传不必要的个人或机密材料。
  3. 如果结果将面向客户或成本较高,请重新核查模型页面、图像指南、定价、弃用事项和政策。
  4. 选择 API 接口。单次直接操作使用 Image API;需要对话式推理和迭代状态时使用 Responses。
  5. 根据所需输出选择参数,不要凭习惯设置。使用低质量草稿测试构图,然后只提升获批候选图的质量。
  6. 将提示词写成生产规格。明确说明需要更改的内容、保持不变的内容,以及审核成功与否的方式。
  7. 生成数量最少但有用的样本。绝不要在未明确说明的情况下,将样本审批转为大批量生成。
  8. 立即保存最终字节数据;尽可能保留来源信息,并记录响应/请求标识符和用量。
  9. 交付前,根据准确文案、事实性声明、身份、几何形状、品牌细节、构图和安全性进行审核。

使用当前参数控制 GPT Image 2

尺寸和质量

Images API 的文档事实,已于 2026-07-09 验证:gpt-image-2 接受 size="auto",或满足以下所有约束的任意分辨率:

  • 最长边不超过 3840 像素;
  • 两条边都是 16 的倍数;
  • 长边与短边的比例不超过 3:1;
  • 总像素数在 655,360 至 8,294,400 之间。

常见的有效尺寸包括 1024x1024、1536x1024、1024x1536、2048x2048、2048x1152、3840x2160 和 2160x3840。文档指出,总像素数高于 2560x1440 范围的输出属于实验性功能,结果可能有更大差异。正方形通常速度最快。

Responses image_generation 工具的实时架构更受限:请使用 auto、1024x1024、1024x1536 或 1536x1024。未经重新核对架构,不要将 Images API 的任意分辨率直接用于 Responses 工具调用。

使用 quality="low"、"medium"、"high" 或 "auto"。

  • **生产启发式:**使用 low 测试概念、布局、裁切和吞吐量。
  • **生产启发式:**对于小字或密集文字、面部特写、身份敏感型编辑、复杂图表和最终高分辨率素材,请比较 medium 和 high。
  • **生产启发式:**不要假设高质量可以修复相互矛盾的提示词或精确布局问题。应先完善规格。
输出格式和背景

GPT Image 返回 base64 数据。output_format 默认为 png,也可以是 jpeg 或 webp。使用 JPEG 或 WebP 时,请将 output_compression 设为 0 至 100;当前文档指出,JPEG 比 PNG 更快。

文档事实:gpt-image-2 目前不支持透明背景。不要向其发送 background="transparent"。请使用 background="opaque" 或 "auto",在干净且对比鲜明的底色上生成图像;如需 alpha 通道,请使用后续背景移除流程。

较早的 GPT Image 端点契约在支持的情况下可提供透明输出,但要求使用 PNG 或 WebP;这些模型已弃用。不要仅为支持透明背景而引入旧版依赖。

数量、内容审核和用户身份
  • n 默认为 1;Images 端点契约允许 1 至 10。只生成经批准的样本/批次计划所需数量的变体。
  • moderation="auto" 使用标准过滤;moderation="low" 使用限制较少的过滤。它不会停用策略检查或输出检查。
  • 如适合用于滥用监控,请通过受支持的 user 字段传递最终用户标识符。不要在其中放入原始个人数据;请使用稳定的假名化标识符。
  • 复杂提示词可能需要最多两分钟。请明确处理客户端超时和速率限制。
图像输入和保真度

编辑端点接受一张或多张参考图像;当前端点参考文档指出,GPT Image 工作流最多可输入 16 张 PNG、WebP 或 JPEG 图像,每张不超过 50 MB。在 Responses 中,输入可以是完整 URL、base64 数据 URL,或使用 purpose="vision" 创建的 Files API ID。

当前指南规则:gpt-image-2 会自动以高保真度处理每张图像输入,因此请省略 input_fidelity。这可能会增加输入图像的 token 成本。截至验证日期,Images 编辑和 Responses 的确切架构仍将 input_fidelity 描述为适用于 GPT Image 1、1.5“及后续版本”,这与 GPT Image 2 核心指南相冲突。在新代码中优先遵循针对具体模型的指南,若此冲突得到解决,请重新核对确切的端点架构。

仅用于迁移时,gpt-image-1.5 和 gpt-image-1 支持低/高输入保真度行为。端点契约规定,gpt-image-1-mini 不支持高输入保真度。不要将旧版 input_fidelity="high" 复制到 GPT Image 2 代码中。一些较早的第一方 cookbook 代码片段仍这样设置;请遵循当前的核心图像指南。

蒙版

蒙版用于引导要修改的区域。对于 GPT Image,蒙版仍基于提示词,可能无法完全贴合轮廓。输入多张图片时,蒙版作用于第一张图片。

输入图片可以是 PNG、WebP 或 JPEG,最多 16 个文件,每个文件不超过 50 MB。蒙版的要求更严格:必须是小于 4 MB、包含 alpha 通道且尺寸与第一张输入图片相同的 PNG。蒙版不必与 JPEG/WebP 源图片采用相同格式。完全透明的蒙版区域表示允许编辑的区域。付费调用前,请在本地验证蒙版类型、字节大小、尺寸和 alpha 通道。

生产环境启发式做法: 即使使用了蒙版,也要同时提供编辑指令和不变量列表。切勿承诺像素级精确修复;请比较预期区域之外发生变化的像素,并在出现偏移时拒绝结果。

来源:图像生成指南:编辑、蒙版、保真度和输出、Images 编辑端点架构。

将提示词写成视觉规格

选择最便于维护的语法即可。清晰比神奇的关键词顺序更重要。对于复杂任务,请按以下顺序组织提示词:

  1. 预期交付内容及用途;
  2. 背景或场景;
  3. 主体及动作;
  4. 构图、视角和留白;
  5. 媒介、材质、光线、色彩和成品效果;
  6. 精确文本和排版;
  7. 修改清单和不变量列表;
  8. 排除项和验收标准。

已记录的提示词编写指南: 具体描述材质、形状、纹理和媒介。说明取景、角度、位置、光线和氛围。若需要照片级写实效果,请使用 photorealistic,或描述真实照片的拍摄方式。将详细的相机设置视为高层次的视觉风格指导,而非精确的物理模拟。

让文本可检验
  • 将确切文案放在引号中,并标注为 EXACT, verbatim。
  • 说明文本出现的次数,并禁止添加额外文案。
  • 指定层级、位置、字体类别、字重、对比度和换行方式。
  • 对于不常见的拼写,请逐字符提供拼写提示。
  • 对于小字、信息密集的面板或多种字体,请使用中等或高质量设置。
  • 检查渲染后的图像;改进文本渲染并不保证完美。对于法律文案或必须完全准确的排版,请先生成不含文字的图稿,再在后续流程中排版。
进行精准编辑

使用:Change only X. Preserve A, B, C. Keep everything else unchanged. 每次迭代都重复关键不变量。根据需要锁定身份、姿势、身体几何、相机角度、裁剪、光线方向、阴影、背景物体、徽标和标签文案。

明确多个输入的用途

为输入编号并命名:Image 1: base room; Image 2: chair reference; Image 3: fabric reference. 说明它们之间的操作、位置、比例、透视、光线、遮挡关系,以及哪张图片控制不变的背景。不要只依赖输入顺序。

每次只迭代一个变量

从简洁的基础提示词开始。每次后续修改一个可控属性,例如裁剪、暖色程度、文案或某个物体。保存每个已接受的中间版本。出现偏移时,请返回上一个已接受的图像,而不是继续编辑已劣化的后续版本。

来源:OpenAI GPT Image 提示词指南。

示例 1 — 完整直接生成并处理输出

示例,不是必须遵循的公式。 意图:创建两张面向客户的海报候选图,保存确切字节,并记录请求元数据。前提条件:pip install --upgrade openai;设置 OPENAI_API_KEY。

import base64
import json
from pathlib import Path

from openai import OpenAI

client = OpenAI()
out_dir = Path("outputs/poster")
out_dir.mkdir(parents=True, exist_ok=True)

prompt = """
Deliverable: vertical launch poster for an original neighborhood astronomy club.
Scene: deep navy night sky above a small hilltop observatory; two adults and one child
silhouetted at a telescope; generous dark negative space in the upper third.
Style: refined screen-print illustration, limited palette of navy, cream, and coral,
crisp paper texture, high contrast, no photorealism.
Copy (EXACT, verbatim, once only):
"SEE FARTHER TOGETHER"
Typography: bold geometric sans-serif, cream, centered in the upper third, clean kerning.
Constraints: original design; no existing logos, trademarks, watermarks, or extra text.
Acceptance: readable at phone size; all figures anatomically coherent; telescope intact.
""".strip()

result = client.images.generate(
    model="gpt-image-2",
    prompt=prompt,
    size="1024x1536",
    quality="medium",
    output_format="png",
    background="opaque",
    moderation="auto",
    n=2,
)

for index, item in enumerate(result.data, start=1):
    (out_dir / f"candidate-{index}.png").write_bytes(
        base64.b64decode(item.b64_json)
    )

metadata = {
    "model": "gpt-image-2",
    "request_id": getattr(result, "_request_id", None),
    "size": "1024x1536",
    "quality": "medium",
    "output_format": "png",
    "background": "opaque",
    "prompt": prompt,
    "count": len(result.data),
}
(out_dir / "request.json").write_text(
    json.dumps(metadata, indent=2, ensure_ascii=False), encoding="utf-8"
)

预期结果:两张不透明 PNG 候选图。检查文案是否准确、小尺寸下是否清晰易读、是否出现额外文字、边缘是否被裁切、手部效果以及望远镜的几何结构。可能的问题:文案拼写错误、标语重复、剪影细节过多,或留白不足。调整方式:先使用 quality="low" 确认构图,再以中等或高质量重新生成选定方案。

示例 2 — 完整的多参考图蒙版编辑

示例,不是必须遵循的公式。 意图:在使用产品参考图的同时,只替换房间里的椅子。所需本地文件:room.png(底图)、chair-reference.png 和 mask.png。蒙版必须是小于 4 MB 的 PNG,尺寸与 room.png 相同,并包含 alpha 通道;其透明区域应覆盖可替换的椅子。

import base64
from contextlib import ExitStack
from pathlib import Path

from openai import OpenAI

client = OpenAI()
output = Path("outputs/room-chair-edit.png")
output.parent.mkdir(parents=True, exist_ok=True)

prompt = """
Image 1 is the base room and must control the camera, architecture, crop, and background.
Image 2 is the chair reference and controls the replacement chair's design and material.
Change only the chair inside the masked area of Image 1. Replace it with the chair from
Image 2 at believable scale and perspective. Match the room's light direction, color
temperature, contact shadow, and floor reflection.
Preserve exactly: walls, windows, flooring, rug, table, plants, camera angle, crop,
exposure, white balance, and every object outside the masked area.
Add no text, people, decor, logos, or watermarks.
""".strip()

with ExitStack() as stack:
    room = stack.enter_context(open("room.png", "rb"))
    chair = stack.enter_context(open("chair-reference.png", "rb"))
    mask = stack.enter_context(open("mask.png", "rb"))
    result = client.images.edit(
        model="gpt-image-2",
        image=[room, chair],
        mask=mask,
        prompt=prompt,
        size="1536x1024",
        quality="high",
        output_format="png",
        background="opaque",
        moderation="auto",
    )

output.write_bytes(base64.b64decode(result.data[0].b64_json))
print(f"saved {output}; request_id={getattr(result, '_request_id', None)}")

预期结果:生成一把看起来合理的替换椅子,同时保留房间原貌。检查蒙版以外的差异图、椅子的特征、尺寸、阴影和与地面的接触效果。可能的问题:蒙版边缘出现光晕、蒙版外区域发生变化、椅子设计被改动、裁切范围改变,或光照不一致。修复方法:收紧不变项列表并缩小蒙版,然后从原始底图重新编辑,而不是从失败的结果继续编辑。

示例 3 — 完整的对话式生成和后续编辑

示例,不是必须遵循的公式。 意图:使用 Responses,让主线模型维持视觉对话。此示例会创建图像、记录修改后的提示词,然后进行一次后续修改。

import base64
import json
from pathlib import Path

from openai import OpenAI

client = OpenAI()
out_dir = Path("outputs/conversation")
out_dir.mkdir(parents=True, exist_ok=True)

first = client.responses.create(
    model="gpt-5.5",
    store=True,  # Intentional: previous_response_id below depends on retained response state.
    input=(
        "Create a 1024x1024 editorial illustration for an article about urban heat. "
        "Show the same city block split into two readable halves: treeless asphalt on "
        "the left and shaded trees with a cool pedestrian area on the right. "
        "Flat cut-paper style, no text, no logos, no watermark."
    ),
    tools=[{
        "type": "image_generation",
        "model": "gpt-image-2",
        "action": "generate",
        "size": "1024x1024",
        "quality": "medium",
        "output_format": "png",
        "background": "opaque",
        "moderation": "auto",
    }],
)

first_calls = [x for x in first.output if x.type == "image_generation_call"]
if not first_calls:
    raise RuntimeError("No image_generation_call returned")
out_dir.joinpath("urban-heat-v1.png").write_bytes(
    base64.b64decode(first_calls[0].result)
)

second = client.responses.create(
    model="gpt-5.5",
    store=True,
    previous_response_id=first.id,
    input=(
        "Edit the existing illustration only: make the right-side tree canopy broader "
        "and add two bicycles under it. Preserve the split layout, buildings, palette, "
        "camera, cut-paper style, and the entire left half. Add no text."
    ),
    tools=[{
        "type": "image_generation",
        "model": "gpt-image-2",
        "action": "edit",
        "size": "1024x1024",
        "quality": "medium",
        "output_format": "png",
        "background": "opaque",
        "moderation": "auto",
    }],
)

second_calls = [x for x in second.output if x.type == "image_generation_call"]
if not second_calls:
    raise RuntimeError("No follow-up image_generation_call returned")
out_dir.joinpath("urban-heat-v2.png").write_bytes(
    base64.b64decode(second_calls[0].result)
)

out_dir.joinpath("tool-calls.json").write_text(json.dumps({
    "first_response_id": first.id,
    "first_call_id": first_calls[0].id,
    "first_revised_prompt": first_calls[0].revised_prompt,
    "second_response_id": second.id,
    "second_call_id": second_calls[0].id,
    "second_revised_prompt": second_calls[0].revised_prompt,
}, indent=2), encoding="utf-8")

预期结果:一张初始方形插图及其编辑后的衍生版本。可能的问题:左半部分偏离、出现额外物体,或生成了新构图而非编辑原图。修复方法:保留 action="edit",明确列出不变项,并在偏差累积时恢复到已接受的响应或图像。

此示例有意接受 Responses 保留应用状态,以便 previous_response_id 传递首次工具调用。对于机密工作,请在选择此模式前决定是否保留数据;store=false 并不等同于已获批准的 Zero Data Retention,且需要通过其他受支持的方式传递上下文。

示例 4 — 完整的 Image API 部分图像流

示例,不是必须遵循的公式。 意图:展示渐进式预览,同时单独保存最终图像。不要将部分图像作为最终素材发布。

import base64
from pathlib import Path

from openai import OpenAI

client = OpenAI()
out_dir = Path("outputs/stream")
out_dir.mkdir(parents=True, exist_ok=True)

stream = client.images.generate(
    model="gpt-image-2",
    prompt=(
        "A wide editorial still life of translucent blue glass laboratory vessels "
        "casting crisp cyan shadows on warm cream paper, top-down, no text or logos."
    ),
    size="1536x1024",
    quality="medium",
    output_format="jpeg",
    output_compression=90,
    background="opaque",
    stream=True,
    partial_images=2,
)

final_written = False
for event in stream:
    if event.type == "image_generation.partial_image":
        path = out_dir / f"preview-{event.partial_image_index}.jpg"
        path.write_bytes(base64.b64decode(event.b64_json))
        print(f"preview: {path}")
    elif event.type == "image_generation.completed":
        path = out_dir / "final.jpg"
        path.write_bytes(base64.b64decode(event.b64_json))
        print(f"final: {path}; usage={event.usage}")
        final_written = True

if not final_written:
    raise RuntimeError("Stream ended without image_generation.completed")

预期行为:生成零到两个预览文件,以及且仅有一个最终文件。快速生成可能产生较少的预览。请为每张部分图像额外预留 100 个图像输出 token。

按类别处理故障

  • 使用有上限的指数退避和随机抖动,重试暂时性的 429 和 5xx 故障。遵守速率限制标头;记录请求 ID。
  • 如果不修改请求,不要自动重试 image_generation_user_error。
  • 首先判断 error.code == "moderation_blocked"。将 moderation_details 视为可选字段;其阶段可能是 input、output 或 unknown,类别只是粗略的调试标签。向终端用户提供通用消息,仅将详细信息用于安全的补救措施和日志。
  • 切勿通过混淆相同请求或切换审核设置来规避安全拦截。应提供能改变有害意图且符合要求的改写方案。
  • 如果文字有误,应缩短文案、增强层级并提高质量,或在后续流程中排版。
  • 如果编辑出现偏差,应返回到上一个已接受的源图,缩小修改范围,明确列出不变项,并使用更精确的 alpha 蒙版。
  • 如果多个参考图相互混淆,应按索引标明每个输入,并为每个输入指定一种用途。
  • 如果输出裁切不佳,应指定取景方式、安全边距和留白位置;测试实际交付宽高比。
  • 如果请求的 GPT Image 2 透明背景生成失败,请改用不透明图像生成,并在后续流程中去除背景。

在批量处理前估算成本和容量

已记录的价格,核实日期:2026-07-09;价格按每百万个 token 计算:

Model标准文本输入标准图像输入 / 缓存标准图像输出Batch 文本输入Batch 图像输入 / 缓存Batch 图像输出
gpt-image-2$5.00$8.00 / $2.00$30.00$2.50$4.00 / $1.00$15.00
gpt-image-1.5$5.00$8.00 / $2.00$32.00$2.50$4.00 / $1.00$16.00
gpt-image-1-mini$2.00$2.50 / $0.25$8.00$1.00$1.25 / $0.13$4.00

当前指南中仅包含 GPT Image 2 输出成本的常见尺寸示例:

质量1024x10241024x15361536x1024
low$0.006$0.005$0.005
medium$0.053$0.041$0.041
high$0.211$0.165$0.165

还需计入提示词文本、输入图像 token、Responses 主线模型用量、流式传输的部分结果、重试和下游处理成本。不要仅根据输出成本估算参考图像较多的编辑任务。高保真 GPT Image 2 输入可能会成为编辑成本的主要部分。

gpt-image-1 的旧版定价为文本输入每百万个 token $5.00、图像输入每百万个 token $10.00、图像输出每百万个 token $40.00;由于它计划停用,因此仅用于迁移成本核算。

**GPT Image 2 已记录的速率限制,核实日期:2026-07-09:**不支持免费使用;Tier 1:100,000 TPM / 5 IPM;Tier 2:250,000 / 20;Tier 3:800,000 / 50;Tier 4:3,000,000 / 150;Tier 5:8,000,000 / 250。使用层级会发生变化,也可能随消费金额提高,因此请重新查看模型页面。

来源:API 定价、图像成本计算器和表格、GPT Image 1 模型页面、GPT Image 2 限制。

维护安全、同意、隐私、来源和权利

同意和真实人物
  • 在重现任何人的肖像前,取得明确同意和所有必要权利。
  • 不要使用视觉能力识别人物,也不要借此索取或推断他人的私人或敏感信息。
  • 不要创作未经同意的亲密内容、涉及未成年人的性化内容、骚扰、欺诈、冒充或欺骗性肖像内容。未经同意,不要以可能让人误以为真实的方式使用他人的肖像。
  • 对新闻、政治、医疗、法律、安全和历史类图像进行更严格的审核。不要将生成的描绘当作事件证据。

来源:服务条款 §6、使用政策。

权利和商业审核

OpenAI 的商业协议规定,在客户与 OpenAI 之间且在法律允许的范围内,客户保留输入内容的权利并拥有输出内容;但客户仍须拥有输入内容所需的权利、许可和授权,并对输出内容的使用负责。输出内容可能并非独一无二。这并不保证结果可以获得版权保护、不侵犯他人权利、不侵犯商标权、事实准确或具有排他性。

**生产环境启发式建议:**用于商业交付时,应搜索是否存在容易混淆的相似徽标或商业外观,核实引用内容的许可和授权文件,保留来源信息,并在风险需要时征求法律意见。与其要求模仿在世艺术家或受保护的系列作品,不如优先描述原创风格特征。

来源:OpenAI 服务协议 §§3–4、服务条款中的 API 赔偿限制。

API 数据与留存

除非客户明确选择加入,否则 API 数据不会用于训练 OpenAI 模型。默认情况下,滥用监控日志最多可保留客户内容 30 天。当前表格中,/v1/images/generations 和 /v1/images/edits 不会保留应用状态;使用 GPT Image 模型时,这两项符合经批准的零数据留存条件。Responses 的默认应用状态行为另有说明;Files API 对象会一直保留,直至手动删除或按配置的 expires_after 策略到期,且受数据控制条款约束。

生产环境启发: 尽量减少上传内容,删除不必要的元数据,避免包含机密和生物识别标识符;无需保留对话记录时,使用直接图像调用;妥善设置 Responses 存储控制;工作流结束后删除 Files API 上传内容;在处理受监管工作前,确认是否符合 ZDR/数据驻留条件。仅设置 store=false 并不等同于经批准的零数据留存。

来源:OpenAI 平台中的数据控制。

来源信息

OpenAI 表示,API 生成的图像包含 C2PA 元数据和嵌入式 SynthID 水印。C2PA 元数据可能被移除,水印可能会减弱;任一信号缺失都不能证明图像由人类创作。验证器可以指示图像是否源自 OpenAI,但无法证明其准确性、未经编辑、所有权或上下文是否正确。

生产环境启发: 保留生成文件原件及其元数据,避免不必要的转码,维护内部生成记录;在上下文需要时标注合成媒体;绝不要将来源信息视为真实性证明。

来源:OpenAI 生成图像中的 C2PA 和 SynthID,ChatGPT Images 2.0 系统卡。

审核最终成品,而不仅是提示词

面向客户的内容应由人工审核,并尽可能自动执行可量化的检查。

  • 指令: 所需主体、数量、动作、风格、裁切方式和排除项。
  • 文本: 拼写、换行、标点、重复内容、可读性和多余字形是否准确。
  • 编辑不变量: 身份、几何形状、姿势、徽标/标签、配色、裁切、镜头、背景和未更改的像素。
  • 视觉完整性: 解剖结构、手部、遮挡、反射、重复图案、透视、阴影、边缘光晕和压缩。
  • 事实完整性: 地图、图表、日期、数字、科学标签、文化细节以及任何暗示真实事件的内容。
  • 交付: 尺寸、比例、文件签名、Alpha 预期、色彩表现、文件大小,以及在移动设备和印刷品上的可读性。
  • 安全与权利: 同意、授权书、商标、私人数据、未成年人、真实情境风险和政策合规性。
  • 来源信息: 已保留原始文件、已记录生成元数据,并已满足披露/记录要求。

只有保存的文件(而非局部预览)通过验收标准后,才能宣称成功。

官方来源索引

此技能中的所有时效性信息均已于 2026-07-09 核实。

评论

支持 Markdown