首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >GPT image-2 怎么调用?2026 完整接入教程 + 踩坑实录

GPT image-2 怎么调用?2026 完整接入教程 + 踩坑实录

原创
作者头像
用户12389040
发布2026-04-22 21:59:14
发布2026-04-22 21:59:14
7.8K0
举报

上周接了个小活,甲方要做批量生成商品主图的工具。需求很明确:传一段文字描述,出一张高质量商品图。我第一反应是 DALL·E 3,但试了几张发现文字渲染还是拉胯,英文勉强能看,中文直接乱码。然后想起 OpenAI 前阵子放出来的 GPT image-2 —— 就是 ChatGPT 里那个画图贼强的模型,现在 API 终于开放了。折腾了两天,踩了不少坑,总算跑通了整个流程,写篇文章记录一下。

GPT image-2 是 OpenAI 2026 年开放 API 的最新图像生成模型,通过 gpt-image-1 端点调用,支持文字渲染、风格控制和透明背景输出,生成质量比 DALL·E 3 有明显提升。下面是完整的接入方案和我踩过的坑。

先说结论

对比项

DALL·E 3

GPT image-2 (gpt-image-1)

文字渲染

英文勉强,中文基本废

英文准确,中文可用

风格可控性

一般,prompt 要写很长

强,短 prompt 也能出好图

透明背景

不支持

支持(output_format=png)

图片编辑

需要单独用 edit 端点

同一端点支持生成+编辑

价格(1024×1024)

~$0.04

按 token 计费,约 $0.02-0.07

API 端点

/v1/images/generations

/v1/images/generations

环境准备

Python 3.9+,装最新版 openai SDK:

代码语言:bash
复制
pip install openai>=1.75.0

注意版本,老版本 SDK 不支持 gpt-image-1 的部分参数,我一开始用的 1.68 就报了参数错误,升级后才好。

方案一:基础文生图

最简单的调用方式,和 DALL·E 3 的接口几乎一样,换个 model 参数就行:

代码语言:python
复制
from openai import OpenAI

client = OpenAI(
 api_key="your-key",
 base_url="https://your-api-gateway.com/v1" # 聚合接口,一个 Key 调所有模型
)

result = client.images.generate(
 model="gpt-image-1",
 prompt="一只橘猫坐在赛博朋克风格的霓虹灯街道上,旁边有一个写着「深夜食堂」的招牌,招牌文字清晰可读",
 size="1024x1024",
 quality="high",
 output_format="png",
 n=1
)

# 返回的是 base64 编码的图片数据
import base64

image_data = base64.b64decode(result.data[0].b64_json)
with open("cat_cyberpunk.png", "wb") as f:
 f.write(image_data)

print("图片已保存")

跑出来的效果说实话惊到我了,「深夜食堂」四个字居然真的是对的,笔画没乱。DALL·E 3 画中文基本就是鬼画符。

几个关键参数说明:

  • qualitylowmediumhigh,价格差不少,测试阶段用 low 就行
  • output_formatpng 支持透明背景,jpeg 体积小,webp 也支持
  • size:支持 1024x10241024x1536(竖图)、1536x1024(横图)、auto

方案二:图片编辑(局部重绘)

这个是我觉得 GPT image-2 最实用的能力 —— 传一张图进去,告诉它改哪里:

代码语言:python
复制
from openai import OpenAI
from pathlib import Path
import base64

client = OpenAI(
 api_key="your-key",
 base_url="https://your-api-gateway.com/v1"
)

# 读取原图
image_path = Path("product_photo.png")
image_data = base64.standard_b64encode(image_path.read_bytes()).decode("utf-8")

result = client.images.edit(
 model="gpt-image-1",
 image=[
 {
 "type": "input_image",
 "image_url": f"data:image/png;base64,{image_data}",
 }
 ],
 prompt="把背景换成纯白色,保持商品主体不变,添加柔和的阴影效果",
 size="1024x1024",
 quality="high",
)

edited_image = base64.b64decode(result.data[0].b64_json)
with open("product_white_bg.png", "wb") as f:
 f.write(edited_image)

做电商抠图换背景简直好用,之前要用 remove.bg + PS 手动调,现在一个 API 调用搞定。

方案三:透明背景 + 批量生成

做商品主图最常见的需求 —— 生成透明背景的图,方便后期合成:

(代码示例:from openai import OpenAI ...)

background="transparent" 这个参数是 GPT image-2 新加的,DALL·E 3 没有。生成出来直接就是透明底,不用再后处理。

踩坑记录

说几个我实际踩到的坑。

坑 1:返回格式变了

DALL·E 3 默认返回 url(一个临时链接),GPT image-2 默认返回 b64_json。我一开始还按老代码去取 result.data[0].url,结果拿到 None,debug 了半小时才发现。如果你确实想要 URL,需要显式传 response_format="url",但官方文档说 URL 会在一小时后过期,建议还是用 base64 自己存。

坑 2:quality 参数对价格影响很大

GPT image-2 的计费是按 token 算的,不是按张。high 质量的 1024×1024 大概消耗 4000-8000 token,low 只要 1000-2000。我第一天测试没注意,全用 high,一天下来烧了好几十块。测试阶段真的用 low 就够了。

坑 3:中文 prompt 的玄学

虽然说支持中文文字渲染,但 prompt 里中文描述太长的时候,偶尔会出现文字错误。一个 workaround 是把需要渲染的文字用引号括起来,并且单独强调一下:

(代码示例:# 不太稳定的写法 ...)

坑 4:并发限制

GPT image-2 的 rate limit 比文本模型严格不少。我用 asyncio 开了 10 个并发,直接被 429 了。后来改成 3 个并发 + 每次间隔 2 秒,才稳定下来。批量生成的话建议做个简单的队列。

调用链路

整个调用流程其实很简单,画个图看一下:

(代码示例:graph LR ...)

改个 base_url 就能用,不用折腾鉴权的事。

小结

GPT image-2 的 API 比 DALL·E 3 强了一个档次,文字渲染和透明背景这两个能力做电商图、营销素材、UI 素材都很实用。价格按 token 计费,小批量用其实不贵,大批量注意控制 quality 参数。

那个商品主图工具已经上线了,甲方还挺满意的。唯一的槽点是生成速度偏慢,high 质量的图大概要 10-15 秒,比 DALL·E 3 慢一些,但质量确实好,这个 trade-off 我能接受。


本文由 ofox.ai 运营团队原创,转载请注明出处。

延伸阅读:更多 AI API 实战教程

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 先说结论
  • 环境准备
  • 方案一:基础文生图
  • 方案二:图片编辑(局部重绘)
  • 方案三:透明背景 + 批量生成
  • 踩坑记录
  • 调用链路
  • 小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档