FIX midjourney修图改为异步
This commit is contained in:
parent
c8eabc01fc
commit
5fee351bbd
|
|
@ -203,7 +203,8 @@ class ModalMidJourneyGenerateImage:
|
|||
"required": {
|
||||
"prompt": ("STRING", {"default": "一幅宏大壮美的山川画卷", "multiline": True}),
|
||||
"image": ("IMAGE",),
|
||||
"endpoint": ("STRING", {"default": "bowongai-dev--bowong-ai-video-gemini-fastapi-webapp.modal.run"}),
|
||||
"endpoint": ("STRING", {"default": "bowongai-dev--text-video-agent-fastapi-app.modal.run"}),
|
||||
"timeout": ("INT", {"default": 120, "min": 10, "max": 600}),
|
||||
},
|
||||
}
|
||||
|
||||
|
|
@ -213,15 +214,13 @@ class ModalMidJourneyGenerateImage:
|
|||
OUTPUT_NODE = False
|
||||
CATEGORY = "不忘科技-自定义节点🚩/图片/Midjourney"
|
||||
|
||||
def process(self, prompt: str, image:torch.Tensor, endpoint: str):
|
||||
def process(self, prompt: str, image:torch.Tensor, endpoint: str, timeout: int):
|
||||
try:
|
||||
logger.info("请求同步接口")
|
||||
logger.info("请求异步接口")
|
||||
interval = 2
|
||||
format = "PNG"
|
||||
job_resp = send_request("post", f"https://{endpoint}/mj_router/sync/generate/image",
|
||||
job_resp = send_request("post", f"https://{endpoint}/api/mj/async/generate/image?prompt={prompt}",
|
||||
headers={'Authorization': 'Bearer bowong7777'},
|
||||
data={
|
||||
"prompt": prompt,
|
||||
},
|
||||
files={"img_file": (
|
||||
'image.' + format.lower(), tensor_to_image_bytes(image, format),
|
||||
f'image/{format.lower()}')},
|
||||
|
|
@ -230,9 +229,20 @@ class ModalMidJourneyGenerateImage:
|
|||
job_resp = job_resp.json()
|
||||
if "失败" in job_resp["msg"] or "fail" in job_resp["msg"] or "error" in job_resp["msg"]:
|
||||
raise Exception("生成失败")
|
||||
result_url = job_resp["data"]
|
||||
job_id = job_resp["data"]
|
||||
for _ in range(0, timeout//interval, interval):
|
||||
logger.info("查询结果")
|
||||
resp = send_request("get", f"https://{endpoint}/api/mj/async/query/status?task_id={job_id}",
|
||||
headers={'Authorization': 'Bearer bowong7777'}, timeout=30)
|
||||
resp.raise_for_status()
|
||||
if resp.json()["status"]:
|
||||
if "fail" in resp.json()["msg"]:
|
||||
raise Exception("生成失败,可能因为风控")
|
||||
result_url = resp.json()["data"]
|
||||
logger.success("img_url: "+result_url)
|
||||
return (url_to_tensor(result_url),)
|
||||
sleep(interval)
|
||||
raise Exception("等待超时")
|
||||
except Exception as e:
|
||||
raise e
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue