#!/usr/bin/env python3 """测试 /api/hairGrow/v1 接口""" import base64, requests, sys img_path = "/home/xsl/change_hair/project/data/userImage/8488902485_20250630055547.jpg" mask_path = "/home/xsl/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/xsl/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)