El mayor problema al compartir workflows de ComfyUI no es el JSON. Es todo lo que el JSON no contiene: modelos, custom nodes, rutas de archivos y versiones específicas. Cuando un usuario descarga tu workflow y lo abre, lo primero que ve es un canvas lleno de nodos rojos. La mayoría abandona ahí. El formato del JSON y la resolución de nodos faltantes están documentados en la documentación oficial de ComfyUI y en el propio repositorio de ComfyUI-Manager, que es la herramienta que resuelve automáticamente la mayoría de nodos rojos.
Esta guía resuelve eso. Al final tienes un proceso para convertir cualquier workflow en un recurso publicable que otros puedan abrir, configurar y usar.
🏗️ Plantilla: Validación de Workflow ComfyUI
Por qué los workflows fallan al compartirse
Cuando instalas ComfyUI y añades nodos personalizados, todo funciona porque tienes el ecosistema completo. El JSON que exportas, en cambio, solo guarda el grafo: qué nodos hay, cómo están conectados, qué valores tienen los parámetros. Nada más. No exporta:
- Los archivos de modelo (checkpoints, VAEs, LoRAs, ControlNets).
- Los custom nodes instalados (extensiones de terceros).
- Las rutas exactas donde tienes los modelos.
- La versión de ComfyUI o de cada extensión.
Cuando otro usuario abre ese JSON en su ComfyUI, todo lo que no existe en su instalación aparece como nodo rojo o no carga. El flujo completo falla aunque el JSON sea técnicamente correcto.
Documentar las dependencias es el paso que separa un workflow personal de un recurso que alguien más puede usar.
Paso 1 — Limpiar el workflow antes de exportar
El canvas tiene que estar limpio antes de tocar nada más. Un canvas desordenado genera documentación incompleta — es fácil pasar por alto un nodo de prueba que tiene una dependencia real. Eso significa que el usuario instala todo lo que documentaste y el workflow sigue roto por algo que olvidaste.
- Elimina nodos de prueba que no forman parte del flujo principal — notas, visualizadores temporales, ramas alternativas desconectadas.
- Organiza los nodos en grupos con nombres descriptivos. Una convención útil:
01 Modelos02 Prompt03 Sampling04 Decode05 Export
- Nombra el archivo con una convención clara:
nombre-workflow-comfylab.json. Evita nombres genéricos comoworkflow_v3_final_final.json. - Documenta el seed si quieres que el usuario vea exactamente el mismo resultado de ejemplo.
Con el canvas ordenado, la documentación tarda menos y el usuario entiende el flujo de un vistazo.
Paso 2 — Detectar custom nodes
Abre el workflow en ComfyUI Manager y revisa qué nodos no son nativos.
Método rápido con ComfyUI Manager:
- Abre ComfyUI Manager → Install Missing Custom Nodes.
- Si aparece algún paquete listado, ese es un custom node que el usuario necesita instalar.
- Anota el nombre del paquete y el repositorio de GitHub.
Método manual con el JSON:
Abre el JSON en un editor de texto y busca el campo "type" dentro de cada nodo:
{
"type": "VHS_VideoCombine",
...
}
Los nodos nativos de ComfyUI tienen tipos como KSampler, CLIPTextEncode, VAEDecode, CheckpointLoaderSimple, LoadImage, SaveImage. Cualquier otro tipo es probablemente un custom node.
Script de Node.js para listar todos los tipos de nodo:
import fs from "node:fs";
const file = process.argv[2];
const workflow = JSON.parse(fs.readFileSync(file, "utf8"));
const nodes = workflow.nodes ?? [];
const types = [...new Set(nodes.map((n) => n.type).filter(Boolean))].sort();
console.log("Tipos de nodo en el workflow:");
for (const type of types) {
console.log(` - ${type}`);
}
console.log(`\nTotal de nodos: ${nodes.length}`);
console.log(`Tipos únicos: ${types.length}`);
Uso:
node listar-nodos.js mi-workflow.json
Compara la lista contra los nodos nativos de ComfyUI. Todo lo que no reconozcas es una dependencia que necesita documentación.
Paso 3 — Identificar modelos necesarios
Busca en el JSON estos campos que indican archivos de modelo:
.safetensors
.ckpt
.gguf
.pt
También revisa los widgets_values de los nodos de carga: CheckpointLoaderSimple, VAELoader, LoraLoader, ControlNetLoader, UNETLoader, DualCLIPLoader.
Para cada modelo que encuentres necesitas documentar:
- Nombre exacto del archivo tal como aparece en el JSON.
- Carpeta donde debe colocarse (
checkpoints/,vae/,loras/,controlnet/, etc.). - Dónde descargarlo (Hugging Face, Civitai, repositorio oficial).
Presta atención al nombre exacto. wan2.1-i2v-14B-720p.safetensors y wan2_1_i2v_14B.safetensors son archivos distintos para ComfyUI, aunque el modelo sea el mismo. Si el nombre no coincide carácter a carácter, el selector aparece vacío.
Paso 4 — Probar en instalación limpia
Esta es la prueba que no puedes saltarte. Abre el JSON en una instalación de ComfyUI donde no tengas tus custom nodes ni tus modelos. Puedes usar:
- Una segunda carpeta de ComfyUI en otro directorio.
- Un entorno Docker o venv separado.
- Una segunda máquina o cuenta.
El objetivo es reproducir exactamente lo que experimenta el usuario que descarga el workflow por primera vez. Si en esa instalación limpia algo falla, fallará para todos.
Documenta exactamente qué falta al abrirlo y qué hay que instalar para que funcione.
Paso 5 — Escribir el bloque de requisitos
Cada workflow publicable en ComfyLab lleva un bloque de requisitos en el artículo. Plantilla:
## Requisitos del workflow
### Modelos
| Archivo | Carpeta | Descarga |
|---------|---------|----------|
| modelo-principal.safetensors | models/checkpoints/ | [Hugging Face](url) |
| vae.safetensors | models/vae/ | [Hugging Face](url) |
| lora-opcional.safetensors | models/loras/ | [Civitai](url) |
### Custom nodes
| Paquete | Instalación |
|---------|-------------|
| ComfyUI-VideoHelperSuite | ComfyUI Manager o [GitHub](url) |
| ComfyUI-Impact-Pack | ComfyUI Manager o [GitHub](url) |
### Hardware probado
| GPU | Resolución | Frames/Settings | Resultado |
|-----|-----------|-----------------|-----------|
| RTX 3060 12GB | 832×480 | 33 frames | Funciona |
| RTX 4070 Ti 12GB | 832×480 | 49 frames | Funciona |
| RTX 4090 24GB | 1280×720 | 49 frames | Funciona |
Este bloque va inmediatamente después del hook introductorio, antes de empezar con los pasos del workflow.
Paso 6 — Crear variante low-VRAM
Para cada workflow con requisitos de más de 12GB VRAM, prepara una variante reducida:
- Resolución más baja (512×320 o 640×360 para vídeo, 768px para imagen).
- Menos steps (20-25 en lugar de 30-40).
- Modelo cuantizado si existe (GGUF Q4 o Q5).
- Sin upscalers secundarios.
- batch_size a 1.
Nombra el archivo con sufijo -low-vram: nombre-workflow-low-vram-comfylab.json.
Esto amplía el alcance del artículo a usuarios con GPUs de 6-8GB de VRAM. También reduce los comentarios de “no funciona con mi GPU” — que son los más difíciles de responder porque la causa puede ser cualquier cosa.
Checklist de validación antes de publicar
Antes de añadir el DownloadCard al artículo:
- El canvas está limpio (sin nodos de prueba desconectados).
- Los grupos están nombrados con la convención
01 Modelos,02 Prompt, etc. - El JSON parsea sin errores (
JSON.parseen Node.js o validador online). - La lista de custom nodes está completa y enlazada.
- La lista de modelos con nombre exacto y carpeta de destino está documentada.
- El workflow se ha abierto en una instalación limpia (o se ha revisado con Manager).
- Existe variante low-VRAM si el workflow requiere más de 12GB VRAM.
- El bloque de requisitos está en el artículo.
- El JSON está en
public/workflows/con nombrenombre-workflow-comfylab.json.
Integración con los artículos de ComfyLab
Este proceso de validación aplica a todos los workflows descargables del blog:
- Workflows de imagen → generación de imágenes con ComfyUI, FLUX Kontext
- Workflows de vídeo → Wan 2.1 I2V, generar vídeos con ComfyUI
- Workflows con errores frecuentes → ComfyUI missing nodes fix
- Workflows con modelos pesados → GPU para ComfyUI
Solución de problemas frecuentes al compartir
El usuario abre el JSON y todo aparece en rojo
Faltan custom nodes. La lista en el artículo no estaba completa, o el usuario no la leyó. Añade un aviso visible antes del DownloadCard: “Antes de descargar, instala estos custom nodes con ComfyUI Manager.” Sin ese aviso, la mitad de los usuarios descarga primero y lee después.
Los nodos cargan pero el modelo no aparece en el selector
El nombre del modelo en el JSON no coincide exactamente con el nombre del archivo que el usuario descargó. Documenta el nombre exacto del archivo, incluyendo guiones, puntos y mayúsculas. wan2.1-i2v-14B-720p.safetensors no es lo mismo que wan2_1_i2v_14B.safetensors.
ComfyUI Manager instala los nodos pero el workflow sigue fallando
Reinicia ComfyUI después de instalar extensiones. Si sigue fallando, el problema suele ser de versiones — documenta la versión de ComfyUI con la que probaste el workflow.
El workflow funciona pero da CUDA Out of Memory
El usuario tiene menos VRAM de la que indica el requisito mínimo. Si tienes variante low-VRAM, enlázala directamente en ese punto del artículo. Si no, añade una tabla de configuraciones alternativas con resoluciones reducidas.
Documentar bien un workflow tarda 15-20 minutos extra por artículo. Esos 20 minutos eliminan el 80% de los comentarios de “no funciona”. La diferencia en percepción es inmediata: un workflow con requisitos claros y checklist de instalación transmite que alguien lo probó de verdad antes de publicarlo. Uno que aparece para descargar sin contexto, no.
Siguientes pasos en ComfyUI
Primeros pasos
Preguntas frecuentes
- ¿Un JSON de ComfyUI incluye los modelos?
- No. El JSON guarda únicamente nodos, conexiones y parámetros. Los modelos (.safetensors, .ckpt, .gguf), VAEs, LoRAs y custom nodes deben estar instalados por separado en cada instalación de ComfyUI.
- ¿Cómo sé qué custom nodes necesita un workflow?
- Abre el JSON en ComfyUI. Los nodos de extensiones aparecen en rojo o con un aviso de tipo desconocido. Abre ComfyUI Manager → Install Missing Custom Nodes y te lista todo lo que falta. También puedes revisar el JSON manualmente buscando tipos de nodo que no sean los nativos.
- ¿Por qué un workflow funciona en mi PC pero falla en otra?
- Porque tu instalación tiene custom nodes, rutas de modelos y versiones específicas que la otra no tiene. El JSON asume que el entorno es idéntico al tuyo. Sin documentación de dependencias, el usuario tiene que descubrir qué falta por ensayo y error.
- ¿Tengo que probar el workflow en una instalación limpia?
- Lo ideal sí. Una instalación limpia revela exactamente qué dependencias das por sentadas. Si no tienes una, al menos abre el JSON con el Manager en modo revisión y documenta cada nodo no nativo que aparezca.