
通过Newapi接入的Vertex配置在使用gemini-3.1-flash-image:image的时候总提示”使用自定义Google API Key”
快速结论:此问题由 LobeChat 内部 `detectModelProvider` 函数的硬编码逻辑导致。模型 ID 中的 “gemini” 关键词会被强制映射到 Google 提供商,即使你通过 Newapi 自定义提供商接入,系统仍会尝试使用 Google API Key。优先排查能否修改模型 ID 或用模型别名绕过检测。
问题场景
用户在使用 LobeChat Web 端(自部署 Docker 环境,v2.2.10)时,通过 Newapi 作为大模型提供商,并在其后台添加了 `gemini-3.1-flash-image:image` 模型。用户仅开启了 Newapi 提供商,未开启 Google 或 Vertex 提供商。在对话中模型始终提示需要 Google API Key,无法正常使用。此前使用 `gemini-3.1-flash-image-preview:image` 时也出现过相同问题。
报错原文
使用自定义Google API Key
原因分析
根本原因是 LobeChat 内部 detectModelProvider 函数会通过模型 ID 中的关键词来判断模型所属的提供商。其中关键词 “gemini” 被硬编码映射到 Google 提供商。因此,即使你通过 Newapi 自定义提供商接入,模型 ID 中包含 “gemini” 的模型(如 gemini-3.1-flash-image)仍会被系统识别为 Google 模型。
进一步地,Newapi 提供商的路由配置中,所有被 detectModelProvider 检测为 google 的模型会被自动路由到 Google 的 API 类型。这导致了即使你只启用了 Newapi 提供商,含有 “gemini” 关键词的模型仍会被系统尝试走 Google 的接口路径,进而要求输入 Google API Key。
这是一个已知的架构性限制,与 issue #15697 中报告的多提供商路由冲突问题相同。
用户此前使用 gemini-3.1-flash-image-preview:image 时曾自行恢复正常,可能原因是当时在模型选择器中恰好选到了正确的提供商(Newapi 而非 Google/Vertex)。
环境排查
- LobeChat 版本:v2.2.10
- 部署方式:Docker
- 客户端:Web(MacOS / Chrome)
- 确认 Newapi 后台模型映射配置无误(用户已确认模型本身可用)
- 检查是否在 Newapi 提供商中重复添加了其他包含 “gemini” 关键词的模型
解决步骤
- 修改模型 ID(可优先尝试):在 Newapi 后台为模型设置别名/映射,将模型 ID 改为不包含 “gemini” 的名称,例如改为
flash-image-v3.1,并在 Newapi 后台将其映射到真实的gemini-3.1-flash-image模型 ID。这样可避开detectModelProvider的关键词检测。 - 手动确认提供商选择:在 LobeChat 会话中切换模型时,注意确认模型来源提供商选择的是 “Newapi” 而非 “Google” 或 “Vertex”。若提供商标识错误,可尝试清除浏览器缓存或重新创建会话。
- 等待上游修复:此问题的根本解决需等待 LobeChat 修复
detectModelProvider函数中对 “gemini” 关键词的硬编码逻辑(参见 #15697)。届时可通过升级版本获得修复。
验证方法
修改模型 ID 或重新选择提供商后,在会话中发送包含图片的请求,观察是否仍会弹出 “使用自定义Google API Key” 的提示。如果不再弹出,且模型能正常返回结果,说明问题已解决。



