You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

向GPT-4o传入Base64编码图片时遇400错误的解决咨询

解决GPT-4o返回"Invalid base64 image_url"错误的方法
  • 清理Base64字符串中的冗余字符
    Base64编码的图片字符串如果包含换行、空格或其他非Base64字符,会直接导致URL无效。可以用正则替换移除这些多余内容:

    const cleanedBase64 = base64Image.replace(/\s+/g, ''); // 移除所有空格和换行符
    const imageUrl = `data:image/jpeg;base64,${cleanedBase64}`;
    
  • 验证Base64编码的有效性
    确认你的base64Image确实是合法的JPG编码。可以在本地用Node.js快速验证:

    try {
      Buffer.from(cleanedBase64, 'base64'); // 尝试转换为Buffer,失败则抛出错误
    } catch (err) {
      console.error('无效的Base64编码:', err);
    }
    

    如果转换失败,说明你的base64Image本身编码错误,需要重新从图片文件生成正确的Base64字符串。

  • 检查图片大小限制
    GPT-4o对传入的图片有大小限制(单张图片Base64编码后通常不能超过20MB)。如果图片过大,需要先压缩图片分辨率或质量,再进行Base64编码。

  • 确认请求格式的正确性
    确保请求的结构完全符合OpenAI API要求,修正后的完整请求示例:

    const openairesponse = await openai.chat.completions.create({
      model: "gpt-4o",
      messages: [
        { role: 'system', content: "Convert the image to text" },
        {
          role: "user",
          content: [
            {
              type: "image_url",
              image_url: {
                url: `data:image/jpeg;base64,${cleanedBase64}`
              }
            }
          ]
        }
      ],
    });
    

内容的提问来源于stack exchange,提问作者Mathias

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 00:12:44