当 Gemini 成功生成图片后,WebAI2API 看起来已经成功获取到了图片,但最终在 /v1/chat/completions 的响应中,会把图片作为一个巨大的 data URI 字符串直接放进 message.content 或 delta.content 中返回。
这会导致 OpenWebUI 出现两类问题:
stream: true 时 OpenWebUI 端返回 400,错误类似:
Got more than 131072 bytes when reading: b’data: {“id”:"chatcmpl-…’
看起来是因为服务端把整张图片的 data:image/…;base64,… 放进了单个 SSE chunk 中,导致单条流式事件过大。
stream: false 时 请求虽然能成功返回,但 OpenWebUI 会直接把一整串 base64 文本显示在聊天窗口里,而不是显示图片。
实际观察到的现象
Gemini 生图本身是成功的。 在日志中可以看到类似下面的图片预览链接:
https://lh3.googleusercontent.com/…
但直接在外部浏览器访问这个链接时,会显示:
Your client does not have permission to get URL

当 Gemini 成功生成图片后,WebAI2API 看起来已经成功获取到了图片,但最终在 /v1/chat/completions 的响应中,会把图片作为一个巨大的 data URI 字符串直接放进 message.content 或 delta.content 中返回。
这会导致 OpenWebUI 出现两类问题:
stream: true 时 OpenWebUI 端返回 400,错误类似:
Got more than 131072 bytes when reading: b’data: {“id”:"chatcmpl-…’
看起来是因为服务端把整张图片的 data:image/…;base64,… 放进了单个 SSE chunk 中,导致单条流式事件过大。
stream: false 时 请求虽然能成功返回,但 OpenWebUI 会直接把一整串 base64 文本显示在聊天窗口里,而不是显示图片。
实际观察到的现象
Gemini 生图本身是成功的。 在日志中可以看到类似下面的图片预览链接:
https://lh3.googleusercontent.com/…
但直接在外部浏览器访问这个链接时,会显示:
Your client does not have permission to get URL