39 lines
1.3 KiB
Python
39 lines
1.3 KiB
Python
#!/usr/bin/env python3
|
|
"""测试 /api/hairGrow/v1 接口"""
|
|
import base64, requests, sys
|
|
|
|
img_path = "/home/ubuntu/change_hair/project/data/userImage/8488902485_20250630055547.jpg"
|
|
mask_path = "/home/ubuntu/change_hair/project/logs/hairgrow_test_mask.png"
|
|
|
|
with open(img_path, "rb") as f:
|
|
img_b64 = "data:image/jpeg;base64," + base64.b64encode(f.read()).decode()
|
|
with open(mask_path, "rb") as f:
|
|
mask_b64 = "data:image/png;base64," + base64.b64encode(f.read()).decode()
|
|
|
|
payload = {
|
|
"img": img_b64,
|
|
"mask": mask_b64,
|
|
"strength": 0.5,
|
|
"output_format": "base64"
|
|
}
|
|
|
|
print("=== 调用 /api/hairGrow/v1 (strength=0.5) ===")
|
|
import time
|
|
t0 = time.time()
|
|
try:
|
|
r = requests.post("http://127.0.0.1:8801/api/hairGrow/v1", json=payload, timeout=180)
|
|
d = r.json()
|
|
print(f"HTTP {r.status_code} | msg={d.get('msg')} | state={d.get('state')} | 耗时={time.time()-t0:.1f}s")
|
|
result = d.get("result", "")
|
|
if d.get("state") == 0 and result:
|
|
out = "/home/ubuntu/change_hair/project/logs/test_hairgrow_api_result.jpg"
|
|
with open(out, "wb") as f:
|
|
f.write(base64.b64decode(result))
|
|
print(f"✅ 生发成功! 结果图: {out}")
|
|
else:
|
|
print(f"❌ 失败: {d}")
|
|
sys.exit(1)
|
|
except Exception as e:
|
|
print(f"❌ 异常: {e}")
|
|
sys.exit(1)
|