diff --git a/src/renderer/src/providers/AiProvider/GeminiProvider.ts b/src/renderer/src/providers/AiProvider/GeminiProvider.ts index 446f2911c0..f1d939d941 100644 --- a/src/renderer/src/providers/AiProvider/GeminiProvider.ts +++ b/src/renderer/src/providers/AiProvider/GeminiProvider.ts @@ -275,12 +275,21 @@ export default class GeminiProvider extends BaseProvider { }) } + let canGenerateImage = false + if (isGenerateImageModel(model)) { + if (model.id === 'gemini-2.0-flash-exp') { + canGenerateImage = assistant.enableGenerateImage! + } else { + canGenerateImage = true + } + } + const generateContentConfig: GenerateContentConfig = { - responseModalities: isGenerateImageModel(model) ? [Modality.TEXT, Modality.IMAGE] : undefined, - responseMimeType: isGenerateImageModel(model) ? 'text/plain' : undefined, + responseModalities: canGenerateImage ? [Modality.TEXT, Modality.IMAGE] : undefined, + responseMimeType: canGenerateImage ? 'text/plain' : undefined, safetySettings: this.getSafetySettings(model.id), // generate image don't need system instruction - systemInstruction: isGemmaModel(model) || isGenerateImageModel(model) ? undefined : systemInstruction, + systemInstruction: isGemmaModel(model) || canGenerateImage ? undefined : systemInstruction, temperature: assistant?.settings?.temperature, topP: assistant?.settings?.topP, maxOutputTokens: maxTokens,