save code

This commit is contained in:
Ubuntu
2026-06-17 23:27:34 +08:00
parent c15a3c2e15
commit 24da4eae6f
3 changed files with 106 additions and 0 deletions
+96
View File
@@ -0,0 +1,96 @@
# GPU Worker 改动说明
测试页面已新增字段,worker 侧需对应接收并使用。
## 涉及接口
| 接口 | 路径 | 新增字段 |
|------|------|----------|
| 接口 2C端生发) | `POST /api/v1/hair/grow` | `prompt` |
| 接口 3B端生发) | `POST /api/v1/hair/grow-b` | `prompt` |
## 1. 新增 `prompt` 参数
### 接口 2`/api/v1/hair/grow`
Handler 签名新增:
```python
prompt: str = Form(default="补充遮罩区域的头发", description="ComfyUI 提示词,会替换工作流节点60的文本"),
```
透传链路:
```
handler → generate_grow_results(image, gender, use_mask, prompt)
→ comfyui.run(buf, prompt=prompt)
```
### 接口 3`/api/v1/hair/grow-b`
Handler 签名新增:
```python
prompt: str = Form(default="补充遮罩区域的头发", description="ComfyUI 提示词,会替换工作流节点60的文本"),
```
透传链路:
```
handler → generate_grow_b(marked, use_mask, prompt)
→ comfyui.run(buf, prompt=prompt)
```
### `hairline/comfyui.py` 改动
1. 新增节点常量:
```python
_PROMPT_NODE = "60" # JjkText:提示词
```
2. `run()` 函数签名改为:
```python
def run(rgba_png_bytes: bytes, timeout: float = COMFY_TIMEOUT, prompt: str = None) -> bytes:
```
3.`run()` 内部,注入图片和 seed 之后(约第81行后)加入:
```python
if prompt is not None:
wf[_PROMPT_NODE]["inputs"]["text"] = prompt
```
### `hairline/service.py` 改动
两个服务函数各加一个 `prompt` 参数,透传给 `comfyui.run()`
- `generate_grow_results(image_bgr, gender, use_mask=True, prompt=None)` — 两处 `comfyui.run(buf.getvalue())` 都改为 `comfyui.run(buf.getvalue(), prompt=prompt)`
- `generate_grow_b(marked_bgr, use_mask=True, prompt=None)``comfyui.run(buf.getvalue())` 改为 `comfyui.run(buf.getvalue(), prompt=prompt)`
## 2. 已有字段回顾
`use_mask``prompt` 测试页面均已就绪,表单字段一览:
| 接口 | 字段 | 类型 | 默认值 | 说明 |
|------|------|------|--------|------|
| 2 | `image_file` | file | — | 用户照片(三选一) |
| 2 | `image_url` | string | — | 同上 |
| 2 | `image_base64` | string | — | 同上 |
| 2 | `gender` | string | `female` | `male` / `female` |
| 2 | `use_mask` | bool | `true` | inpaint 遮罩开关 |
| 2 | `prompt` | string | `补充遮罩区域的头发` | ComfyUI 提示词 |
| 3 | `marked_image_file` | file | — | 划线图(三选一) |
| 3 | `marked_image_url` | string | — | 同上 |
| 3 | `marked_image_base64` | string | — | 同上 |
| 3 | `use_mask` | bool | `true` | 画发际线开关 |
| 3 | `prompt` | string | `补充遮罩区域的头发` | ComfyUI 提示词 |
## 3. 当前工作流提示词节点
`add_hair.json` 中节点 **60**`JjkText`)为提示词节点,当前硬编码文本:
> 补充遮罩区补充遮罩区域内的头发,头发填满遮罩区域。发际线往下挡住额头
`comfyui.run()` 收到 `prompt` 参数后将替换此文本。