Codex 中文站Codex 中文站
API 教程2026-08-03 10:307 分钟阅读

GPT-Image-2 图片生成报错:Invalid image size 1920x1080 解决方案

调用 gpt-image-2 时遇到 Invalid image size 1920x1080?本文解释 16 倍数尺寸校验、1920x1080 失败的原因、可用替代尺寸,以及前后端自动修正方案。

GPT-Image-2 图片生成报错:Invalid image size 1920x1080 解决方案

大家好,我是 Codex 中文网的站长宇哥。

调用 gpt-image-2 生成图片时,有人会遇到下面这类错误:


{
  "error": {
    "code": "ERR-6830CADB06",
    "message": "Invalid image size 1920x1080: both edges must be non-zero and multiples of 16 (got 1920x1080)",
    "type": "invalid_request_error"
  }
}

看起来很奇怪:1920x1080 明明是常见的 1080P 分辨率,为什么图片生成接口却拒绝它?关键在错误信息本身:这个请求所使用的 gpt-image-2 服务要求宽和高都必须为非零的 16 的倍数。

错误是什么意思

核心报错是:


Invalid image size 1920x1080
both edges must be non-zero and multiples of 16

也就是说,宽度和高度都要满足:


width % 16 == 0
height % 16 == 0

1920x1080 拆开计算:


1920 / 16 = 120
1080 / 16 = 67.5

宽度 1920 合格,但高度 1080 不是 16 的倍数,因此请求被拒绝。

这里需要区分两件事:本文讨论的是这条错误响应体现出的尺寸校验行为,并不代表所有名称相近的模型、所有中转服务或 OpenAI 官方端点都接受任意“16 的倍数”尺寸。接入某个具体平台前,仍应以该平台文档和接口返回的支持尺寸为准。

为什么标准 1080P 会失败

视频和显示器常用 1920x1080,但图片生成模型的输入约束并不一定沿用视频标准。

许多扩散模型会先把图片映射到潜空间,再经过解码器得到最终像素图。简化后的流程可以理解为:


用户 Prompt

↓

扩散模型

↓

Latent Space 潜空间

↓

Decoder

↓

最终图片

处理过程中可能发生多次下采样和张量分块。例如 1920x1080 经过 8 倍下采样会变成 240x135。为了让内部张量、卷积或分块计算对齐,服务端可能要求输入边长满足 8、16、32 或指定尺寸列表等限制。

因此,“传统显示器尺寸”并不自动等于“该图片模型接受的尺寸”。本次错误明确要求 16 的倍数,就应按 16 对齐后再请求。

怎么把 1920x1080 改成可用尺寸

如果目标是尽量保持 16:9 横版构图,可以使用临近的 16 倍数尺寸:


1920x1088

计算结果:


1920 / 16 = 120
1088 / 16 = 68

两个方向均为整数。相应的竖版尺寸可使用:


1088x1920

另外两种常见选择:


1280x736
1024x1024

其中 1280x736 可作为 16 倍数高清横图,1024x1024 适合正方形封面、头像和商品主图。请注意,服务端即使要求 16 倍数,也可能还会有最大分辨率、固定档位或比例限制;若接口提供尺寸列表,应优先使用列表中的选项。

| 场景 | 可尝试的 16 倍数尺寸 |

| --- | --- |

| 横版接近 16:9 | 1920x1088 |

| 竖版接近 9:16 | 1088x1920 |

| 普通高清横图 | 1280x736 |

| 正方形 | 1024x1024 |

API 调用如何修改

错误请求:


{
  "model": "gpt-image-2",
  "prompt": "一只橘猫站在森林里",
  "size": "1920x1080"
}

修改为:


{
  "model": "gpt-image-2",
  "prompt": "一只橘猫站在森林里",
  "size": "1920x1088"
}

如果平台不接受这个值,不要继续猜测任意尺寸。先查询该平台的模型参数或调用其“列出图片选项”的能力,再从返回的标准尺寸中选择最接近的比例。

程序里自动修正尺寸

如果产品允许用户自定义宽高,最好在提交 API 前就完成校验。最简单的向下取整写法如下:


func fixImageSize(width, height int) (int, int) {
    width = width / 16 * 16
    height = height / 16 * 16
    return width, height
}

输入:


1920x1080

会得到:


1920x1072

因为:


1072 / 16 = 67

向下取整不会超出用户给出的边界,但会轻微改变比例。若产品更看重接近原始比例,可以实现“向上、向下两种候选值比较”,再选择误差更小且不超过服务端最大边长的尺寸。例如 1080 向上取整为 1088,能够得到更接近 16:9 的 1920x1088

无论哪种策略,都要先处理无效输入:宽高小于等于零时应直接报参数错误,不要让结果变成 0x0。还应结合服务端的最小值、最大值和允许档位做二次校验。

开发 AI 图片平台时要注意什么

前端提供合法尺寸

不要只让用户随意输入 1920x1080。可以提供常用预设,并在界面说明实际输出尺寸:


横版接近 16:9:1920x1088
竖版接近 9:16:1088x1920
正方形:1024x1024

如果后端只支持固定尺寸,更应该使用下拉选项或比例选择器,而非允许任意输入。

后端统一校验或纠正

收到以下请求时:


{
  "width": 1920,
  "height": 1080
}

可按产品策略转换为 1920x10721920x1088,然后在响应中明确返回最终实际提交的尺寸。不要悄悄改动用户输入,否则用户可能会因为构图变化而难以排查问题。

把模型错误翻译成用户能理解的话

不要直接把:


Invalid image size 1920x1080

原样暴露为唯一提示。更友好的反馈可以是:


当前图片尺寸不符合该模型的要求:宽和高需要是 16 的倍数。
已建议调整为 1920x1088;确认后可继续生成。

若服务端不允许自动修正,则直接提示可选尺寸列表和当前输入不合规的具体原因。

常见问题 FAQ

为什么 1280x720 也可能失败

1280 是 16 的倍数,但 720 / 16 = 45,实际上可以通过本次“16 的倍数”规则。若它仍然失败,通常说明该服务还有额外限制,例如仅允许固定尺寸档位、模型最大像素限制或特定的宽高比。应检查完整错误信息和服务端文档。

1920x1072 和 1920x1088 应该选哪个

两者都是 16 的倍数。1920x1072 不会超过原始高度,适合严格限制最大画布的情况;1920x1088 更接近 16:9,适合更在意视频封面和横版构图的场景。选择前还要确认服务端是否允许该尺寸。

所有 AI 图片模型都要求 16 的倍数吗

不是。不同模型或服务可能要求 8、16、32 的倍数,或只支持少数几个固定尺寸。不要把某一个接口的校验规则直接复制到全部模型上。

为什么已经是 16 的倍数仍然提示尺寸无效

除倍数规则外,还可能触发最大宽高、总像素、固定尺寸列表、横竖比例或账户权限限制。记录完整错误响应,并查询当前接入服务的模型参数。

总结

Invalid image size 1920x1080 不是接口故障,而是请求尺寸未通过校验。针对本文中的错误响应,核心规则是:


width % 16 == 0
height % 16 == 0

在开发 AI 生图应用、图片 API 中转、AI Agent 工具或 MCP 图片服务时,最好在前端和后端都增加尺寸校验,并向用户展示最终实际使用的尺寸。这样可以减少无效请求,也能让尺寸调整对构图的影响变得可控。

原创文章,作者:Codex中文网,如若转载,请注明出处:https://codex-zh.com/posts/gpt-image-2-invalid-image-size/

相关文章

API 教程2026-08-05 12:448 分钟阅读

Codex 如何使用 Kimi?Moonshot API 接入教程

这篇文章是 Codex 中文网「API 教程」栏目里的完整教程,主题是 **Codex 如何使用 Kimi?Moonshot API 接入教程**。我会尽量用实战视角讲清楚:这个问题是什么、为什么会出现、应该怎么操作、遇到问题怎么排查,...