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"]: