From a65baab6f7ed71e458b30da4daffc4010f2b6d35 Mon Sep 17 00:00:00 2001 From: JueMing Date: Thu, 21 Aug 2025 22:31:10 +0800 Subject: [PATCH] fix bug --- nodes/multi_image2image.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/nodes/multi_image2image.py b/nodes/multi_image2image.py index 005da23..6b69876 100644 --- a/nodes/multi_image2image.py +++ b/nodes/multi_image2image.py @@ -113,26 +113,42 @@ class KLingAIMultiImage2Image: def image_to_base64(self, image): """将ComfyUI图像转换为base64字符串(与image_generation.py保持一致)""" if image is None: + print("图像输入为None") return None try: + print(f"输入图像类型: {type(image)}") + if hasattr(image, 'shape'): + print(f"输入图像形状: {image.shape}") + # 处理tensor格式的图像 if isinstance(image, torch.Tensor): pil_image = self.tensor_to_pil(image) if pil_image is None: + print("tensor_to_pil返回None") return None + print(f"PIL图像尺寸: {pil_image.size}") + print(f"PIL图像模式: {pil_image.mode}") else: # 原来的处理方法 (已不再使用,保留以防万一) img = Image.fromarray((image[0] * 255).astype('uint8'), 'RGB') pil_image = img + print(f"备用方法PIL图像尺寸: {pil_image.size}") # 转换为base64 buffered = io.BytesIO() pil_image.save(buffered, format="JPEG") - return base64.b64encode(buffered.getvalue()).decode("utf-8") + image_bytes = buffered.getvalue() + print(f"JPEG图像字节大小: {len(image_bytes)}") + + base64_result = base64.b64encode(image_bytes).decode("utf-8") + print(f"Base64结果长度: {len(base64_result)}") + return base64_result except Exception as e: print(f"图像转换base64错误: {str(e)}") + import traceback + traceback.print_exc() return None def download_and_convert_image(self, image_url, filename_prefix, output_dir, index=0): @@ -193,6 +209,8 @@ class KLingAIMultiImage2Image: # 转换主体图片1为base64 if subject_image1 is not None: image1_base64 = self.image_to_base64(subject_image1) + print(f"主体图片1 Base64转换结果长度: {len(image1_base64) if image1_base64 else 0}") + print(f"主体图片1 Base64前50字符: {image1_base64[:50] if image1_base64 else 'None'}") if not image1_base64: raise ValueError("主体图片1转换为base64失败") subject_image_list.append({"subject_image": image1_base64}) @@ -245,6 +263,8 @@ class KLingAIMultiImage2Image: # 处理场景参考图 if scene_image is not None: scene_base64 = self.image_to_base64(scene_image) + print(f"场景图片 Base64转换结果长度: {len(scene_base64) if scene_base64 else 0}") + print(f"场景图片 Base64前50字符: {scene_base64[:50] if scene_base64 else 'None'}") if scene_base64: payload["scene_image"] = scene_base64 # 使用正确的scene_image参数名 print("添加了场景参考图")