issue: edit_image fails to decode manually attached and previously generated images as Base64

该报错发生在 Open WebUI 调用内置 edit_image 工具编辑手动附件或历史生成的图像时,解码 Base64 数据失败: issue: edit_image fails to decode manually attached and previously generated image

快速结论:该报错发生在 Open WebUI 调用内置 edit_image 工具编辑手动附件或历史生成的图像时,解码 Base64 数据失败:issue: edit_image fails to decode manually attached and previously generated images as Base64。优先排查文件引用传递到 edit_image 时的格式是否正确,或尝试更换函数调用模式及模型。

适用环境:Open WebUI v0.11.0(Docker 部署)、Ubuntu 24.04 LTS、Google Chrome、图像编辑引擎为 OpenAI‑兼容接口(OpenRouter),图像模型为 google/gemini-3.1-flash-image,聊天模型为 openai/gpt-4.1-minianthropic/claude-sonnet-4.5

最快修复方案:暂无确认的一步修复方案。Issue 中用户试过更换模型(Claude Sonnet 4.5)仍出现其他错误(404 或 400),根因未在社区讨论中得到明确修复。

注意事项:更换模型或函数调用模式(如从 Native 切换为 JSON)可能改变行为但未必根治底层 Base64 解码问题。建议关注 Open WebUI 后续版本更新,或尝试将图像编辑引擎切换为不同的提供者(如直接使用 OpenAI API)。

问题场景

用户在 Open WebUI 聊天中使用图像编辑功能:
1. 通过 /edit_image 或模型自动调用的 edit_image 工具编辑手动上传的 PNG 图像;
2. 或要求模型对同一对话中之前生成的图像进行编辑。

图像上传和文件获取均成功(200 状态码),但 edit_image 工具在后端解码 Base64 时失败。

报错原文

open_webui.routers.images.get_image_file_item()
base64.b64decode(encoded)
...
binascii.Error: Invalid base64-encoded string

部分场景下(使用 Claude Sonnet 4.5)出现不同错误:

open_webui.routers.images.image_edits()
open_webui.routers.images.load_url_image()
aiohttp.client_exceptions.ClientResponseError: 404 Not Found

原因分析

可能原因:文件引用传递给 edit_image 时被错误地转换为 Base64 字符串,但其格式不符合 base64.b64decode() 期望的输入。Open WebUI 内部可能将文件 ID 或文件内容错误拼接,导致解码失败。另一种可能是图像数据在存储或传输过程中被截断或编码不一致。

对于 404 错误(Claude 场景),则是 edit_image 构建了指向外部存储桶(如 storage.googleapis.com)的 URL,但该文件仅存在于本地 Open WebUI 端,导致无法访问。

环境排查

  • 确认 Open WebUI 版本为 v0.11.0(或相同代码分支)。
  • 确认 Docker 部署方式(Docker Compose)。
  • 确认图像编辑引擎的 API Base URL、API Key 和模型名称配置正确。
  • 检查后端容器日志中 edit_image 调用前后的完整 traceback。
  • 确认浏览器控制台无其他报错(如 CORS、网络错误)。

解决步骤

  1. 尝试更换函数调用模式:在 Open WebUI 设置中,将“函数调用模式”从 Native 切换为 JSON,再测试编辑功能。(可优先尝试)
  2. 更换图像编辑模型:使用其他支持图像编辑的模型(如 google/gemini-3.1-flash-imageopenai/gpt-4o 等),看问题是否复现。
  3. 检查文件附件处理方式:手动上传图像时,确保文件内容完整(可在浏览器中预览并下载验证)。若

    参考来源

    open-webui/open-webui #27649

    GamsGo AI

    AI 工具推荐

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

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

    了解 GamsGo AI

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

    这个方案解决了吗?

celebrityanime
celebrityanime
文章: 15601

发表回复

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