Lógica del interruptor en ComfyUI: ¿Ejecutar o no ejecutar?

La lógica detrás del interruptor

Cuando utilizamos un interruptor (switch) en ComfyUI, el objetivo principal es controlar si la siguiente etapa del flujo de trabajo se procesa o no. La pregunta clave es: ¿cómo hacemos que el sistema decida ejecutar un nodo solo cuando queremos?

Un diagrama de flujo que representa nodos de software conectados en una interfaz de generación de imágenes.
Diagrama visual de la lógica condicional dentro de ComfyUI, mostrando cómo desviar el flujo para optimizar recursos.

1. Rutas condicionales con Selectores

La forma más común de manejar un interruptor es conectarlo a un nodo selector posterior. La lógica básica aquí es simple: si el switch está en ON, el selector toma la salida del nodo de procesamiento; si está en OFF, toma la entrada original.

Pista: Ten cuidado con este método. Aunque parezca que solo procesa una rama, ComfyUI podría estar calculando ambas ramas simultáneamente antes de decidir qué descartar. Esto puede consumir recursos innecesarios si no es lo que buscas.

2. Evaluación perezosa y ejecución condicional

Si tu objetivo es evitar que el nodo se ejecute por completo cuando está en OFF, necesitas un mecanismo de evaluación perezosa o lógica condicional real. En lugar de calcular la salida del nodo pesado y luego decidir ignorarla, el sistema debe verificar el estado del interruptor antes de iniciar el cálculo.

3. Aplicación práctica en workflows de video

Veamos un ejemplo concreto con procesamiento de video. Imagina que tienes un archivo de entrada y quieres aplicar o no Outpainting dependiendo del interruptor:

  • MODO OFF: El video pasa directamente al interruptor sin tocar el nodo pesado.
  • MODO ON: El flujo se desvía hacia el nodo de Outpainting antes de llegar a la salida final.

La implementación exacta depende del tipo de nodo que estés condicionando, pero entender esta diferencia entre «descartar después» y «no ejecutar» es fundamental para optimizar tus flujos de trabajo en ComfyUI.