Invita y gana

Cómo funcionan las recompensas

Comparte tu enlace. Cuando un amigo se registre con él y recargue saldo, recibirás la recompensa indicada por sus recargas posteriores.

Cómo reparar un flujo de ComfyUI roto con Claude

Un proceso práctico para recuperar un flujo antiguo de ComfyUI que dejó de funcionar tras una actualización: conservar el JSON y los registros, probar el flujo predeterminado, usar Claude para clasificar el fallo, editar solo una copia y verificar una imagen guardada de verdad.

Índice
Cómo reparar un flujo de ComfyUI roto con Claude

No le pidas a Claude que reescriba todo el flujo desde el principio. Conserva el JSON original en formato de guardado y los errores exactos, demuestra que un flujo predeterminado actual funciona con los nodos personalizados desactivados y, solo entonces, deja que Claude clasifique la evidencia disponible. Cambia una dependencia cada vez, reconstruye el grafo mínimo, ejecuta una imagen y comprueba personalmente que el resultado aparece en Save Image, se guarda y vuelve a abrirse.

Este método convierte el problema impreciso de que «ComfyUI ha cambiado» en capas verificables: núcleo de ComfyUI, extensiones del frontend, nodos personalizados, archivos de modelos o el propio grafo antiguo. La guía oficial de diagnóstico de ComfyUI también recomienda probar el flujo predeterminado, desactivar los nodos personalizados y leer el error exacto del terminal antes de aplicar una solución.

Secuencia de reparación resumida

  1. Conserva el flujo original en formato de guardado normal y no lo sobrescribas.
  2. Captura el informe completo, el registro de arranque, el tipo de instalación, las versiones y los cambios recientes.
  3. Desactiva todos los nodos personalizados y ejecuta el flujo de imagen predeterminado actual.
  4. Entrega a Claude un paquete de evidencia limitado; primero análisis, luego cambios o instalaciones.
  5. Clasifica el fallo como core, frontend, custom node, model o unknown.
  6. Actualiza o sustituye un nodo incompatible, o reconstruye un grafo mínimo actual.
  7. Ejecuta una imagen pequeña y verifica el archivo guardado real.

1. Congela el flujo y la evidencia antes de cambiar nada

Guarda el flujo antiguo como JSON normal y crea una copia de trabajo separada. Un directorio pequeño mantiene la investigación reproducible:

comfyui-repair-case/
  workflow-original.json
  workflow-working.json
  error-report.txt
  startup-log.txt
  environment.md

Trata workflow-original.json como solo lectura. Copia en error-report.txt todo el texto de Show report, no un resumen como «el nodo está roto». Guarda en startup-log.txt los fallos de importación, los conflictos de dependencias y los tracebacks del terminal de inicio. En environment.md, anota si usas Desktop, Portable o instalación manual; la versión de ComfyUI; sistema operativo; GPU; y si se actualizaron recientemente core, frontend, nodos personalizados o modelos.

Mantén además la diferencia entre Save format y API format. La página oficial Workflow API Format explica que un flujo guardado normalmente conserva posiciones, colores, grupos y otros metadatos de edición, mientras que el formato API es una representación más ligera para el envío programático. Conserva el original en formato normal para repararlo. Exporta una copia API distinta solo cuando la tarea realmente use una API.

2. Demuestra primero una base limpia de ComfyUI

El grafo antiguo no debe ser la primera prueba. Desactiva temporalmente los nodos de terceros. En Desktop puedes usar el ajuste correspondiente; una instalación manual suele iniciarse así:

python main.py --disable-all-custom-nodes

Carga la plantilla predeterminada actual Image Generation, selecciona un checkpoint compatible que ya aparezca en el selector y genera una imagen. La guía oficial de nodos personalizados plantea una división útil: si el problema desaparece con los nodos personalizados desactivados, uno de ellos está implicado; si persiste, investiga core, frontend, modelos o entorno.

Usa el resultado para elegir la siguiente rama:

Resultado de la baseCapa más probableSiguiente prueba
El flujo predeterminado no abre o no ejecutaInstalación core, frontend, modelo o hardwareRepara la base antes de editar el grafo antiguo
El predeterminado funciona, pero el antiguo muestra missing nodesNodos personalizados ausentes, renombrados o no cargadosRelaciona los tipos del JSON con sus paquetes
El grafo antiguo carga y falla en un nodoArquitectura del modelo, conexiones, dependencias o memoriaConserva el primer nodo fallido y el informe completo
La interfaz vuelve al desactivar extensiones frontendExtensión de terceros incompatibleReactívalas por mitades hasta aislar una

Si el flujo predeterminado falla, reescribir el JSON antiguo no demuestra ninguna reparación.

3. Da a Claude un paquete de evidencia acotado

Anthropic describe Claude Code como una herramienta capaz de leer una base de código, editar archivos y ejecutar comandos. Es útil, pero también significa que la primera pasada debe ser solo de análisis. Inicia Claude en el directorio del caso, o adjunta los mismos archivos en un chat, con límites como estos:

Estás diagnosticando un flujo de ComfyUI que dejó de funcionar tras una actualización.

Lee únicamente:
- workflow-original.json
- workflow-working.json
- error-report.txt
- startup-log.txt
- environment.md

Todavía no instales, actualices, elimines, renombres ni edites nada.
Primero:
1. Inventaría los tipos de nodos y los archivos de modelos referenciados.
2. Clasifica cada problema como ComfyUI core, frontend extension,
   custom node, model file o unknown.
3. Cita el campo JSON o la línea de error exacta detrás de cada conclusión.
4. Propón el cambio reversible más pequeño.
5. Espera mi aprobación antes de editar workflow-working.json.

No afirmes que está reparado hasta que yo ejecute una imagen y confirme el archivo guardado.

Una respuesta útil es una tabla de correspondencias: tipo de nodo antiguo, extensión propietaria, contrato de entradas y salidas, posible sustituto, traslado de parámetros, evidencia y riesgo. Si no puede establecer el propietario o sustituto, Claude debe marcarlo como unknown en lugar de deducirlo por un nombre parecido.

4. Clasifica el fallo en vez de actualizarlo todo

Nodo ausente: identifica primero a su propietario

Inspecciona el type, el título y las conexiones del nodo en el JSON de guardado normal. Los nombres parecidos no garantizan sockets ni valores de widgets compatibles, así que cambiar una cadena en JSON no es una migración segura. Averigua si pertenece al núcleo o a un repositorio concreto de custom nodes y compara entradas, salidas y parámetros antiguos y nuevos.

Si la extensión sigue mantenida, actualiza únicamente esa extensión y vuelve a probar. Si está abandonada, usa una alternativa mantenida o reconstruye esa función pequeña con nodos core. La guía oficial propone las mismas opciones: actualizar, sustituir, informar al autor o eliminar/desactivar el nodo.

Conflicto del frontend: desactiva y divide por mitades

Algunos custom nodes también inyectan extensiones frontend. Una interfaz en blanco, conexiones rotas, vistas previas ausentes o fallos de comunicación entre frontend y backend pueden proceder de esta capa. Desactiva primero las extensiones frontend de terceros. Si el síntoma desaparece, activa la mitad cada vez y repite. Esta búsqueda binaria mantiene la causalidad y es más segura que reinstalarlo todo.

Modelo ausente: revisa carpetas y rutas de búsqueda

Un grafo antiguo puede referirse a un checkpoint, VAE, LoRA o ControlNet eliminado, renombrado o movido. ComfyUI descubre los modelos en las carpetas categorizadas de ComfyUI/models/ y en las rutas configuradas en extra_model_paths.yaml. Si un selector está vacío o muestra null, verifica la ubicación real y después actualiza o reinicia ComfyUI. No cambies el nombre de un modelo incompatible solo para satisfacer un nombre antiguo.

Arquitectura incompatible: mira la familia, no solo el archivo

La guía oficial de problemas de modelos aconseja mantener los modelos de un flujo dentro de la misma familia de arquitectura. Mezclar checkpoint, VAE, codificador de texto o ControlNet de familias distintas puede producir errores de dimensiones durante el muestreo o la decodificación VAE. Claude puede relacionar el stack trace con el grafo, pero una plantilla oficial para la familia deseada es una base de compatibilidad más fiable.

5. Actualiza o sustituye un nodo en la copia de trabajo

Antes de aprobar una edición, pide a Claude este plan:

ElementoPregunta obligatoria
Nodo antiguo¿Cuál es el type exacto del JSON?
Propietario¿Es core, custom node o frontend extension?
Sustituto¿Coinciden los tipos de entrada y salida?
Migración de parámetros¿Qué valores se conservan y cuáles deben reconstruirse?
Reversión¿Cómo se restaura el workflow-working.json anterior?

Autoriza cambios solo en workflow-working.json y de uno en uno. Recarga tras cada edición y confirma que el nodo existe, las conexiones siguen válidas y los parámetros no se desplazaron antes del siguiente cambio. Un «actualizar todos los custom nodes» puede crear un segundo problema y destruye la evidencia de qué modificación funcionó.

Las páginas comunitarias ayudan a reconocer síntomas, pero no son diagnósticos universales. Por ejemplo, frontend issue #6328 y ComfyUI discussion #14344 son informes de usuarios concretos. Úsalos solo cuando coincidan la versión, el error y el contexto del nodo.

6. Reconstruye un eje mínimo y actual de imagen

Si el grafo antiguo contiene muchas ramas obsoletas de LoRA, ControlNet, ampliación, preview y utilidades, reparar todas a la vez es más arriesgado que recuperar el núcleo. Reconstrúyelo a partir del ejemplo mínimo oficial en formato Save de ComfyUI. No es una cadena en serie: varias salidas convergen en KSampler y VAEDecode recibe por separado el VAE del checkpoint.

Puerto de salidaPuerto de entrada
CheckpointLoaderSimple.MODELKSampler.model
CheckpointLoaderSimple.CLIPCLIPTextEncode.clip del prompt positivo
CheckpointLoaderSimple.CLIPCLIPTextEncode.clip del prompt negativo
CLIPTextEncode.CONDITIONING del prompt positivoKSampler.positive
CLIPTextEncode.CONDITIONING del prompt negativoKSampler.negative
EmptyLatentImage.LATENTKSampler.latent_image
KSampler.LATENTVAEDecode.samples
CheckpointLoaderSimple.VAEVAEDecode.vae
VAEDecode.IMAGESaveImage.images

EmptyLatentImage no recibe conditioning. KSampler necesita cuatro entradas independientes —model, positive, negative y latent_image—, mientras que VAEDecode necesita tanto samples como el vae del checkpoint. Solo después de conectar esos puertos como indica la tabla, el grafo mínimo puede entrar en cola y guardar una imagen.

Usa este cableado únicamente si la arquitectura del checkpoint elegido coincide con el ejemplo oficial. Un modelo nuevo puede exigir otro loader, text encoder, nodo latent o recorrido de VAE; en ese caso, sigue el workflow oficial de ese modelo en vez de forzar este grafo. Para la base, elige un checkpoint compatible que ya aparezca en Load Checkpoint, usa batch size 1 y una resolución moderada, y deja desconectadas las ramas opcionales antiguas. Cuando el eje funcione, añade un LoRA, ControlNet, ampliador o postprocesado personalizado y ejecuta otra prueba después de cada añadido.

La meta no es que el nuevo grafo se vea igual que el antiguo. Es obtener un eje actual probado y migrar solo las funciones que de verdad hacen falta. Claude puede comparar los JSON y preparar el mapa de migración, pero la ejecución sigue siendo la prueba de aceptación.

7. Ejecuta una imagen y verifica el resultado guardado

Un flujo que solo se abre no está reparado. Cierra el ciclo con la guía oficial de primera generación:

  1. Tras instalar o mover modelos, pulsa R para actualizar las listas, o reinicia si es necesario.
  2. Confirma que Load Checkpoint muestra un modelo visible y compatible.
  3. Pulsa Run o Ctrl + Enter.
  4. Espera a que termine la cola sin missing node, validation error ni nodo rojo fallido.
  5. Comprueba que la imagen aparece en Save Image.
  6. Haz clic derecho para guardarla localmente, registra el nombre y vuelve a abrirla en un visor.
  7. Opcionalmente, arrastra el PNG generado por ComfyUI de vuelta a la interfaz para comprobar sus metadatos de flujo incrustados.
  8. Guarda el grafo normal reparado como workflow-repaired.json y conserva intacto workflow-original.json.

El registro de aceptación debe incluir el nombre del flujo reparado, el archivo de imagen, el modelo, los custom nodes activos, las sustituciones y las limitaciones conocidas. Solo entonces «reparado» es un estado basado en pruebas.

Qué hacer si una rama sigue fallando

  • El flujo predeterminado falla con custom nodes desactivados: deja de editar el grafo antiguo y repara instalación, modelo, controlador o frontend.
  • El predeterminado funciona, pero el antiguo conserva missing nodes: continúa el mapeo de propietarios y sustitutos; no adivines renombrando tipos JSON.
  • El grafo carga, pero la generación falla: empieza por el primer nodo fallido de Show report; revisa familia del modelo y conexiones antes de culpar a la memoria.
  • El fallo vuelve al activar un grupo de extensiones: sigue dividiendo hasta dejar un custom node o frontend extension.
  • El nodo original ya no se mantiene: sustituye o reconstruye su función y documenta cualquier diferencia de comportamiento.
  • Claude no cita error ni campo JSON: trata la recomendación como hipótesis y no la ejecutes todavía.

Conclusión

Claude es más fiable aquí como organizador de evidencia y planificador de cambios que como botón de reparación automática sin verificar. El ciclo sólido es copia de seguridad → base limpia → clasificación → cambio mínimo → una imagen → verificación del archivo guardado. Conserva el grafo original, cambia una variable cada vez y deja que el resultado real de ComfyUI, no una explicación convincente, decida si la reparación terminó.

¿Quieres optimizar tu flujo de trabajo con LLM?

Conecta modelos mediante una API, gestiona claves y controla el gasto en IA.

Empezar gratis