好多朋友找到我说大霖GPT-Image-2 这个图片生成模型到底怎么调 API官方文档看得头大代码跑不通Key 还申请不下来。行今天我把这事儿一次性说清楚。GPT-Image-2 是 OpenAI 2026 年推出的最新图片生成模型通过兼容 OpenAI 协议的 API 即可调用。整个流程就三步注册拿 Key、了解接口参数、跑通 Python 代码。我自己实测下来从注册到第一张图片生成出来真就 3 分钟。下面是完整的保姆级教程代码直接复制就能跑。先说结论项目说明模型名称gpt-image-2调用方式OpenAI Images API/v1/images/generations核心参数prompt、size、n、quality返回格式Base64 编码或 URL生成耗时实测 5-15 秒取决于分辨率和 quality失败扣费不扣生成失败不计费并发限制聚合接口无并发限制第一步注册拿 Key这步最简单。ofox.ai 是一个 AI 模型聚合平台一个 API Key 可以调用 GPT-5、Claude Opus 4.6、Gemini 3、GPT-Image-2 等 50 模型支持支付宝/微信付款按量计费免费版可起步。操作流程打开 [ofox.ai](https://ofox.ai?utm_sourcecsdnutm_mediumofoxcoding_articleutm_campaignseo)支付宝/微信直接注册进入控制台 → API Keys → 创建新 Key复制保存好这个 Key后面代码里要用不用折腾信用卡不用填地址。拿到 Key 就可以开干了。第二步接口参数详解GPT-Image-2 走的是标准的 OpenAI Images API核心参数就这几个参数类型必填说明modelstring是固定填gpt-image-2promptstring是图片描述越具体效果越好ninteger否生成数量默认 1最多 4sizestring否分辨率1024x1024默认、1536x1024、1024x1536qualitystring否low、medium、high默认mediumresponse_formatstring否url或b64_json默认url几个注意点我踩过的坑prompt写英文效果明显好于中文中文也能用但偶尔会出现文字渲染错乱size只支持上面三个值传512x512之类的会直接报错quality设high生成时间会翻倍但确实细节更好response_format建议用b64_jsonURL 方式返回的链接有效期只有 1 小时POST /v1/images/generations返回 Base64/URL响应你的 Python 代码ofox.ai 聚合网关GPT-Image-2 模型保存为本地图片第三步完整可运行的 Python 代码方案一同步调用最简单适合生成单张图片代码最少importbase64importosfromopenaiimportOpenAI# 初始化客户端clientOpenAI(api_keyyour-ofox-api-key,# 替换成你在 ofox.ai 拿到的 Keybase_urlhttps://api.ofox.ai/v1)defgenerate_image(prompt:str,size:str1024x1024,quality:strmedium):同步生成图片返回本地文件路径print(f正在生成图片:{prompt[:50]}...)responseclient.images.generate(modelgpt-image-2,promptprompt,n1,sizesize,qualityquality,response_formatb64_json)# 解码 Base64 并保存image_database64.b64decode(response.data[0].b64_json)output_pathoutput.pngwithopen(output_path,wb)asf:f.write(image_data)print(f图片已保存到:{output_path})returnoutput_path# 直接运行if__name____main__:generate_image(promptA cute robot sitting at a desk writing Python code, digital art style, warm lighting,size1024x1024,qualityhigh)跑一下试试正常情况下 5-10 秒就能在当前目录看到output.png。方案二提交 轮询适合批量生成说实话方案一够用了但如果你要批量生成图片或者想做个异步的图片生成服务用提交轮询的方式更靠谱。好处是不会因为网络超时而丢失任务importbase64importtimeimportrequestsimportos API_KEYyour-ofox-api-key# 替换成你的 KeyBASE_URLhttps://api.ofox.ai/v1HEADERS{Authorization:fBearer{API_KEY},Content-Type:application/json}defsubmit_image_task(prompt:str,size:str1024x1024,quality:strmedium):提交图片生成任务payload{model:gpt-image-2,prompt:prompt,n:1,size:size,quality:quality,response_format:b64_json}resprequests.post(f{BASE_URL}/images/generations,headersHEADERS,jsonpayload,timeout60)ifresp.status_code200:returnresp.json()else:print(f提交失败:{resp.status_code}-{resp.text})returnNonedefpoll_and_save(prompt:str,output_path:stroutput.png,max_retries:int3,size:str1024x1024,quality:strmedium):带重试的图片生成提交 轮询检查 保存forattemptinrange(1,max_retries1):print(f第{attempt}次尝试生成...)try:resultsubmit_image_task(prompt,sizesize,qualityquality)ifresultanddatainresultandlen(result[data])0:b64_strresult[data][0].get(b64_json)ifb64_str:image_database64.b64decode(b64_str)withopen(output_path,wb)asf:f.write(image_data)print(f生成成功已保存到:{output_path})returnoutput_path# 如果返回的是 URLurlresult[data][0].get(url)ifurl:print(f拿到图片 URL:{url})img_resprequests.get(url,timeout30)withopen(output_path,wb)asf:f.write(img_resp.content)print(f生成成功已保存到:{output_path})returnoutput_pathprint(f第{attempt}次未拿到有效结果等待 3 秒后重试...)time.sleep(3)exceptrequests.exceptions.Timeout:print(f第{attempt}次请求超时等待 5 秒后重试...)time.sleep(5)exceptExceptionase:print(f第{attempt}次出错:{e}等待 3 秒后重试...)time.sleep(3)print(达到最大重试次数生成失败)returnNonedefbatch_generate(prompts:list,output_dir:stroutputs):批量生成多张图片os.makedirs(output_dir,exist_okTrue)results[]fori,promptinenumerate(prompts):output_pathos.path.join(output_dir,fimage_{i1}.png)print(f\n--- 生成第{i1}/{len(prompts)}张 ---)pathpoll_and_save(promptprompt,output_pathoutput_path,max_retries3,qualitymedium)results.append({prompt:prompt,path:path,success:pathisnotNone})# 每张之间歇 1 秒别太猛ifilen(prompts)-1:time.sleep(1)# 打印汇总success_countsum(1forrinresultsifr[success])print(f\n 批量生成完成{success_count}/{len(prompts)}成功 )returnresults# 运行示例if__name____main__:# 单张生成poll_and_save(promptA futuristic city skyline at sunset, cyberpunk style, neon lights reflecting on wet streets,output_pathcyberpunk_city.png,qualityhigh)# 批量生成prompts[A minimalist logo design for a tech startup, clean lines, blue and white,An isometric illustration of a cozy home office with plants and a cat,A watercolor painting of a mountain lake at dawn, soft colors,]batch_generate(prompts)这段代码包含了完整的错误处理、超时重试、批量生成逻辑直接复制到项目里就能用。踩坑记录说几个我实际遇到的坑帮你们省点时间坑 1中文 prompt 里带引号导致 JSON 解析失败我一开始直接把用户输入的中文丢进去结果有人输入了带的内容requests 序列化没问题但服务端解析炸了。解决方案用json库自己序列化一遍或者干脆用 openai SDK方案一SDK 内部会处理好。坑 2qualityhigh1536x1024偶尔超时高分辨率加高质量的组合生成时间可能到 20-30 秒。你的timeout设太短就会断掉。建议 timeout 至少设 60 秒或者用方案二的重试逻辑兜底。坑 3URL 返回格式的链接过期前面提了response_formaturl返回的链接只有 1 小时有效期。我之前做了个图片生成服务把 URL 直接存数据库了结果第二天用户一刷新全是 404。老老实实用b64_json拿到就存本地或者传 OSS。坑 4prompt 太短效果很差一只猫这种 prompt 出来的图基本没法看。GPT-Image-2 吃细节描述建议至少写 20-30 个词包含主体、风格、光线、构图这些信息。英文效果好于中文。小结整个流程捋一遍去 ofox.ai 注册拿 Key1 分钟搞清楚prompt、size、quality这几个核心参数1 分钟把上面的代码复制过去改一下 Key 和 prompt 就能跑1 分钟生成失败不扣钱聚合接口也没有并发限制放心大胆地试。我自己现在做的一个小工具就是用 GPT-Image-2 批量生成产品图一天跑几百张稳得很。想试试的直接去 [ofox.ai](https://ofox.ai?utm_sourcecsdnutm_mediumofoxcoding_articleutm_campaignseo) 注册个账号免费额度够你把上面的代码全跑一遍了。