From e30f375355505d407dfd8b93b716eaecbccd1a14 Mon Sep 17 00:00:00 2001 From: pandy <1272175942@qq.com> Date: Fri, 20 Mar 2026 00:25:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=8A=82=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | Bin 251 -> 277 bytes gittools.py | 590 ++++++++++++++++++++++++++++++++ py/IMGE_GeminiNode_apikey.py | 22 +- py/IMGE_GeminiNode_authtoken.py | 22 +- py/IMGE_GeminiPro_apikey.py | 14 +- py/IMGE_GeminiPro_authtoken.py | 14 +- 6 files changed, 646 insertions(+), 16 deletions(-) create mode 100644 gittools.py diff --git a/.gitignore b/.gitignore index d50b56d7d7e1898cd917df864dc808c129b8075b..600fab2a50e208b1cdf296d5a8c14fe49477c104 100644 GIT binary patch delta 9 Qcmey(IF)I_?}-nk02fXKs{jB1 delta 6 NcmbQr^qX 14: print(f"[GEMINI_PRO_APIKEY] Warning: Only first 14 images will be used (provided {images.shape[0]})") + # Files 输入处理 + if files: + for file_part in files: + if hasattr(file_part, "model_dump"): + parts.append(file_part.model_dump(exclude_none=True)) + else: + parts.append(file_part) + print(f"[GEMINI_PRO_APIKEY] Added file part") + # 生成配置 generation_config = { "responseModalities": ["IMAGE"] if response_modalities == "IMAGE" else ["TEXT", "IMAGE"] @@ -290,5 +300,5 @@ NODE_CLASS_MAPPINGS = { } NODE_DISPLAY_NAME_MAPPINGS = { - "PDGeminiProImageGenAPIKey": "PD: Gemini Pro Image (apikey)" + "PDGeminiProImageGenAPIKey": "PD: Gemini Pro Image (ComfyUI Key)" } diff --git a/py/IMGE_GeminiPro_authtoken.py b/py/IMGE_GeminiPro_authtoken.py index 2a606f2..26f240c 100644 --- a/py/IMGE_GeminiPro_authtoken.py +++ b/py/IMGE_GeminiPro_authtoken.py @@ -93,6 +93,7 @@ class PDGeminiProImageGenAuthToken: "images": ("IMAGE", { "tooltip": "Optional reference image(s) (up to 14)" }), + "files": ("GEMINI_INPUT_FILES", ), "system_prompt": ("STRING", { "multiline": True, "default": GEMINI_IMAGE_SYS_PROMPT, @@ -109,7 +110,7 @@ class PDGeminiProImageGenAuthToken: FUNCTION = "generate_image" CATEGORY = "PD_Tools/Image_Generation" - def generate_image(self, auth_token, prompt, model, aspect_ratio, resolution, response_modalities, seed, unique_id, images=None, system_prompt=""): + def generate_image(self, auth_token, prompt, model, aspect_ratio, resolution, response_modalities, seed, unique_id, images=None, files=None, system_prompt=""): """生成图片""" print(f"[GEMINI_PRO_AUTHTOKEN] ========== 开始执行 ==========") @@ -152,6 +153,15 @@ class PDGeminiProImageGenAuthToken: if images.shape[0] > 14: print(f"[GEMINI_PRO_AUTHTOKEN] Warning: Only first 14 images will be used (provided {images.shape[0]})") + # Files 输入处理 + if files: + for file_part in files: + if hasattr(file_part, "model_dump"): + parts.append(file_part.model_dump(exclude_none=True)) + else: + parts.append(file_part) + print(f"[GEMINI_PRO_AUTHTOKEN] Added file part") + # 生成配置 generation_config = { "responseModalities": ["IMAGE"] if response_modalities == "IMAGE" else ["TEXT", "IMAGE"] @@ -296,5 +306,5 @@ NODE_CLASS_MAPPINGS = { } NODE_DISPLAY_NAME_MAPPINGS = { - "PDGeminiProImageGenAuthToken": "PD: Gemini Pro Image (comfyui_AuthToken)" + "PDGeminiProImageGenAuthToken": "PD: Gemini Pro Image (ComfyUI AuthToken)" }