上周接了个小活甲方要做批量生成商品主图的工具。需求很明确传一段文字描述出一张高质量商品图。我第一反应是 DALL·E 3但试了几张发现文字渲染还是拉胯英文勉强能看中文直接乱码。然后想起 OpenAI 前阵子放出来的 GPT image-2 —— 就是 ChatGPT 里那个画图贼强的模型现在 API 终于开放了。折腾了两天踩了不少坑总算跑通了整个流程写篇文章记录一下。GPT image-2 是 OpenAI 2026 年开放 API 的最新图像生成模型通过 gpt-image-1 端点调用支持文字渲染、风格控制和透明背景输出生成质量比 DALL·E 3 有明显提升。下面是完整的接入方案和我踩过的坑。先说结论对比项DALL·E 3GPT image-2 (gpt-image-1)文字渲染英文勉强中文基本废英文准确中文可用风格可控性一般prompt 要写很长强短 prompt 也能出好图透明背景不支持支持output_formatpng图片编辑需要单独用 edit 端点同一端点支持生成编辑价格1024×1024~$0.04按 token 计费约 $0.02-0.07API 端点/v1/images/generations/v1/images/generations环境准备Python 3.9装最新版 openai SDKpipinstallopenai1.75.0注意版本老版本 SDK 不支持gpt-image-1的部分参数我一开始用的 1.68 就报了参数错误升级后才好。方案一基础文生图最简单的调用方式和 DALL·E 3 的接口几乎一样换个 model 参数就行fromopenaiimportOpenAI clientOpenAI(api_keyyour-key,base_urlhttps://api.ofox.ai/v1# 聚合接口一个 Key 调所有模型)resultclient.images.generate(modelgpt-image-1,prompt一只橘猫坐在赛博朋克风格的霓虹灯街道上旁边有一个写着「深夜食堂」的招牌招牌文字清晰可读,size1024x1024,qualityhigh,output_formatpng,n1)# 返回的是 base64 编码的图片数据importbase64 image_database64.b64decode(result.data[0].b64_json)withopen(cat_cyberpunk.png,wb)asf:f.write(image_data)print(图片已保存)跑出来的效果说实话惊到我了「深夜食堂」四个字居然真的是对的笔画没乱。DALL·E 3 画中文基本就是鬼画符。几个关键参数说明qualitylow、medium、high价格差不少测试阶段用 low 就行output_formatpng支持透明背景jpeg体积小webp也支持size支持1024x1024、1024x1536竖图、1536x1024横图、auto方案二图片编辑局部重绘这个是我觉得 GPT image-2 最实用的能力 —— 传一张图进去告诉它改哪里fromopenaiimportOpenAIfrompathlibimportPathimportbase64 clientOpenAI(api_keyyour-key,base_urlhttps://api.ofox.ai/v1)# 读取原图image_pathPath(product_photo.png)image_database64.standard_b64encode(image_path.read_bytes()).decode(utf-8)resultclient.images.edit(modelgpt-image-1,image[{type:input_image,image_url:fdata:image/png;base64,{image_data},}],prompt把背景换成纯白色保持商品主体不变添加柔和的阴影效果,size1024x1024,qualityhigh,)edited_imagebase64.b64decode(result.data[0].b64_json)withopen(product_white_bg.png,wb)asf:f.write(edited_image)做电商抠图换背景简直好用之前要用 remove.bg PS 手动调现在一个 API 调用搞定。方案三透明背景 批量生成做商品主图最常见的需求 —— 生成透明背景的图方便后期合成fromopenaiimportOpenAIimportbase64importtime clientOpenAI(api_keyyour-key,base_urlhttps://api.ofox.ai/v1)products[一瓶极简风格的护肤精华液磨砂玻璃瓶身金色瓶盖,一双白色运动鞋侧面视角微微悬浮,一个黑色真皮钱包半打开状态45度角俯拍,]fori,descinenumerate(products):resultclient.images.generate(modelgpt-image-1,promptf{desc}透明背景产品摄影风格柔和的工作室灯光,size1024x1024,qualityhigh,output_formatpng,# 必须 png 才支持透明通道backgroundtransparent,# 关键参数)imgbase64.b64decode(result.data[0].b64_json)withopen(fproduct_{i1}.png,wb)asf:f.write(img)print(f第{i1}张生成完成)time.sleep(1)# 别太快容易触发限流backgroundtransparent这个参数是 GPT image-2 新加的DALL·E 3 没有。生成出来直接就是透明底不用再后处理。踩坑记录说几个我实际踩到的坑。坑 1返回格式变了DALL·E 3 默认返回url一个临时链接GPT image-2 默认返回b64_json。我一开始还按老代码去取result.data[0].url结果拿到 Nonedebug 了半小时才发现。如果你确实想要 URL需要显式传response_formaturl但官方文档说 URL 会在一小时后过期建议还是用 base64 自己存。坑 2quality 参数对价格影响很大GPT image-2 的计费是按 token 算的不是按张。high质量的 1024×1024 大概消耗 4000-8000 tokenlow只要 1000-2000。我第一天测试没注意全用 high一天下来烧了好几十块。测试阶段真的用 low 就够了。坑 3中文 prompt 的玄学虽然说支持中文文字渲染但 prompt 里中文描述太长的时候偶尔会出现文字错误。一个 workaround 是把需要渲染的文字用引号括起来并且单独强调一下# 不太稳定的写法prompt画一个咖啡店招牌上面写着今日特惠拿铁半价# 更稳定的写法prompt画一个咖啡店招牌上面写着「今日特惠 拿铁半价」文字必须清晰准确每个汉字都要正确坑 4并发限制GPT image-2 的 rate limit 比文本模型严格不少。我用 asyncio 开了 10 个并发直接被 429 了。后来改成 3 个并发 每次间隔 2 秒才稳定下来。批量生成的话建议做个简单的队列。调用链路整个调用流程其实很简单画个图看一下OpenAI SDK路由转发生成图片解码保存你的代码API 聚合网关gpt-image-1 模型base64 编码返回本地 PNG/JPEG 文件ofox.ai 是一个 AI 模型聚合平台兼容 OpenAI API 协议一个 Key 可以调用 GPT-5、Claude Opus 4.6、Gemini 3 等 50 模型也包括 gpt-image-1。改个 base_url 就能用不用折腾鉴权的事。小结GPT image-2 的 API 比 DALL·E 3 强了一个档次文字渲染和透明背景这两个能力做电商图、营销素材、UI 素材都很实用。价格按 token 计费小批量用其实不贵大批量注意控制 quality 参数。那个商品主图工具已经上线了甲方还挺满意的。唯一的槽点是生成速度偏慢high 质量的图大概要 10-15 秒比 DALL·E 3 慢一些但质量确实好这个 trade-off 我能接受。