最近在调用 OpenAI 的 gpt-image-2 图片生成模型时,遇到了一个比较容易踩坑的错误:
{
"error": {
"code": "ERR-6830CADB06",
"message": "Invalid image size 1920x1080: both edges must be non-zero and multiples of 16 (got 1920x1080)",
"param": "",
"type": "invalid_request_error"
}
}
`

乍一看非常奇怪:
1920×1080 不是标准高清分辨率吗?
为什么 GPT 图片模型反而不支持?
实际上,这和 AI 图像生成模型底层的计算方式有关。
原文: https://codex-zh.com/posts/beginner-codex-newbie-3/
一、错误是什么意思?
核心报错:
Invalid image size 1920x1080
both edges must be non-zero and multiples of 16
翻译:
图片尺寸 1920×1080 无效,宽度和高度必须都是非零,并且必须是 16 的倍数。
也就是说:
你的请求:
width = 1920
height = 1080
其中:
1920 ÷ 16 = 120
没有问题。
但是:
1080 ÷ 16 = 67.5
不是整数。
所以失败。
二、为什么 1080P 反而不行?
很多开发者第一次遇到这个问题都会疑惑:
电视、显示器、视频行业都使用:
1920 × 1080
为什么 AI 不接受?
原因是:
AI 图片生成模型不是直接在 RGB 像素空间生成图片。
它通常会经过类似流程:
用户 Prompt
↓
扩散模型 Diffusion Model
↓
Latent Space 潜空间
↓
Decoder
↓
最终图片
图片在生成过程中会经过多次下采样。
例如:
1920 × 1080
↓
1920/8 × 1080/8
↓
240 × 135
↓
再次处理
为了保证矩阵计算能够正常进行,模型通常要求:
宽度 % 16 == 0
高度 % 16 == 0
否则无法正确映射到内部张量。
三、GPT-Image-2 支持哪些尺寸?
不要直接使用传统视频尺寸:
错误:
1920×1080
1280×720
1080×1920
这些尺寸虽然符合视频标准,但是不一定符合 AI 模型要求。
推荐:
横屏图片
1920×1088
计算:
1920 / 16 = 120
1088 / 16 = 68
两个方向都是整数。
手机竖屏
推荐:
1088×1920
适合:
- 手机壁纸
- 短视频封面
- AI 视频素材
普通高清
推荐:
1280×736
而不是:
1280×720
正方形
推荐:
1024×1024
这是目前 AI 图片生成最常见尺寸。
四、API 调用如何修改?
错误:
{
"model": "gpt-image-2",
"prompt": "一只橘猫站在森林里",
"size": "1920x1080"
}
修改:
{
"model": "gpt-image-2",
"prompt": "一只橘猫站在森林里",
"size": "1920x1088"
}
即可。
五、程序中如何自动修正尺寸?
如果你的系统支持用户自定义尺寸,可以增加一个处理函数。
例如 Go:
func fixImageSize(width, height int) (int, int) {
width = width / 16 * 16
height = height / 16 * 16
return width, height
}
例如:
输入:
1920 × 1080
自动变:
1920 × 1072
因为:
1072 / 16 = 67
满足要求。
六、为什么 AI 图片接口经常有尺寸限制?
这不是 GPT-Image-2 独有的问题。
目前大量生成模型都有类似要求:
例如:
- Stable Diffusion
- Flux
- SDXL
- 视频生成模型
- 多模态生成模型
原因都是:
深度学习模型内部大量使用:
- Tensor
- Convolution
- Attention
- Latent Representation
这些计算对于输入尺寸非常敏感。
七、开发 AI 图片平台时应该注意什么?
如果你正在开发:
- AI 绘画网站
- 图片 API 中转
- AI Agent 生图工具
- MCP 图片生成服务
建议:
1. 前端限制尺寸
不要让用户随便输入:
1920×1080
可以提供:
16:9 高清
1920×1088
9:16 手机
1088×1920
1:1 方图
1024×1024
2. 后端自动校正
收到请求:
{
"width":1920,
"height":1080
}
后端转换:
1920×1080
↓
1920×1072
避免 API 直接报错。
3. 错误提示不要直接返回模型错误
用户看到:
Invalid image size 1920x1080
不知道发生了什么。
更好的提示:
当前图片尺寸不符合 AI 生成要求,
高度需要调整为16的倍数。
已自动调整为1920×1072。
八、总结
https://github.com/Rodert/chongplus-image-skill
GPT-Image-2 的:
Invalid image size 1920x1080
并不是 API 故障,而是图片尺寸校验导致。
记住:
AI 图片生成尺寸不要按照传统显示器标准设置,而应该按照模型计算规则设置。
核心规则:
width % 16 == 0
height % 16 == 0
常用尺寸:
| 场景 | 推荐尺寸 |
|---|---|
| 横屏图片 | 1920×1088 |
| 竖屏图片 | 1088×1920 |
| 高清图片 | 1280×736 |
| 正方形 | 1024×1024 |
在开发 AI 生图应用时,最好在前端和后端都增加尺寸校验,否则用户很容易遇到类似错误。