From 1bf5a8840859be87a983b009551c9c5c5341d48c Mon Sep 17 00:00:00 2001 From: darkal Date: Tue, 31 Mar 2026 23:30:19 +0800 Subject: [PATCH] fix(gemini): filter out thought=true image parts in LiteLLM vertex parser Gemini image-preview models may return intermediate images during reasoning with `thought=true`. LiteLLM was including these images in final responses, resulting in multiple images returned. This patch filters out parts where `thought=true` during image extraction. --- .../llms/vertex_ai/gemini/vertex_and_google_ai_studio_gemini.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/litellm/llms/vertex_ai/gemini/vertex_and_google_ai_studio_gemini.py b/litellm/llms/vertex_ai/gemini/vertex_and_google_ai_studio_gemini.py index 36f51c5b2f5..40068c0416e 100644 --- a/litellm/llms/vertex_ai/gemini/vertex_and_google_ai_studio_gemini.py +++ b/litellm/llms/vertex_ai/gemini/vertex_and_google_ai_studio_gemini.py @@ -1431,6 +1431,8 @@ class VertexGeminiConfig(VertexAIBaseConfig, BaseConfig): """Extract image response from parts if present""" images: List[ImageURLListItem] = [] for part in parts: + if isinstance(part, dict) and part.get("thought") is True: + continue if "inlineData" in part: inline_data = part.get("inlineData", {}) mime_type = inline_data.get("mimeType", "")