docs(ml): fix doc gap controlnet (.pth → _fp16.safetensors) + capability page comfyui completa

- comfyui_build_controlnet_workflow.md: el ejemplo usaba cn_name=control_v11p_sd15_canny.pth
  pero el modelo instalado es control_v11p_sd15_canny_fp16.safetensors. Corregido para que
  copia+pega funcione. Firma intacta.
- docs/capabilities/comfyui.md: añadida subsección "Lifecycle del server — dominio infra"
  con comfyui_ensure_server_py_infra (faltaba: página 48 vs registry 49). Ahora 49 == 49.

Higiene del grupo comfyui (report local 0104): tests de los builders puros flux/img2vid
verificados (10/10 pasan, suite del grupo 65/65), fn doctor uses-functions sin drift.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-24 12:09:04 +02:00
parent 11ef8ef6db
commit 2fe36e314e
2 changed files with 7 additions and 1 deletions
+6
View File
@@ -33,6 +33,12 @@ El **API format** (dict de nodos numerados que produce `build_txt2img_workflow`
## Funciones del grupo
### Lifecycle del server — dominio `infra`
| ID | Firma corta | Qué hace |
|---|---|---|
| [comfyui_ensure_server_py_infra](../../python/functions/infra/comfyui_ensure_server.md) | `ensure_server(*, port=8188, lowvram=None, health_timeout=60, comfyui_dir='~/ComfyUI', unit_name='comfyui', runner=None) -> dict` | Garantiza que ComfyUI corre como servicio **systemd-user resiliente y sano**: genera/instala el unit (`Restart=always`, `--lowvram` autodetectado en GPUs ≤ 8 GB), daemon-reload + enable + start, y verifica salud por GET `/system_stats`. Idempotente; migra limpio un ComfyUI lanzado a mano (SIGTERM, nunca SIGKILL). Solo stdlib, no lanza excepciones → dict de estado. Prerequisito de todas las funciones HTTP. Impura. |
### Por API HTTP — dominio `ml`
| ID | Firma corta | Qué hace |
@@ -54,7 +54,7 @@ from ml.comfyui_build_controlnet_workflow import comfyui_build_controlnet_workfl
wf = comfyui_build_controlnet_workflow(
ckpt_name="dreamshaper_8.safetensors",
control_image="pose_canny.png", # mapa de control en input/
cn_name="control_v11p_sd15_canny.pth", # modelo en models/controlnet/
cn_name="control_v11p_sd15_canny_fp16.safetensors", # modelo en models/controlnet/
positive="a knight in shining armor, dramatic lighting",
negative="blurry, low quality",
strength=0.8,