| comfyui_inject_ipadapter |
function |
py |
ml |
1.0.0 |
pure |
def comfyui_inject_ipadapter(workflow: dict, ref_image: str, *, mode: str = "style", weight: float = 0.8, preset: str | None = None, weight_type: str | None = None, start_at: float = 0.0, end_at: float = 1.0, weight_faceidv2: float = 1.0, lora_strength: float = 0.6, combine_embeds: str = "concat", embeds_scaling: str = "V only", provider: str = "CPU", model_node: str | None = None) -> dict |
Inyecta una rama IPAdapter (LoadImage + UnifiedLoader + IPAdapter, modo style o faceid) en un workflow ComfyUI ya construido (API format), repuntando el KSampler.model al MODEL condicionado por una imagen de referencia. La fuente del MODEL es la que hoy alimenta el KSampler (tras las LoRAs, no el checkpoint crudo). Version ENCADENABLE-sobre-dict del builder comfyui_build_ipadapter_workflow; reutiliza sus defaults de preset/weight_type. Pensada para componerse con inject_lora/inject_controlnet/inject_hires_fix. Pura: no muta el dict de entrada. |
| comfyui |
| comfyui-skill |
| ml |
| ipadapter |
| faceid |
| stable-diffusion |
| workflow |
|
| comfyui_build_ipadapter_workflow_py_ml |
|
|
|
false |
|
|
| name |
desc |
| workflow |
dict en API format (ej. salida de comfyui_build_txt2img_workflow, posiblemente con LoRAs). No se muta; se devuelve una copia. |
|
| name |
desc |
| ref_image |
Nombre del archivo de imagen de referencia en input/ del servidor. En faceid debe contener una cara nitida; en style es la imagen de estilo. No puede estar vacio (raise ValueError). |
|
| name |
desc |
| mode |
'style' (transfiere estilo/composicion) o 'faceid' (rostro consistente via insightface + FaceID). keyword-only. |
|
| name |
desc |
| weight |
Peso de la influencia IPAdapter (0..1+). 0.8 buen punto de partida. keyword-only. |
|
| name |
desc |
| preset |
Preset del UnifiedLoader. None = default del modo ('STANDARD (medium strength)' style, 'FACEID PLUS V2' faceid). keyword-only. |
|
| name |
desc |
| weight_type |
Tipo de ponderacion del nodo IPAdapter/FaceID. None = default del modo ('standard' style, 'linear' faceid). keyword-only. |
|
| name |
desc |
| start_at |
Fraccion del sampling donde empieza a aplicar IPAdapter (0..1). keyword-only. |
|
| name |
desc |
| end_at |
Fraccion del sampling donde deja de aplicar (0..1). keyword-only. |
|
| name |
desc |
| weight_faceidv2 |
Peso del embedding FaceID v2 (solo mode='faceid'). keyword-only. |
|
| name |
desc |
| lora_strength |
Fuerza de la LoRA FaceID que carga el UnifiedLoaderFaceID (solo faceid). keyword-only. |
|
| name |
desc |
| combine_embeds |
Como combinar embeddings si hay varias caras ('concat'|'add'|...). Solo faceid. keyword-only. |
|
| name |
desc |
| embeds_scaling |
Escalado de embeddings ('V only'|'K+V'|...). Solo faceid. keyword-only. |
|
| name |
desc |
| provider |
Backend de insightface ('CPU'|'CUDA'|...). CPU por defecto para no competir por VRAM. Solo faceid. keyword-only. |
|
| name |
desc |
| model_node |
node_id cuya salida MODEL (slot 0) alimentara la rama IPAdapter. None = detecta la fuente del KSampler.model (CheckpointLoader como fallback). keyword-only. |
|
|
copia del workflow con LoadImage + (UnifiedLoader|UnifiedLoaderFaceID) + (IPAdapter|IPAdapterFaceID) insertados y el KSampler.model repuntado a la salida MODEL de la rama IPAdapter. node_ids = max id numerico + 1/2/3. |
true |
| mode style inyecta IPAdapterUnifiedLoader + IPAdapter y repunta KSampler.model |
| mode faceid inyecta IPAdapterUnifiedLoaderFaceID + IPAdapterFaceID |
| la rama toma el MODEL actual del KSampler (tras loras, no el checkpoint) |
| respeta weight/preset/weight_type |
| no muta el dict de entrada (pureza) |
| mode invalido lanza ValueError |
| ref_image vacio lanza ValueError |
| api format valido |
|
python/functions/ml/tests/test_comfyui_inject_ipadapter.py |
python/functions/ml/comfyui_inject_ipadapter.py |