ComfyUI para usuarios A1111: grafo, nodos, atajos, hábitos
Guía de grafo de nodos para migrantes de A1111: lee el grafo, cinco nodos iniciales, atajos de teclado y hábitos que evitan flujos rotos.
On this page
ComfyUI para usuarios A1111: grafo, nodos, atajos, hábitos
TL;DR
- ComfyUI es un grafo de nodos — cada caja es una operación discreta (cargar, codificar, muestrear, decodificar) con cables tipados (MODEL, CLIP, VAE, CONDITIONING, LATENT, IMAGE). Conceptos core
- Comienza con cinco nodos: Load Checkpoint → CLIP Text Encode (×2) → KSampler → VAE Decode → Save Image. Primera generación
- Aprende cuatro atajos:
Ctrl+Enter(a la cola),Ctrl+B(bypass),R(actualizar),Espacio+arrastrar (desplazar). README - Adopta dos hábitos: respalda los flujos antes de editar y usa
--disable-all-custom-nodespara aislar problemas. Troubleshooting docs
¿Por qué ComfyUI parece ajeno tras Automatic1111?
Automatic1111 presenta pestañas y deslizadores; ComfyUI presenta un grafo acíclico dirigido — cajas conectadas por cables donde cada nodo realiza una operación. Los datos fluyen de izquierda a derecha mediante tensores tipados.
Si has usado un editor de nodos en Nuke, Blender o Unreal, piensa en ello como un entorno de programación visual de bloques reutilizables.
Esta arquitectura significa:
- Ves todo el pipeline — sin txt2img/pestañas/extras.
- La reutilización está integrada — cualquier subgrafo se guarda, comparte o elimina.
- Ejecución perezosa — solo vuelve a ejecutar los nodos cuyas entradas cambiaron.
Core concepts: "a collection of program objects called nodes that are connected to each other, forming a network", where "only parts of the graph that change from each execution to the next will be executed". Source
Leyendo el grafo: tipos de datos y dirección
Cada cable transporta un tensor tipado (pasa el cursor para ver). Los seis tipos que vas a encontrar:
| Tipo | ¿Qué transporta? | Producido por | Consumido por |
|---|---|---|---|
MODEL | Red de denoising (UNet) | Load Checkpoint | KSampler, ControlNet Apply |
CLIP | Codificador de texto | Load Checkpoint | CLIP Text Encode |
VAE | Conversor LATENT↔píxel | Load Checkpoint | VAE Decode, VAE Encode |
CONDITIONING | Embeddings de prompt | CLIP Text Encode | KSampler |
LATENT | Tensor de imagen comprimido | Empty Latent Image, KSampler | KSampler, VAE Decode |
IMAGE | Tensor píxel (H×W×3) | VAE Decode, Load Image | Save Image, Preview Image |
Direction rule: los datos fluyen output → input. Un cable rojo indica incompatibilidad de tipo — pasa el cursor para ver el esperado vs. el actual. Source
Los cinco nodos para text-to-image
Olvida la biblioteca de nodos. Arrastra estas al lienzo en orden:
- Load Checkpoint (
CheckpointLoaderSimple) — selecciona el archivo.safetensors. Salida:MODEL,CLIP,VAE. CheckpointLoaderSimple docs - CLIP Text Encode (×2) — prompts positivo y negativo. Recibe
CLIP, salidaCONDITIONING. - KSampler — el nodo de denoising. Recibe
MODEL, ambosCONDITIONINGs, unLATENT(de Empty Latent Image), másseed,steps,cfg,sampler_name,scheduler,denoise. Salida:LATENTcon denoising aplicado. - VAE Decode — convierte
LATENT→IMAGEusando la VAE del paso 1. - Save Image — escribe el
IMAGEen disco y muestra un preview. Primera generación
Cables de izquierda a derecha: Checkpoint → (CLIP a ambas Text Encode) → (MODEL + ambos CONDITIONING + LATENT al KSampler) → (LATENT del KSampler + VAE a VAE Decode) → (IMAGE a Save Image).
Cheat sheet de parámetros
| Parámetro | Nodo | Valor inicial | ¿Por qué importa? |
|---|---|---|---|
ckpt_name | Load Checkpoint | v1-5-pruned-emaonly-fp16.safetensors | Arquitectura y pesos del modelo |
cfg | KSampler | 8.0 | Adherencia al prompt; >10 suele quemar |
sampler_name | KSampler | euler_ancestral | Rápido; prueba dpmpp_2m para calidad |
scheduler | KSampler | normal | karras puede afilar los detalles |
denoise | KSampler | 1.0 | 1.0 = txt2img; <1.0 = img2img |
Source: KSampler embedded docs, tutorial de primera generación.
Atajos de teclado para aprender el primer día
ComfyUI incluye un juego completo de atajos (documentado en el README de GitHub). Los que ahorran más fricción a los migrantes de A1111:
| Acción | Atajo | ¿Cuándo lo usas? |
|---|---|---|
| Colar prompt | Ctrl + Enter | Reemplaza al gran botón naranja de Generar |
| Cancelar generación | Ctrl + Alt + Enter | Detener un trabajo descontrolado |
| Deshacer / rehacer | Ctrl + Z / Ctrl + Y | La edición de grafo es destructiva; el deshacer te salva |
| Saltar nodos seleccionados | Ctrl + B | Desactiva ControlNet/IP-Adapter sin borrar |
| Agrupar nodos | Ctrl + G | Colapsa clusters visuales |
| Desplazar lienzo | Espacio + arrastrar | Evita arrastrar cables por error |
| Ajustar vista | . (punto) | Enmarca todo el grafo al instante |
| Actualizar grafo | R | Recarga tras añadir checkpoints nuevos |
Tres ajustes de UI que cambiar ahora:
- Configuración → Comfy → Menú → Usar menú nuevo: ACTIVO — barra lateral con Recursos, Nodos, Modelos, Flujos, Plantillas. Leer más
- Configuración → Comfy → Idioma — admite EN, ZH, RU, FR, JA, KO.
Hábitos que previenen flujos rotos
1. Respalda antes de reconectar
Arrastra un archivo .json del flujo sobre el lienzo para cargarlo. Antes de mover nodos, pulsa Ctrl+S. El archivo original se queda intacto; estás editando la copia viva del navegador.
Source: "It's easy to break stuff and not necessarily easy to fix." — Civitai artículo 9471
2. Usa la herramienta mano para navegar
Barra inferior derecha: pulsa el ícono de flecha para alternar modo mano. En modo mano, desplazas sin seleccionar o mover nodos. El modo flecha te permite reconectar cables — pero un arrastre descuidado mueve un nodo y desordena cables. Civitai 9471
3. Aísla fallos de nodos personalizados con búsqueda binaria
Cuando un flujo lanza cajas rojas o "ModuleNotFoundError":
- Arranca con
python main.py --disable-all-custom-nodes. - Si funciona, reactiva la mitad de tus nodos personalizados, reinicia y prueba.
- Repite hasta localizar el culpable.
Comfy CLI automatiza esto: comfy-cli node bisect start → marca bueno/malo → comfy-cli node bisect reset. Source
4. Lee las cajas rojas de izquierda a derecha
Busca ese archivo en tu disco (Windows: Everything de Voidtools es excelente). Colócalo en la carpeta que referencia el menú, pulsa R para actualizar y selecciónalo.
5. Prefiere CheckpointLoaderSimple
El viejo CheckpointLoader pide la configuración y el checkpoint por separado. CheckpointLoaderSimple necesita solo el nombre del checkpoint y divide MODEL/CLIP/VAE automáticamente. El nodo legacy está deprecado. CheckpointLoaderSimple docs
6. Salta, no borres
¿Necesitas comparar con/sin ControlNet? Selecciona el nodo y pulsa Ctrl+B. Se atenúa y los cables pasan. Pulsa Ctrl+B de nuevo para volver a habilitar. Borrar obliga a reconectar cables. Source: "Bypass selected nodes (acts like the node was removed from the graph and the wires reconnected through)."
Errores comunes y soluciones
| Síntoma | Causa probable | Solución |
|---|---|---|
ModuleNotFoundError: No module named 'xyz' | Dependencia del nodo personalizado faltante o entorno Python incorrecto | Ejecuta pip install -r requirements.txt dentro de la carpeta del nodo, o usa Manager → Install Missing Nodes |
| Caja roja en Load Checkpoint, desplegable vacío | El checkpoint no está en models/checkpoints/ | Mueve el .safetensors ahí y pulsa R |
| KSampler corre pero Save Image no muestra nada | Cable faltante hacia VAE Decode o VAE sin conectar | Conecta KSampler → VAE Decode → Save Image; conecta la VAE desde Load Checkpoint |
| PyTorch no compilado con CUDA | Instalación solo-CPU de PyTorch | Reinstala: pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu130 |
| Nodos faltantes (cajas grises "Unknown") | Nodos personalizados no instalados | Manager → Install Missing Nodes; o clona el repositorio Git en custom_nodes/ |
| Imagen generada es un color sólido | denoise muy bajo o cfg extremo | Pon denoise=1.0 para txt2img; mantén cfg entre 5–9 |
FAQ
¿Cuáles son los nodos más importantes de ComfyUI para principiantes?
Load Checkpoint, CLIP Text Encode (positivo + negativo), KSampler, VAE Decode, Save Image. Esos cinco forman cada pipeline de text-to-image. Todo lo demás — ControlNet, IP-Adapter, upscalers — se conecta a esta espina. Leer más
¿Cómo cargas un modelo en ComfyUI sin conocer el nombre de archivo?
Suelta un .safetensors en ComfyUI/models/checkpoints/ (o una subcarpeta). Pulsa R en el lienzo. El menú desplegable de Load Checkpoint se actualiza y muestra el nuevo archivo.
¿Cuál es la diferencia entre los nodos LATENT e IMAGE?
Empty Latent Image crea un tensor comprimido en blanco que KSampler somete a denoising. VAE Decode convierte ese LATENT en un IMAGE (píxeles). Save Image lo escribe en disco. Nunca ves píxeles hasta después de VAE Decode.
¿Cómo paso de ControlNet sin borrar el nodo?
Selecciona el nodo y pulsa Ctrl+B. Se grisaha y los cables pasan. Pulsa Ctrl+B de nuevo para volver a habilitar.
¿Qué hace el parámetro 'seed'?
Seed inicializa el tensor de ruido aleatorio. Misma seed + mismas entradas = salida idéntica. control_after_generate ofrece random, increment/decrement y fixed.
¿Por qué mi flujo devuelve resultados en caché en lugar de regenerar?
ComfyUI solo vuelve a ejecutar nodos cambiados. Si ninguna entrada varía, devuelve la salida en caché. Cambia un prompt, seed o parámetro para forzar la reejecución.