Skip to content

Commit 7061cd6

Browse files
committed
fix(gemini): map responseModalities to uppercase IMAGE/TEXT
1 parent 5da5674 commit 7061cd6

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

internal/runtime/executor/gemini_cli_executor.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -703,7 +703,7 @@ func fixGeminiCLIImageAspectRatio(modelName string, rawJSON []byte) []byte {
703703
}
704704

705705
rawJSON, _ = sjson.SetRawBytes(rawJSON, "request.contents.0.parts", []byte(newPartsJson))
706-
rawJSON, _ = sjson.SetRawBytes(rawJSON, "request.generationConfig.responseModalities", []byte(`["Image", "Text"]`))
706+
rawJSON, _ = sjson.SetRawBytes(rawJSON, "request.generationConfig.responseModalities", []byte(`["IMAGE", "TEXT"]`))
707707
}
708708
}
709709
rawJSON, _ = sjson.DeleteBytes(rawJSON, "request.generationConfig.imageConfig")

internal/translator/gemini-cli/openai/chat-completions/gemini-cli_openai_request.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,15 +66,15 @@ func ConvertOpenAIRequestToGeminiCLI(modelName string, inputRawJSON []byte, _ bo
6666
}
6767

6868
// Map OpenAI modalities -> Gemini CLI request.generationConfig.responseModalities
69-
// e.g. "modalities": ["image", "text"] -> ["Image", "Text"]
69+
// e.g. "modalities": ["image", "text"] -> ["IMAGE", "TEXT"]
7070
if mods := gjson.GetBytes(rawJSON, "modalities"); mods.Exists() && mods.IsArray() {
7171
var responseMods []string
7272
for _, m := range mods.Array() {
7373
switch strings.ToLower(m.String()) {
7474
case "text":
75-
responseMods = append(responseMods, "Text")
75+
responseMods = append(responseMods, "TEXT")
7676
case "image":
77-
responseMods = append(responseMods, "Image")
77+
responseMods = append(responseMods, "IMAGE")
7878
}
7979
}
8080
if len(responseMods) > 0 {

internal/translator/gemini/openai/chat-completions/gemini_openai_request.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,15 +66,15 @@ func ConvertOpenAIRequestToGemini(modelName string, inputRawJSON []byte, _ bool)
6666
}
6767

6868
// Map OpenAI modalities -> Gemini generationConfig.responseModalities
69-
// e.g. "modalities": ["image", "text"] -> ["Image", "Text"]
69+
// e.g. "modalities": ["image", "text"] -> ["IMAGE", "TEXT"]
7070
if mods := gjson.GetBytes(rawJSON, "modalities"); mods.Exists() && mods.IsArray() {
7171
var responseMods []string
7272
for _, m := range mods.Array() {
7373
switch strings.ToLower(m.String()) {
7474
case "text":
75-
responseMods = append(responseMods, "Text")
75+
responseMods = append(responseMods, "TEXT")
7676
case "image":
77-
responseMods = append(responseMods, "Image")
77+
responseMods = append(responseMods, "IMAGE")
7878
}
7979
}
8080
if len(responseMods) > 0 {

0 commit comments

Comments
 (0)