diff --git a/app/(admin)/settings/admin-settings-client.tsx b/app/(admin)/settings/admin-settings-client.tsx index 226d28a..124e8cd 100644 --- a/app/(admin)/settings/admin-settings-client.tsx +++ b/app/(admin)/settings/admin-settings-client.tsx @@ -3920,8 +3920,9 @@ export function AdminSettingsClient() { // 过滤出支持图片生成/编辑的模型 const provider = (providersData?.providers || []).find((p: AiProvider) => p.id === m.providerId); if (!provider) return false; - // 支持阿里生图和Gemini图片模型 - return ["alibaba-image", "gemini-image"].includes(provider.type); + // 支持阿里生图、Gemini、既梦等图片模型 + const imageProviderTypes = ["alibaba-image", "gemini-image", "gemini", "volcano-vision"]; + return imageProviderTypes.includes(provider.type); }) .map((m: AiModel) => { const provider = (providersData?.providers || []).find((p: AiProvider) => p.id === m.providerId); @@ -3935,16 +3936,17 @@ export function AdminSettingsClient() { {/* 如果没有找到生图模型,显示提示 */} {(modelsData?.models || []).filter((m: AiModel) => { const provider = (providersData?.providers || []).find((p: AiProvider) => p.id === m.providerId); - return provider && ["alibaba-image", "gemini-image"].includes(provider.type); + const imageProviderTypes = ["alibaba-image", "gemini-image", "gemini", "volcano-vision"]; + return provider && imageProviderTypes.includes(provider.type); }).length === 0 && ( - 暂无可用的生图模型,请先配置阿里生图或Gemini图片供应商 + 暂无可用的生图模型,请先配置生图供应商 )}
- 选择用于场景裂变的生图模型,支持阿里生图和Gemini图片编辑模型 + 选择用于场景裂变的生图模型,支持阿里生图、Gemini、既梦等图片模型
diff --git a/app/api/scene-fusion/route.ts b/app/api/scene-fusion/route.ts index 31f96ce..6fc6549 100644 --- a/app/api/scene-fusion/route.ts +++ b/app/api/scene-fusion/route.ts @@ -440,9 +440,14 @@ export async function POST(request: Request) { // 如果没有配置或配置的模型不可用,使用默认的阿里生图模型 if (!selectedModel) { - selectedModel = allModels.find( - (m) => m.provider.type === "alibaba-image" && m.model.isEnabled - ); + // 按优先级查找:alibaba-image > gemini > volcano-vision + const imageProviderTypes = ["alibaba-image", "gemini", "volcano-vision"]; + for (const providerType of imageProviderTypes) { + selectedModel = allModels.find( + (m) => m.provider.type === providerType && m.model.isEnabled + ); + if (selectedModel) break; + } } if (!selectedModel) {