refactor(接口3): 简化为只需划线图一张,去掉 original + best_hairline

按需求方意见——B端只需上传一张已画好发际线的图,用不着原图:
- 入参去掉 original_image_*,只保留 marked_image_*(三选一)
- 输出去掉 best_hairline_image_url,只返回 hair_growth_image_url + hairline_type
- ComfyUI 输入图改用 marked 划线图原样(add_hair.json 本就是"画了线的照片",
  提示词清除黑线);检测路径只用于建遮罩,不再重画干净线/不需对齐原图
- service.generate_grow_b 签名改 (marked_bgr) 单参
- 同步文档:接口文档/接口3技术方案/网关映射表(去掉接口3 best_hairline 行)
- 测试更新:grow-b 只传 marked,断言无 best_hairline 字段,44全绿

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
xsl
2026-06-15 10:28:13 +08:00
co-authored by Claude Opus 4.8
parent cd4ca278d4
commit bf76923591
6 changed files with 47 additions and 78 deletions
+12 -11
View File
@@ -230,28 +230,30 @@
## 接口 3B 端生发接口
**说明**输入医生/操作端的「划线图片」(在原图上标注目标发际线),输出最合适的发际线图片 + 生发后图片。
**说明**:医生/操作端在用户照片上用马克笔标注目标发际线后,**只需上传这一张划线图**。系统检测划线 →
据此生成生发后图片。
**请求**`POST /api/v1/hair/grow-b`
### 输入
划线图片同样支持「文件 / URL / base64」三种方式(字段:`marked_image_file` / `marked_image_url` / `marked_image_base64`)。
划线图片支持「文件 / URL / base64」三选一(字段:`marked_image_file` / `marked_image_url` / `marked_image_base64`)。
**不需要原始照片**(划线图本身就是用户照片 + 手绘线)。
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| marked_image_* | file / string | 是 | 已划线(标注发际线的图片,三选一 |
| original_image_* | file / string | 是 | 原始用户照片,需同时上传 |
| marked_image_* | file / string | 是 | 已用马克笔标注发际线的图片,三选一 |
### 输出(data
| 字段 | 类型 | 说明 |
|------|------|------|
| best_hairline_image_url | string | 最合适的发际线图片 |
| hair_growth_image_url | string | 生发后图片 |
| hairline_type | string | 发际线形,需返回 |
| hair_growth_image_url | string | **生发后图片**(检测划线 → ComfyUI/Flux「植发 3 个月」效果)。worker 返回 `hair_growth_image_base64` |
| hairline_type | string | 发际线形,手绘为定制,固定 `"custom"` |
### 响应示例(当前 Mock 返回值)
> 未检测到划线(或无人脸)返回 **1001**。
### 响应示例
```json
{
@@ -259,9 +261,8 @@
"message": "success",
"request_id": "mock-request-id",
"data": {
"best_hairline_image_url": "https://hair.xiangsilian.com/static/sample.jpg",
"hair_growth_image_url": "https://hair.xiangsilian.com/static/sample.jpg",
"hairline_type": "花瓣形"
"hair_growth_image_url": "https://hair.xiangsilian.com/static/annotations/grown.png",
"hairline_type": "custom"
}
}
```