记录一下那天晚上的排查过程。在 Windows 11 上用 openai 1.76.1 调 images.generate 生成商品图,模型写 gpt-image-1,接口回 403,原文是 Your organization must be verified to use gpt-image-1,返回体里的 code 是 organization_verification_required。换成 dall-e-3 用同一个 key 能正常出图,账单里也有余额,项目权限页翻了几遍没找到对应开关。

刚开始盯着「控制台页面和接口的权限位不是一套,页面能看接口仍拦」,折腾了半个多小时,排掉了。

真正麻烦的地方在于,几个原因的现象几乎一样。组织只做了邮箱验证,身份验证还停在审核队列里。也可能是key 挂在子项目下,验证状态在父组织上没同步下来。

少数情况下是注册主体是新公司,图片模型要求补充资质材料。

先用 curl 直接看返回体里的 code 与类型

curl -s https://api.openai.com/v1/images/generations -H "Authorization: Bearer $OPENAI_API_KEY" -H "Content-Type: application/json" -d '{"model":"gpt-image-1","prompt":"a red mug"}'

再列一次模型,确认这个 key 能看到 gpt-image-1

curl -s https://api.openai.com/v1/models -H "Authorization: Bearer $OPENAI_API_KEY" | jq -r '.data[].id' | grep image

再往下在组织设置的 General 页提交身份验证,等状态变成 verified

python -c "print('open dashboard -> settings -> organization -> verify')"

等前面都确认过,再验证通过后用最小参数复测,只留 model 与 prompt

curl -s https://api.openai.com/v1/images/generations -H "Authorization: Bearer $OPENAI_API_KEY" -H "Content-Type: application/json" -d '{"model":"gpt-image-1","prompt":"a red mug","size":"1024x1024"}'

别只看报错消失,验证要多做一步。返回体里出现 data[0].b64_json,HTTP 状态是 200,同一个 key 调 dall-e-3 也仍然正常。

gpt-image-1 的返回固定是 base64,不要再传 response_format,带上反而会多出一个参数错误。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。

作者 9823189