diff --git a/open-sse/translator/helpers/geminiHelper.js b/open-sse/translator/helpers/geminiHelper.js index 283d26a5..77be2233 100644 --- a/open-sse/translator/helpers/geminiHelper.js +++ b/open-sse/translator/helpers/geminiHelper.js @@ -138,12 +138,16 @@ function convertConstToEnum(obj) { } } -// Convert enum values to strings (Gemini requires string enum values) +// Convert enum values to strings (Gemini requires string enum values + explicit type:"string") function convertEnumValuesToStrings(obj) { if (!obj || typeof obj !== "object") return; if (obj.enum && Array.isArray(obj.enum)) { obj.enum = obj.enum.map(v => String(v)); + // Gemini API requires type:"string" when enum is present — without it returns 400 + if (!obj.type) { + obj.type = "string"; + } } for (const value of Object.values(obj)) {