fix(接口2): female 1..5 换发型分支重绘透传 prompt(此前固定为默认值)

- generate_grow_results_swap 换发型分支 _call_local_redraw 补传 prompt,
  自定义提示词现可替换工作流节点60文本(与 male / female 6/7 行为一致);
  prompt 不进 change_hair(swapHair),仅作用于最后一步 ComfyUI 发际线带重绘
- 默认值不变仍为「填充遮罩区域的头发」,CLIP 缓存快路径不受影响;
  换词后首次请求因缓存失效重载明显变慢(实测 45s vs 命中 8s),后续恢复
- 文档同步:接口文档.md prompt 参数说明更新
This commit is contained in:
xsl
2026-09-14 14:37:51 +08:00
parent 10eecba2f0
commit 59e01d3230
2 changed files with 7 additions and 3 deletions
+6 -2
View File
@@ -315,7 +315,10 @@ def generate_grow_results_swap(image_bgr: np.ndarray, hair_styles: list[int] | N
一致的原生生发(ComfyUI add_hair),由 _grow_native_one 完成(黑模板 + inpaint 遮罩)。
overlay 仍是发际线曲线透明层(与 generate_grow_results 完全一致)。
prompt 仅用于原生生发分支(换发型分支的提示词由 redraw 流程内部固定)。
prompt 两条分支都生效:换发型分支传入 _call_local_redraw,原生生发分支传给
_grow_native_one。None/默认「填充遮罩区域的头发」时与全局 _REDRAW_PROMPT 一致,
不破坏 CLIP 缓存命中的快路径;传不同提示词会使缓存失效并重载 CLIP/Flux
(实测换词后首次请求重绘 45s vs 缓存命中 8s),后续相同提示词恢复快路径。
Returns: list[dict] {"hairline_type","order","overlay","grown_png"(jpg bytes 或 None)};
无人脸返回 None。单个发型换发型/重绘失败时 grown_png=None,不抛异常。
"""
@@ -389,7 +392,8 @@ def generate_grow_results_swap(image_bgr: np.ndarray, hair_styles: list[int] | N
_tr0 = _t.perf_counter()
grown_png = _call_local_redraw(final_bytes, mask_bytes,
max_side=redraw_max_side,
unet_name=unet_name)
unet_name=unet_name,
prompt=prompt)
_tr1 = _t.perf_counter()
_tm = data.get("timings_ms") or {}
logger.info("接口2女 分段计时 type=%s: swapHair管线=%.2fs (mask=%dms swap=%dms blend=%dms), ComfyUI重绘=%.2fs",