3.0 KiB
3.0 KiB
GPU Worker 改动说明
测试页面已新增字段,worker 侧需对应接收并使用。
涉及接口
| 接口 | 路径 | 新增字段 |
|---|---|---|
| 接口 2(C端生发) | POST /api/v1/hair/grow |
prompt |
| 接口 3(B端生发) | POST /api/v1/hair/grow-b |
prompt |
1. 新增 prompt 参数
接口 2(/api/v1/hair/grow)
Handler 签名新增:
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 签名新增:
prompt: str = Form(default="补充遮罩区域的头发", description="ComfyUI 提示词,会替换工作流节点60的文本"),
透传链路:
handler → generate_grow_b(marked, use_mask, prompt)
→ comfyui.run(buf, prompt=prompt)
hairline/comfyui.py 改动
- 新增节点常量:
_PROMPT_NODE = "60" # JjkText:提示词
run()函数签名改为:
def run(rgba_png_bytes: bytes, timeout: float = COMFY_TIMEOUT, prompt: str = None) -> bytes:
- 在
run()内部,注入图片和 seed 之后(约第81行后)加入:
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 参数后将替换此文本。