统一改为「填充遮罩区域的头发」,涉及后端默认值、ComfyUI 工作流 JSON、 测试页、benchmark 脚本、local_test。 Co-authored-by: Cursor <cursoragent@cursor.com>
43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
#!/usr/bin/env python3
|
|
"""Test script: send image+mask to the local service and save result."""
|
|
import requests
|
|
import sys
|
|
import os
|
|
|
|
SERVICE_URL = "http://127.0.0.1:8899"
|
|
IMAGE_PATH = "/home/ubuntu/hair/local_test/用来重绘.jpg"
|
|
MASK_PATH = "/home/ubuntu/hair/local_test/用来重绘.png"
|
|
OUTPUT_DIR = "/home/ubuntu/hair/local_test/output"
|
|
|
|
os.makedirs(OUTPUT_DIR, exist_ok=True)
|
|
|
|
print(f"Sending image: {IMAGE_PATH}")
|
|
print(f"Sending mask: {MASK_PATH}")
|
|
|
|
with open(IMAGE_PATH, "rb") as f:
|
|
img_data = f.read()
|
|
with open(MASK_PATH, "rb") as f:
|
|
mask_data = f.read()
|
|
|
|
resp = requests.post(
|
|
f"{SERVICE_URL}/api/generate",
|
|
files={
|
|
"image": ("original.jpg", img_data, "image/jpeg"),
|
|
"mask": ("mask.png", mask_data, "image/png"),
|
|
},
|
|
data={"prompt": "填充遮罩区域的头发"},
|
|
timeout=600,
|
|
)
|
|
|
|
print(f"Status: {resp.status_code}")
|
|
print(f"Content-Type: {resp.headers.get('Content-Type')}")
|
|
|
|
if resp.status_code == 200 and "image" in resp.headers.get("Content-Type", ""):
|
|
out_path = os.path.join(OUTPUT_DIR, "result.png")
|
|
with open(out_path, "wb") as f:
|
|
f.write(resp.content)
|
|
print(f"SUCCESS! Result saved to: {out_path}")
|
|
else:
|
|
print(f"FAILED! Response: {resp.text[:2000]}")
|
|
sys.exit(1)
|