GPT Image 2 API 调用详解:从零掌握 OpenAI 图像生成接口(2026)
本文更新时间:2026年5月11日,基于 OpenAI 官方 API 文档与最新 Codex 平台信息编写。
GPT Image 2(gpt-image-2)是 OpenAI 于 2026年4月21日发布的全新图像生成模型,Arena ELO 高达 1512 分,在文字渲染、指令遵循和照片真实感三个维度均创下了行业新纪录。随着 DALL-E 2 和 DALL-E 3 将于 2026年5月12日 停止服务,gpt-image-2 已正式成为 OpenAI 图像生成的核心接口。
本文面向开发者,详细介绍 gpt-image-2 API 的调用方式、核心参数、代码示例与生产环境最佳实践。
一、gpt-image-2 API 概览
1.1 基本信息
gpt-image-2 是 OpenAI Images API 中的最新模型,通过 images.generate 接口调用。相较于已停服的 DALL-E 系列,它有以下核心优势:
| 特性 | 说明 |
|---|---|
| 模型标识 | gpt-image-2 |
| 文字渲染准确率 | 约 99%(含中英日韩等多语言) |
| 最高分辨率 | 4096×4096(部分分辨率档位) |
| 生成速度 | 2–4 秒(标准分辨率) |
| 多图生成 | 单次最多 8 张 |
| 上下文感知 | 可基于对话历史进行局部编辑 |
| 计费方式 | 按张计费,按质量档位分层定价 |
1.2 与 DALL-E 的关键差异
DALL-E 3 → gpt-image-2 迁移要点:
1. 模型标识从 "dall-e-3" 改为 "gpt-image-2"
2. 新增 quality 参数(auto/medium/high/low)
3. 新增 n 参数上限从 10 提升到 8
4. 新增 style 参数替换为更灵活的控制方式
5. 编辑接口从 mask 模式改为自然语言描述模式1.3 API 端点
POST https://api.openai.com/v1/images/generations二、安装与环境准备
2.1 安装 SDK
Python
pip install openai>=1.60.0JavaScript / TypeScript
npm install openai@latest2.2 配置 API Key
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("OPENAI_API_KEY"), # 建议使用环境变量
organization="org-xxxxxxxxxxxxxxxx", # 可选,组织 ID
)import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
organization: 'org-xxxxxxxxxxxxxxxx', // 可选
});安全提示:不要将 API Key 硬编码在代码中或提交到版本控制系统。推荐使用环境变量或密钥管理服务(如 AWS Secrets Manager、Vercel Environment Variables)。
三、基础调用:图像生成
3.1 最简调用
from openai import OpenAI
client = OpenAI()
response = client.images.generate(
model="gpt-image-2",
prompt="一张极简风格的咖啡馆海报,背景浅灰色,
中央大号粗体文字 'COFFEE & CODE',
下方小字 '每天都是新的开始',
整体风格现代、清爽",
)
image_url = response.data[0].url
print(f"生成图片链接: {image_url}")3.2 核心参数详解
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
model | string | 必填 | 固定填 gpt-image-2 |
prompt | string | 必填 | 图像描述,最长 4000 字符 |
n | integer | 1 | 生成数量,1–8 |
quality | string | auto | 质量档位:auto/medium/high/low |
size | string | auto | 分辨率档位,见下文 |
style | string | auto | 风格偏好:vivid/natural/auto |
output_format | string | url | 输出格式:url(临时链接)或 b64_json(Base64) |
response_format | string | url | 同 output_format,两者等价 |
3.3 分辨率档位
# 方形
client.images.generate(
model="gpt-image-2",
prompt="...",
size="1024x1024",
)
# 横版(16:9)
client.images.generate(
model="gpt-image-2",
prompt="...",
size="1536x1024", # 或 "1792x1024"
)
# 竖版(9:16)
client.images.generate(
model="gpt-image-2",
prompt="...",
size="1024x1536", # 或 "1024x1792"
)
# 高清横版
client.images.generate(
model="gpt-image-2",
prompt="...",
size="2048x1024",
)支持的分辨率档位:
| size 参数 | 比例 | 典型应用场景 |
|---|---|---|
1024x1024 | 1:1 | 社交媒体头像、方形配图 |
1536x1024 | 3:2 | 横版文章配图 |
1792x1024 | 16:9 | 横版封面、桌面壁纸 |
1024x1536 | 2:3 | 竖版海报、手机壁纸 |
1024x1792 | 9:16 | 小红书封面、Instagram Stories |
2048x1024 | 2:1 | 超宽横幅 |
2048x2048 | 1:1 | 高清印刷(需 high 质量) |
4096x4096 | 1:1 | 4K 输出(实验性,API 层面部分支持) |
3.4 质量档位与费用
# 质量档位影响费用和生成时间
client.images.generate(
model="gpt-image-2",
prompt="...",
quality="medium", # 自动选择最优性价比
)| quality | 费用(美元/张) | 适用场景 |
|---|---|---|
auto | 系统自动判断 | 默认推荐 |
low | ~$0.04 | 快速预览、草图阶段 |
medium | ~$0.10 | 标准生产 |
high | ~$0.19 | 高清印刷、专业级输出 |
费用说明:具体价格以 OpenAI 官方定价页(platform.openai.com/docs/models/gpt-image-2)为准,上述数值为参考区间。
四、多图生成与批量调用
4.1 一次生成多张变体
response = client.images.generate(
model="gpt-image-2",
prompt="一张现代简约风格的品牌 Logo 图,主图形是一只抽象的飞鸟,
配色以深蓝和金色为主,整体简洁有力",
n=4, # 一次生成 4 张变体
size="1024x1024",
quality="medium",
)
# 遍历所有生成的图片
for i, img in enumerate(response.data):
print(f"图片 {i+1}: {img.url}")4.2 带编号的多图生成
在 ChatGPT 对话中配合 Thinking 模式使用时,gpt-image-2 最多支持单次生成 8 张连贯图像,非常适合:
- 故事板(Storyboard)
- 角色设定集(Character Sheet)
- 漫画分镜(Manga Panels)
response = client.images.generate(
model="gpt-image-2",
prompt="生成一组 6 张的漫画分镜,讲述一个人在清晨城市天际线下跑步的故事,
每张图需保持角色外观一致,配色统一为蓝橙渐变晨曦色调",
n=6,
size="1024x1024",
)五、图片编辑:自然语言局部修改
gpt-image-2 的编辑能力是其最具生产力的特性之一。与 DALL-E 2 的 mask 遮罩编辑模式不同,gpt-image-2 支持通过自然语言描述直接修改图像局部,且无需上传遮罩图。
5.1 基础编辑调用
# 第一步:生成基础图像
base_response = client.images.generate(
model="gpt-image-2",
prompt="一间现代风格的客厅,明亮温馨,浅色沙发,落地窗,窗外是城市天际线",
)
base_url = base_response.data[0].url
# 第二步:用自然语言描述修改
edit_response = client.images.edit(
model="gpt-image-2",
image=base_url, # 基础图像(URL 或 Base64)
prompt="将沙发颜色从浅灰色改为深宝石绿,保持光影和其他家具完全不变",
)5.2 常用编辑操作
# 添加元素
edit_response = client.images.edit(
model="gpt-image-2",
image=original_url,
prompt="在桌面右侧添加一杯冒着热气的咖啡,放在木制杯垫上,光影与现有环境匹配",
)
# 删除元素
edit_response = client.images.edit(
model="gpt-image-2",
image=original_url,
prompt="移除画面左侧的人物,背景保持完整,填补移除后露出的空间",
)
# 替换元素
edit_response = client.images.edit(
model="gpt-image-2",
image=original_url,
prompt="将墙上的装饰画换成一幅黑白城市建筑摄影,保持画框不变",
)
# 颜色调整
edit_response = client.images.edit(
model="gpt-image-2",
image=original_url,
prompt="将天空从蓝色改为黄昏的橙紫色渐变,地面光照同步调整为暖色调",
)
# 风格变换
edit_response = client.images.edit(
model="gpt-image-2",
image=original_url,
prompt="将画面整体转换为水彩画风格,笔触柔和,色彩淡雅",
)5.3 传入本地文件(Base64 方式)
import base64
# 读取本地图片并转为 Base64
with open("original_photo.jpg", "rb") as f:
image_bytes = f.read()
image_b64 = base64.b64encode(image_bytes).decode("utf-8")
response = client.images.edit(
model="gpt-image-2",
image=f"data:image/jpeg;base64,{image_b64}", # 使用 data URI 格式
prompt="将图中人物的背景替换为海边日落场景",
)六、完整生产级代码示例
6.1 Python:带重试机制的封装
import time
from openai import OpenAI, RateLimitError, APIError
from pathlib import Path
def generate_image(
prompt: str,
model: str = "gpt-image-2",
n: int = 1,
size: str = "1024x1024",
quality: str = "medium",
output_format: str = "url",
max_retries: int = 3,
) -> list[dict]:
"""
生成图像,带重试机制和错误处理。
返回格式示例:
[{'url': 'https://...', 'revised_prompt': '...'}, ...]
"""
client = OpenAI()
results = []
for attempt in range(max_retries):
try:
response = client.images.generate(
model=model,
prompt=prompt,
n=n,
size=size,
quality=quality,
output_format=output_format,
)
for img in response.data:
results.append({
"url": img.url,
"revised_prompt": getattr(img, "revised_prompt", None),
})
return results
except RateLimitError:
if attempt < max_retries - 1:
wait_time = 2 ** attempt # 指数退避: 1s, 2s, 4s
print(f"触发速率限制,等待 {wait_time}s 后重试...")
time.sleep(wait_time)
else:
raise Exception("达到最大重试次数,图像生成失败")
except APIError as e:
raise Exception(f"API 错误: {e}")
return results
# 使用示例
images = generate_image(
prompt="一张科技感十足的数据可视化大屏截图,
深色主题,蓝色霓虹强调色,
顶部标题 '实时业务仪表盘',
包含折线图、柱状图和数字卡片",
n=2,
size="1536x1024",
quality="medium",
)
for i, img in enumerate(images):
print(f"第 {i+1} 张: {img['url']}")6.2 JavaScript / TypeScript:async/await 封装
import OpenAI from 'openai';
const client = new OpenAI();
interface ImageResult {
url: string;
revisedPrompt?: string;
}
async function generateImage(
prompt: string,
options: {
n?: number;
size?: '1024x1024' | '1536x1024' | '1024x1536' | '1792x1024';
quality?: 'low' | 'medium' | 'high';
outputFormat?: 'url' | 'b64_json';
} = {}
): Promise<ImageResult[]> {
const {
n = 1,
size = '1024x1024',
quality = 'medium',
outputFormat = 'url',
} = options;
const response = await client.images.generate({
model: 'gpt-image-2',
prompt,
n,
size,
quality,
output_format: outputFormat,
});
return response.data.map((img) => ({
url: img.url,
revisedPrompt: img.revised_prompt,
}));
}
// 使用示例
async function main() {
try {
const images = await generateImage(
'一张极简风格的产品详情页 mockup,浅白色背景,
顶部导航栏居中,主体区域为产品图片占位,
底部有一排产品参数标签',
{ n: 3, size: '1536x1024' }
);
images.forEach((img, i) => {
console.log(`图片 ${i + 1}: ${img.url}`);
});
} catch (error) {
console.error('生成失败:', error);
}
}
main();七、提示词工程最佳实践
7.1 高质量提示词结构
[主体描述] + [环境/背景] + [风格/美学] + [光线/氛围] + [技术参数(可选)]
好的提示词示例:
"一位亚洲年轻女性的人像照,坐在咖啡馆窗边,
侧逆光勾勒出发丝轮廓,背景虚化为暖色调室内,
浅米色针织衫,自然微笑,
摄影风格参考 85mm f/1.4 大光圈人像,
浅景深,柔和散景"7.2 文字渲染提示词技巧
GPT Image 2 的文字渲染是其最强能力之一,但提示词写法仍有技巧:
# 明确的排版描述
prompts = [
"海报顶部居中粗体大标题 '限时特惠',下方副标题小字 '全场5折起',底部联系信息",
"名片正面:上方姓名 '张明'(深蓝粗体),中间职位 '产品总监',下方公司名 'FutureTech' 和联系方式",
"咖啡杯杯套侧面:手写风格文字 'Have a nice day',字体为温暖的咖啡色",
]
for p in prompts:
response = client.images.generate(
model="gpt-image-2",
prompt=p,
n=2,
size="1024x1024",
)7.3 避免的常见错误
❌ 避免:模糊抽象的描述
"一张好看的图片" / "看起来专业一点"
✅ 推荐:具体可感的描述
"摄影级产品图,白色背景,一瓶透明玻璃香水瓶,
淡金色液体,柔和顶部光源,照片边缘有浅阴影,
极简风格,无背景杂物"八、速率限制与计费
8.1 速率限制
| 订阅计划 | 生成限制(每分钟) | 备注 |
|---|---|---|
| Free (体验额度) | 少量 | 适合尝鲜 |
| Pay-as-you-go | 按 Tier 级别 | 可申请提升 |
| ChatGPT Plus ($20/月) | 含在订阅内 | 约每天 50–100 张(对话内) |
| API | 按套餐等级 | 独立限额,与 ChatGPT 分开 |
8.2 API 费用参考
| 质量档位 | 1024×1024 | 1536×1024 / 1024×1536 | 更高分辨率 |
|---|---|---|---|
low | ~$0.04 | ~$0.06 | 依分辨率递增 |
medium | ~$0.10 | ~$0.15 | 依分辨率递增 |
high | ~$0.19 | ~$0.28 | 依分辨率递增 |
国内使用建议:如需在国内调用 API,可通过 OpenAI 官方 API 充值(需信用卡)或使用支持 OpenAI API 格式的第三方代理服务(注意选择合规服务商)。
九、国内使用方案
9.1 官方 API(需网络环境)
# 与上文完全一致的代码,只需替换 endpoint
client = OpenAI(
api_key=os.environ["OPENAI_API_KEY"],
base_url="https://api.openai.com/v1", # 官方地址
)9.2 国内镜像平台调用
部分国内平台提供了兼容 OpenAI API 格式的调用接口,可在不改变代码的情况下接入:
# 只需替换 base_url 和 API Key,无需修改其他代码
client = OpenAI(
api_key="your-platform-api-key", # 国内平台提供的 Key
base_url="https://api.lazymanchat.com/v1", # 平台 API 地址
)
response = client.images.generate(
model="gpt-image-2",
prompt="你的图像描述",
n=1,
size="1024x1024",
)平台推荐:选择时请确认平台是否透明使用官方 API、数据隐私政策是否完善、是否有明确的运营主体。
十、常见问题解答(FAQ)
Q1: gpt-image-2 和 DALL-E 3 的 API 调用方式完全兼容吗?
A:基本兼容,但有以下需要关注的变更:
- 模型名从
dall-e-3改为gpt-image-2 quality参数从standard/hd改为low/medium/high/autostyle参数简化为vivid/natural/auto- 新增
output_format参数支持url和b64_json
建议在生产环境中建立配置映射层,便于后续模型切换。
Q2: 生成的图片版权归属谁?可以商用吗?
A:通过 OpenAI API(包括 gpt-image-2)生成的图像,用户拥有生成后图像的使用权,可以用于商业目的。但需遵守 OpenAI 的使用政策,不得生成侵犯他人商标、版权或肖像权的内容。
Q3: 为什么有时候文字渲染会出现错误?
A:GPT Image 2 的文字渲染准确率约 99%,但以下情况可能出现偏差:
- 极小的字号(信息图中密集的说明文字)
- 非常规字体或手写风格字体
- 复杂的多语言混排(如同一行同时包含中文、阿拉伯语和拉丁字母)
遇到文字问题时,可通过对话迭代方式让模型重新渲染。
Q4: 如何选择合适的质量档位?
A:
- 快速预览 / 对比选择:使用
low,费用最低,速度最快 - 标准生产内容:使用
medium,性价比最优 - 高清印刷 / 正式交付:使用
high,细节最丰富
Q5: 编辑接口(images.edit)支持 Base64 传入本地图片吗?
A:支持。需要使用 data:image/[format];base64,[base64数据] 的 URI 格式传入:
import base64
with open("photo.jpg", "rb") as f:
b64 = base64.b64encode(f.read()).decode("utf-8")
response = client.images.edit(
model="gpt-image-2",
image=f"data:image/jpeg;base64,{b64}",
prompt="将图片背景替换为纯白色",
)Q6: API 生成的图片会过期吗?
A:通过 url 方式返回的图片链接为 OpenAI 的临时 URL,通常有效期为 60 分钟。建议及时下载到本地存储。长期使用建议将图片上传至自己的 CDN 或对象存储(如 S3、阿里云 OSS)进行持久化。
十一、总结
gpt-image-2 API 将 OpenAI 的图像生成能力提升到了一个新的台阶,其核心优势体现在三个层面:
- 文字渲染:约 99% 的准确率使 AI 生图首次真正可以用于含文字的生产场景,设计师可以告别 Photoshop 修字环节
- 推理驱动的生成:通过先理解再出图的机制,显著提升了复杂指令的遵循度
- 自然语言编辑:无需 mask 遮罩,用对话即可精准修改图像局部,大幅降低图像编辑门槛
对于开发者而言,gpt-image-2 与 DALL-E API 的高度兼容性使得迁移成本可控。建议从基础调用开始,逐步掌握多图生成、局部编辑和提示词优化三个核心能力,构建稳定高效的生产工作流。
::: card 推荐入口 体验 GPT Image 2 的最简方式:通过 ChatGPT 对话直接生成图像,无需任何代码:
- ChatGPT 官网:https://chatgpt.com
- 国内镜像:https://lazymanchat.com | https://chat.huoyachat.com :::
本文标签:gpt-image-2 API, GPT Image 2, OpenAI图像生成, API调用教程, Python图像生成, JavaScript图像生成, AI绘图接口, OpenAI Images API