From 3192a9b4afc7bf4f7377237ddce298b696930f13 Mon Sep 17 00:00:00 2001 From: "kyj@bowong.ai" Date: Mon, 14 Jul 2025 11:43:41 +0800 Subject: [PATCH] =?UTF-8?q?FIX=20midjourney=E8=8A=82=E7=82=B9=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E4=BF=AE=E5=9B=BE=E8=8A=82=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __init__.py | 2 +- nodes/image_modal_nodes.py | 24 +++++++++++++++--------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/__init__.py b/__init__.py index 557d9bd..e758f5b 100644 --- a/__init__.py +++ b/__init__.py @@ -83,6 +83,6 @@ NODE_DISPLAY_NAME_MAPPINGS = { "JMGestureCorrect": "人物侧身图片转为正面图-即梦", "ModalClothesMask": "模特指定衣服替换为指定颜色", "ModalEditCustom": "自定义Prompt修改图片", - "ModalMidJourneyGenerateImage": "Prompt生图", + "ModalMidJourneyGenerateImage": "Prompt修图", "ModalMidJourneyDescribeImage": "描述图片内容" } diff --git a/nodes/image_modal_nodes.py b/nodes/image_modal_nodes.py index d232fe2..7984a35 100644 --- a/nodes/image_modal_nodes.py +++ b/nodes/image_modal_nodes.py @@ -202,6 +202,7 @@ class ModalMidJourneyGenerateImage: return { "required": { "prompt": ("STRING", {"default": "一幅宏大壮美的山川画卷", "multiline": True}), + "image": ("IMAGE",), "endpoint": ("STRING", {"default": "bowongai-dev--bowong-ai-video-gemini-fastapi-webapp.modal.run"}), }, } @@ -212,15 +213,19 @@ class ModalMidJourneyGenerateImage: OUTPUT_NODE = False CATEGORY = "不忘科技-自定义节点🚩/图片/Midjourney" - def process(self, prompt: str, endpoint: str): + def process(self, prompt: str, image:torch.Tensor, endpoint: str): try: logger.info("请求同步接口") + format = "PNG" job_resp = send_request("post", f"https://{endpoint}/mj_router/sync/generate/image", headers={'Authorization': 'Bearer bowong7777'}, data={ "prompt": prompt, }, - timeout=60) + files={"img_file": ( + 'image.' + format.lower(), tensor_to_image_bytes(image, format), + f'image/{format.lower()}')}, + timeout=150) job_resp.raise_for_status() job_resp = job_resp.json() if "失败" in job_resp["msg"] or "fail" in job_resp["msg"] or "error" in job_resp["msg"]: @@ -236,7 +241,7 @@ class ModalMidJourneyDescribeImage: def INPUT_TYPES(cls): return { "required": { - "img_url": ("STRING", {"default": "https://vcg03.cfp.cn/creative/vcg/800/new/VCG41N948031096.jpg", "multiline": True}), + "image": ("IMAGE",), "endpoint": ("STRING", {"default": "bowongai-dev--bowong-ai-video-gemini-fastapi-webapp.modal.run"}), }, } @@ -247,15 +252,16 @@ class ModalMidJourneyDescribeImage: OUTPUT_NODE = False CATEGORY = "不忘科技-自定义节点🚩/图片/Midjourney" - def process(self, img_url: str, endpoint: str): + def process(self, image: torch.Tensor, endpoint: str): try: logger.info("请求同步接口") - job_resp = send_request("post", f"https://{endpoint}/mj_router/sync/describe/image", + format = "PNG" + job_resp = send_request("post", f"https://{endpoint}/mj_router/sync/describe/image/file", headers={'Authorization': 'Bearer bowong7777'}, - data={ - "image_url": img_url, - }, - timeout=60) + files={"img_file": ( + 'image.' + format.lower(), tensor_to_image_bytes(image, format), + f'image/{format.lower()}')}, + timeout=150) job_resp.raise_for_status() job_resp = job_resp.json() if "失败" in job_resp["msg"] or "fail" in job_resp["msg"] or "error" in job_resp["msg"]: