海艺思创

首页/ AI绘图教程/ OpenAI Images API 生成和编辑接口怎么选

AI绘图教程

OpenAI Images API 生成和编辑接口怎么选

OpenAI Images API 生成和编辑接口怎么选

调用方向

判断接口时,不要先看提示词长短,而要问:当前图片中是否有必须保留的视觉信息?OpenAI Images API 生成和编辑接口怎么选,核心取决于任务是否需要继承原图中的主体、风格或画面关系。

  • 没有可复用原图,或允许画面从零开始设计,选择 generate。它只接收文字提示词并生成新图。
  • 已经有产品图、包装图、海报底稿或参考图,且希望保住其中的主体、风格或画面关系,选择 edit。它需要输入图片和修改说明。
  • 只想让已有方形 PNG 产生相近版本,可考虑图片变体接口;该接口仅支持 dall-e-2,不应替代需要精确修改的编辑流程。

简单记忆:要新画一张就生成,要在已有图片上修改就编辑。

素材准备

无论选哪种接口,都先为一次任务写清用途、目标画幅、主体限制和输出格式。编辑任务还要额外准备原图,并把不可改变的部分写成明确约束,例如产品颜色、包装形状、标签位置或拍摄角度。

  1. 确定成图用途,例如商品详情页横幅、社交配图或竖版海报。
  2. 写出主体清单:允许变化的背景、道具、光线,与必须保留的产品特征分开记录。
  3. 新图任务准备文字提示词;编辑任务准备原图文件。
  4. 需要局部修改时,再准备与原图同尺寸的 PNG 遮罩;透明区域表示允许编辑的位置。遮罩制作和局部修改细节可参考图片编辑和遮罩的使用方法

文字生成新图

当商品还没有可用素材,或需要探索全新视觉方向时,调用 client.images.generate()。提示词应描述主体、环境、构图和限制,不要把保留原图细节写进生成请求,因为生成接口并没有输入图片。

from openai import OpenAI

client = OpenAI()

result = client.images.generate(
    model="gpt-image-1.5",
    prompt="一只未标注品牌的白色陶瓷杯,放在浅灰色桌面,柔和侧光,横向商品展示图,画面右侧保留留白",
    size="1536x1024",
    output_format="png"
)

image_base64 = result.data[0].b64_json

GPT Image 模型的结果以 Base64 编码返回,应用应在收到结果后解码并保存到自己的素材存储。若选用支持 URL 返回的旧模型,返回 URL 有有效期,不能直接当作永久文件地址。比如新品尚未拍摄,需要极简风首页主视觉时,可用生成请求定义杯子、桌面、光线和留白;原图不重要、只需探索多种构图时,也适合分别保存提示词与候选结果。

原图编辑流程

当需求是杯子不变,只把桌面换成厨房场景,或保留海报主体并补出两侧背景时,调用 client.images.edit()。编辑提示词应先声明保留对象,再说明只改什么,避免把整张画面重新描述一遍。

from openai import OpenAI

client = OpenAI()

with open("cup.png", "rb") as source:
    result = client.images.edit(
        model="gpt-image-1.5",
        image=source,
        prompt="保留杯子的外形、颜色和拍摄角度,仅将背景改为明亮整洁的家庭厨房台面,柔和自然光",
        input_fidelity="high",
        size="1536x1024",
        output_format="png"
    )

image_base64 = result.data[0].b64_json

编辑接口可输入一张或多张图片。对支持该参数的模型,input_fidelity 可设为 highlow;它用于控制模型匹配输入图风格和特征的投入,不等于绝对锁定主体。需要透明背景时,应使用支持透明背景的 GPT Image 模型,并将输出格式设为 PNG 或 WebP。

已有实拍白底图、只想换成咖啡馆桌面时,上传实拍图并强调杯身、颜色和角度必须保留。已有海报主体、只需删除右上角装饰时,配合遮罩限制修改范围。原图中的资产需要继续使用时,编辑流程通常比重新生成更合适。

故障修正

  • 故障:编辑后产品外形变了。原因:提示词没有区分保留项与修改项,或任务本身要求变化过多。修正动作:缩小本轮修改目标,先写保留产品外形、颜色和角度,再单独描述背景或局部变化;可在支持时尝试 input_fidelity="high"
  • 故障:局部编辑范围不对。原因:遮罩透明区域与实际要修改的位置不一致,或遮罩尺寸与原图不同。修正动作:将遮罩导出为 PNG,检查透明区域,并确保它与原图尺寸一致。
  • 故障:请求编辑接口却没有传入图片。原因:把生成任务和编辑任务的参数混用。修正动作:从零出图改用 generate;要编辑则同时传入 imageprompt
  • 故障:拿到结果后图片无法长期访问。原因:将临时 URL 当成素材库地址,或未处理 Base64 结果。修正动作:任务成功后立即下载或解码图片,写入自己的存储,并记录模型、提示词、尺寸和任务编号。

发布验收

  • 确认接口选择符合任务:新图使用生成,继承原图使用编辑。
  • 检查成图中的产品外形、颜色、材质和标签是否符合原始素材。
  • 检查尺寸、画幅和留白是否适合实际上线位置。
  • 局部编辑时,检查未修改区域是否被意外改变。
  • 检查透明背景任务是否实际保留透明通道。
  • 确认图片已保存到自有存储,且任务参数和文件位置可追溯。

下一步

把这篇的方法练一遍

提示词和步骤可以带到创作里直接试做一版。

去创作 看同栏目更多