Vision example throws an error

这个报错通常发生在照抄 README 里的 Vision 示例、用远端图片 URL 调用 client.responses.create 时;优先排查示例中的图片 URL 是否过大或已失效,因为 API 侧下载该 URL 失败会直接返回 400。

快速结论:这个报错通常发生在照抄 README 里的 Vision 示例、用远端图片 URL 调用 client.responses.create 时;优先排查示例中的图片 URL 是否过大或已失效,因为 API 侧下载该 URL 失败会直接返回 400。

适用环境:macOS;Python 3.12.11;openai v2.8.1;模型 gpt-4o-mini;调用方式为 Responses API 的 input_image

最快修复方案:无已验证的一步修复方案。Issue 中已合并的修复是把 README 示例里的图片换成尺寸更小、来源更可靠的图片,而不是修改 SDK 调用逻辑。

注意事项:Issue 作者本人也标注“这可能只是文档问题”,因此该错误更可能是示例素材(图片 URL/体积)导致,而非 SDK 代码缺陷。社区中多位认领者提到的 PR 编号不一致(#2955、#3216、#3849),最终确认的是 #3849,请以该 PR 为准。

问题场景

用户直接运行 openai-python README 中的 Vision 示例代码:使用 OpenAI 客户端、模型 gpt-4o-mini,通过 client.responses.create 传入 input_textinput_image,其中 image_url 指向 Wikimedia 上的一张浣熊图片缩略图。脚本在发起请求阶段即抛出 400 错误,而非在后续解析响应时报错。

报错原文

openai.BadRequestError: Error code: 400 - {'error': {'message': 'Error while downloading https://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/2023_06_08_Raccoon1.jpg/1599px-2023_06_08_Raccoon1.jpg.', 'type': 'invalid_request_error', 'param': 'url', 'code': 'invalid_value'}}

原因分析

错误信息中的 paramurlcodeinvalid_value,说明服务端在下载示例所用的图片 URL 时失败,请求在进入模型推理前就被拒绝。Issue 作者推测“图片可能太大”。社区提交的修复 PR #2955 也明确以“使用同一张浣熊图片更小的 440px 缩略图,以保持在 API 下载体积限制之内”为思路。因此可能原因是:原示例图片尺寸/文件体积超出 API 对远端图片下载的限制,或该 URL 在服务端不可稳定下载。

环境排查

  • 确认 openai 库版本(本例为 v2.8.1),并核对是否与 README 示例对应的版本一致。
  • 确认 Python 版本(本例为 Python 3.12.11)与 macOS 环境。
  • 确认调用使用的模型(本例为 gpt-4o-mini)和接口(Responses API 的 input_image)。
  • 确认 image_url 是否为公开可访问的远端 URL,且在浏览器/命令行中能正常下载。
  • 检查图片文件体积与分辨率,尤其是示例中 1599px 的 Wikimedia 缩略图。

解决步骤

  1. 先排除示例图片本身的问题:把 image_url 换成体积更小的图片 URL,或改为本地文件/base64 传入,再重跑脚本。
  2. 若替换图片后请求成功,则可确认问题出在原示例图片,而非 SDK 或账号权限。
  3. 更新到包含修复的 openai-python 版本:Issue 最终确认修复在 PR #3849,改用官方 vision 文档中的图片,并已验证其使用授权且通过线上 API 测试。
  4. 同步核对本地 README/示例是否已更新,避免继续使用旧的 1599px 图片 URL。

验证方法

用修复后的示例(较小的、来源可靠的图片 URL)重新运行同一段 client.responses.create 代码,若不再返回 Error while downloading ... 的 400,而是正常返回模型对图片内容的描述,即可认为问题已解决。

参考来源

openai/openai-python #2776

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 23008

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注