This commit is contained in:
kyj@bowong.ai 2025-07-28 11:48:15 +08:00
parent e3773e29d7
commit a46b76f76d
1 changed files with 18 additions and 29 deletions

View File

@ -209,8 +209,8 @@ class ModalMidJourneyGenerateImage:
return {
"required": {
"prompt": ("STRING", {"default": "一幅宏大壮美的山川画卷", "multiline": True}),
"endpoint": ("STRING", {"default": "bowongai-dev--text-video-agent-fastapi-app.modal.run"}),
"timeout": ("INT", {"default": 120, "min": 10, "max": 600}),
"endpoint": ("STRING", {"default": "bowongai-test--text-video-agent-fastapi-app.modal.run"}),
"timeout": ("INT", {"default": 300, "min": 10, "max": 1200}),
},
"optional": {
"image": ("IMAGE",),
@ -225,8 +225,7 @@ class ModalMidJourneyGenerateImage:
def process(self, prompt: str, endpoint: str, timeout: int, **kwargs):
try:
logger.info("请求异步接口")
interval = 2
logger.info("请求同步接口")
format = "PNG"
if "image" in kwargs and kwargs["image"] is not None:
image = kwargs["image"]
@ -235,24 +234,16 @@ class ModalMidJourneyGenerateImage:
f'image/{format.lower()}')}
else:
files = None
job_resp = send_request("post", f"https://{endpoint}/api/302/mj/async/generate/image?prompt={prompt}",
job_resp = send_request("post", f"https://{endpoint}/api/union/img/sync/generate/image",
headers={'Authorization': 'Bearer bowong7777'},
data={"prompt": prompt},
files=files,
timeout=150)
timeout=timeout)
job_resp.raise_for_status()
job_resp = job_resp.json()
if not job_resp["status"]:
raise Exception("生成失败, 可能因为风控")
job_id = job_resp["data"]
for _ in range(0, timeout // interval, interval):
logger.info("查询结果")
resp = send_request("get", f"https://{endpoint}/api/302/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"]
result_url = job_resp["data"]
if isinstance(result_url, list):
result_list = []
for url in result_url:
@ -262,8 +253,6 @@ class ModalMidJourneyGenerateImage:
return (result_list,)
logger.success("img_url: " + result_url)
return (url_to_tensor(result_url),)
sleep(interval)
raise Exception("等待超时")
except Exception as e:
raise e
@ -274,7 +263,7 @@ class ModalMidJourneyDescribeImage:
return {
"required": {
"image": ("IMAGE",),
"endpoint": ("STRING", {"default": "bowongai-dev--text-video-agent-fastapi-app.modal.run"}),
"endpoint": ("STRING", {"default": "bowongai-test--text-video-agent-fastapi-app.modal.run"}),
},
}
@ -293,7 +282,7 @@ class ModalMidJourneyDescribeImage:
files={"img_file": (
'image.' + format.lower(), tensor_to_image_bytes(image, format),
f'image/{format.lower()}')},
timeout=150)
timeout=300)
job_resp.raise_for_status()
job_resp = job_resp.json()
if not job_resp["status"]: