diff --git a/comfy_api_nodes/nodes_gemini.py b/comfy_api_nodes/nodes_gemini.py index 25d747e76..2b77a022e 100644 --- a/comfy_api_nodes/nodes_gemini.py +++ b/comfy_api_nodes/nodes_gemini.py @@ -201,6 +201,16 @@ async def get_image_from_response(response: GeminiGenerateContentResponse, thoug returned_image = await download_url_to_image_tensor(part.fileData.fileUri) image_tensors.append(returned_image) if len(image_tensors) == 0: + if not thought: + # No images generated --> extract text response for a meaningful error + model_message = get_text_from_response(response).strip() + if model_message: + raise ValueError(f"Gemini did not generate an image. Model response: {model_message}") + raise ValueError( + "Gemini did not generate an image. " + "Try rephrasing your prompt or changing the response modality to 'IMAGE+TEXT' " + "to see the model's reasoning." + ) return torch.zeros((1, 1024, 1024, 4)) return torch.cat(image_tensors, dim=0) diff --git a/requirements.txt b/requirements.txt index d780b2f50..6f0659a00 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ comfyui-frontend-package==1.42.8 -comfyui-workflow-templates==0.9.38 +comfyui-workflow-templates==0.9.39 comfyui-embedded-docs==0.4.3 torch torchsde diff --git a/utils/mime_types.py b/utils/mime_types.py index 916e963c5..a173ad109 100644 --- a/utils/mime_types.py +++ b/utils/mime_types.py @@ -24,6 +24,7 @@ def init_mime_types(): # Web types (used by server.py for static file serving) mimetypes.add_type('application/javascript; charset=utf-8', '.js') mimetypes.add_type('image/webp', '.webp') + mimetypes.add_type('image/svg+xml', '.svg') # Model and data file types (used by asset scanning / metadata extraction) mimetypes.add_type("application/safetensors", ".safetensors")