![issue: 400: [ERROR: Bad Request] when using image generation using LiteLLM openai-api](https://www.chat-gpts.plus/wp-content/uploads/2026/06/25989-7876efab.jpg)
issue: 400: [ERROR: Bad Request] when using image generation using LiteLLM openai-api
快速结论:该报错通常发生在 Open WebUI 通过 LiteLLM(作为 OpenAI 兼容 API 代理)生成图片时,请求被 LiteLLM 或其上游模型拒绝。优先排查 LiteLLM 是否支持 Open WebUI 发送的图片生成请求格式(如参数 size、quality 等)。
问题场景
用户在 Open WebUI v0.9.6(Docker 部署,Ubuntu 22.04)中配置了图片生成功能:
- 在
Admin Panel → Settings → Images中启用图片生成,引擎选择“Default (Open AI)” - 将 OpenAI API Base URL 设置为 LiteLLM 的入口地址(如
https://litellm.example.com/v1)并填写 API Key - 在模型中开启 Native Function Calling
用户在聊天窗口发送图片生成指令后,模型调用图片生成工具但返回 HTTP 400 Bad Request。该问题在一次调试中未在 Open WebUI 容器日志中发现相关错误,即使开启 DEBUG 日志后也未显示与图片生成请求失败直接相关的日志条目。
报错原文
400: [ERROR: Bad Request]
(浏览器控制台或 HTTP 响应中可见此错误,但容器内日志未记录详细错误信息。)
原因分析
基于 Issue 讨论和已关闭的关联 Issue(如 #23611 和 #24659),可能原因包括:
- LiteLLM 作为中转代理转发给上游模型时,上游模型不支持 Open WebUI 发送的图片生成请求参数(例如
size、quality等),LiteLLM 直接拒绝响应(返回 400)。 - LiteLLM 配置中未正确透传 OpenAI 兼容的图片生成端点(
/v1/images/generations)或模型映射错误。 - Open WebUI 在 Native Function Calling 模式下生成的请求体格式与 LiteLLM 期望的格式不兼容(例如缺少某些必填字段或使用了非法参数值)。
- 用户侧 LiteLLM 配置(如路由规则、模型白名单、API Key 权限)限制了图片生成请求。
注:Issue 中维护者回复“works for me, certainly misconfigured on your end”,因此该问题更可能属于用户端配置问题,而非 Open WebUI 缺陷。
环境排查
- 确认 Open WebUI 版本:v0.9.6(已是最新版,且 Issue 已关闭于 commit 中)。
- 确认 LiteLLM 版本及配置:检查 LiteLLM 是否已正确配置模型路由、API Key 及图片生成支持(如
image_generation: true等)。 - 检查 LiteLLM 日志:查看 LiteLLM 容器或进程日志,排查 400 错误的详细原因(通常会在该日志中)。
- 确认上游模型支持图片生成:例如 DALL-E 3、Stable Diffusion 等模型,并检查其是否可通过 OpenAI 兼容 API 调用。
- 网络/代理设置:确保 Open WebUI 可以顺利发送请求到 LiteLLM 的完整 URL,且无中间代理或防火墙拦截。
解决步骤
- 排查 LiteLLM 日志:最直接的排查方式是查看 LiteLLM 的运行时日志(非 Open WebUI 日志),通常在 LiteLLM 容器的标准输出或日志文件中可找到 400 错误的详细原因(如“invalid parameter: size”、“model not found”等)。
- 检查 LiteLLM 配置:
- 确认 LiteLLM 的
litellm_config.yaml中已为图片生成模型配置了正确的路由(如model_name: dall-e-3映射到实际部署模型)。 - 确保 LiteLLM 的
general_settings或模型设置中已启用图片生成功能(若有该选项)。
- 确认 LiteLLM 的
- 检查 Open WebUI 图片生成请求参数:通过浏览器开发者工具(Network 面板)截获 Open WebUI 发往 LiteLLM 的请求体,对照 LiteLLM 的 API 文档确认参数是否兼容。常见不兼容参数包括:
size:某些模型仅支持固定尺寸(如 1024×1024),而 Open WebUI 可能发送其他尺寸。quality、style:并非所有模型都支持。n(生成数量)参数是否在范围内。
可参考关联 Issue #23611 中关于
size参数的修复方案(如果适用)。 - 在 LiteLLM 中测试直接调用:使用 curl 或 Postman 直接向 LiteLLM 的
/v1/images/generations发送与 Open WebUI 相同格式的请求,验证是否能成功。例如:curl -X POST "https://litellm.example.com/v1/images/generations" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"model": "dall-e-3", "prompt": "A cat", "n": 1, "size": "1024x1024"}'如果此时也返回 400,则问题锁定在 LiteLLM 或上游模型;如果返回 200,则问题可能在 Open WebUI 的请求格式上。
- (可优先尝试)升级 Open WebUI:该 Issue 已被标记为已解决(Closed),请确认是否使用了包含修复的版本。若仍使用 v0.9.6,建议升级到更新的版本(如 v0.9.7+)以获取可能的功能修正。
- 尝试禁用 Native Function Calling:切换到“默认”模式生成图片,排除 Native Function Calling 引起的格式差异。
- 检查环境变量或 Docker 配置:如有必要,在 Docker 部署中检查
.env文件,确保OPENAI_API_BASE和OPENAI_API_KEY设置正确且指向 LiteLLM。
验证方法
成功发送图片生成请求后,Open WebUI 聊天窗口应正确显示生成的图片,且无 400 错误。同时 LiteLLM 日志中应显示正常的 200 响应。也可通过浏览器开发者工具确认请求返回 HTTP 200 及图片数据。



![[Codex] 今天有复数个账号出现了二验手机号,询问一下有没有相同情况的?](https://www.chat-gpts.plus/wp-content/uploads/2026/06/ai_cover_3-536-768x403.jpg)