From 62bfd6287130a70f67f127336e0577b7f5966ad5 Mon Sep 17 00:00:00 2001 From: hkfires <10558748+hkfires@users.noreply.github.com> Date: Sun, 23 Nov 2025 19:44:03 +0800 Subject: [PATCH] fix(aistudio): strip Gemini generation config overrides Remove generationConfig.maxOutputTokens, generationConfig.responseMimeType and generationConfig.responseJsonSchema from the Gemini payload in translateRequest so we no longer send unsupported or conflicting response configuration fields. This lets the backend or caller control response formatting and output limits and helps prevent potential API errors caused by these keys. --- internal/runtime/executor/aistudio_executor.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/internal/runtime/executor/aistudio_executor.go b/internal/runtime/executor/aistudio_executor.go index 8f78547b..9b59488f 100644 --- a/internal/runtime/executor/aistudio_executor.go +++ b/internal/runtime/executor/aistudio_executor.go @@ -319,6 +319,9 @@ func (e *AIStudioExecutor) translateRequest(req cliproxyexecutor.Request, opts c payload = util.StripThinkingConfigIfUnsupported(req.Model, payload) payload = fixGeminiImageAspectRatio(req.Model, payload) payload = applyPayloadConfig(e.cfg, req.Model, payload) + payload, _ = sjson.DeleteBytes(payload, "generationConfig.maxOutputTokens") + payload, _ = sjson.DeleteBytes(payload, "generationConfig.responseMimeType") + payload, _ = sjson.DeleteBytes(payload, "generationConfig.responseJsonSchema") metadataAction := "generateContent" if req.Metadata != nil { if action, _ := req.Metadata["action"].(string); action == "countTokens" {