11 de noviembre de 2026 · Equipo de VRAMfarm
ComfyUI en una GPU alquilada: tus modelos, LoRA, nodos personalizados y el error 502
Pulsaste Abrir ComfyUI un minuto después del lanzamiento y te salió un error 502 o una página en blanco. No hay nada roto: en un servidor nuevo, ComfyUI primero se instala (unos 5 minutos en el primer lanzamiento) y después una app lista para usar descarga entre 7 y 70 GB de modelos en segundo plano. El panel te avisa cuando de verdad está listo; mientras tanto, un par de comandos en la terminal te dicen por dónde va.
App lista para usar o ComfyUI vacío
Las dos opciones son gratis; solo pagas el tiempo de GPU, desde 0,59 € la hora en una RTX 4090, y el tráfico de lo que descarga el servidor. La diferencia está en lo que se descarga por ti.
| Opción al lanzar | Qué se descarga solo | Tamaño | VRAM mínima |
|---|---|---|---|
| ComfyUI vacío | ComfyUI y un checkpoint pequeño de SD 1.5 para probar | ~2 GB | 6–8 GB |
| SDXL | SDXL base 1.0 | ~7 GB | 12 GB |
| Flux | Flux.1 schnell, fp8 | ~17 GB | 16 GB |
| HiDream | HiDream-O1 dev, fp8, con su codificador de texto | ~18 GB | 24 GB |
| Qwen-Image | Qwen-Image, codificador de texto, VAE, LoRA de 4 pasos | ~32 GB | 24 GB |
| Qwen Image Edit | Qwen-Image-Edit, codificador de texto, VAE, LoRA de 4 pasos | ~33 GB | 24 GB |
| Vídeo Wan 2.2 5B | Wan 2.2 TI2V 5B, codificador de texto, VAE | ~17 GB | 24 GB |
| Vídeo Wan 2.2 14B | Parejas de texto a vídeo e imagen a vídeo, LoRA de 4 pasos | ~70 GB | 48 GB |
Elige una app lista para usar cuando tu modelo esté en la lista: los archivos acaban en las carpetas correctas y el workflow integrado correspondiente funciona a la primera. Elige el ComfyUI vacío cuando traigas tu propio montaje, por ejemplo un checkpoint de SD 1.5 o de Pony sacado de Civitai. Si tu checkpoint se basa en SDXL (Pony, Illustrious y la mayoría de los ajustes finos de SDXL), la app de SDXL también es un buen punto de partida, porque el VAE y el workflow base ya están ahí.
Para comparar tarjetas, consulta qué GPU elegir para Flux, SDXL y ComfyUI o la página de la plantilla de ComfyUI.
¿Cuándo está listo ComfyUI? Error 502, página en blanco y modelos que faltan
Un lanzamiento pasa por tres fases, y cada una tiene su síntoma si abres la página demasiado pronto.
- Arranca la máquina (normalmente 2–5 minutos). Se activan SSH y Jupyter. La dirección de ComfyUI todavía no responde.
- ComfyUI se instala y arranca (unos minutos más). La dirección devuelve 502 o una página en blanco hasta que el proceso de ComfyUI está escuchando.
- Se descargan los modelos, archivo a archivo. La interfaz ya funciona y los modelos van apareciendo en las listas a medida que llegan. Si ejecutas un workflow ahora, verás «missing model», «Value not in list» o una lista de problemas, porque el archivo aún no está. Wan 2.2 14B es el lento: unos 70 GB, hasta 10–15 minutos.
El panel muestra cuándo está lista la app y te envía una notificación, así que lo más sencillo es esperarla. Si prefieres comprobarlo tú, abre Jupyter → File → New → Terminal y ejecuta:
tail -n 20 /workspace/comfyui.log # "To see the GUI go to: http://0.0.0.0:8188" significa que la interfaz está en marcha
find /workspace/ComfyUI/models -name "*.part" # los archivos que aún se descargan terminan en .part
du -sh /workspace/ComfyUI/models # compáralo con el tamaño de la app en la tabla de arriba
tail -n 30 /workspace/gf-install.log # errores de instalación, si ComfyUI no llega a arrancar
Si el log termina con un error de Python en vez de con la línea «To see the GUI», ComfyUI no ha arrancado; envía a soporte las últimas líneas de los dos logs. Si el log muestra esa línea pero la página sigue dando 502, ComfyUI acaba de levantarse: espera un minuto y recarga.
Esperar cuesta dinero, así que conviene saber cuánto. La fase 1 es gratis: la facturación empieza cuando el servidor está listo, de modo que la instalación y la descarga de modelos de las fases 2 y 3 se facturan por minuto. Esperar 15 minutos por Wan 14B en una RTX A6000 cuesta unos 0,18 €, más el tráfico de 70 GB de modelos con la tarifa de la máquina.
Empieza con una plantilla de workflow integrada
En ComfyUI, abre Workflow → Browse Templates. Las plantillas están agrupadas por tarea: texto a imagen, edición de imagen, vídeo, escalado y más. Con una app lista para usar, la plantilla de ese modelo (Flux schnell, SDXL, Qwen-Image, Wan 2.2, etc.) usa exactamente los archivos que hemos descargado, así que puedes pulsar Run en cuanto termine la descarga.
Otras plantillas pueden necesitar modelos que no tienes. En ese caso ComfyUI muestra un diálogo con cada archivo que falta y la carpeta a la que pertenece. En la versión de navegador, el botón de descarga de ese diálogo guarda el archivo en tu ordenador, no en el servidor. Copia el enlace y descárgalo en el servidor, como se explica en la siguiente sección.
Los workflows que guardas en la barra lateral izquierda se almacenan en /workspace/ComfyUI/user/default/workflows, así que viajan con la carpeta guardada.
Añade tus propios checkpoints y LoRA
Todo vive en /workspace/ComfyUI/models/. La carpeta decide qué nodo puede ver el archivo:
| Carpeta | Qué va ahí | Lo carga |
|---|---|---|
checkpoints |
Archivos de modelo todo en uno (SD 1.5, SDXL, Pony) | Load Checkpoint |
diffusion_models |
Pesos del modelo sin codificadores (Flux dev, Wan, Qwen-Image) | Load Diffusion Model |
text_encoders |
Codificadores CLIP, T5, UMT5, Qwen-VL | Load CLIP, DualCLIPLoader |
vae |
Archivos VAE | Load VAE |
loras |
LoRA | LoraLoader |
controlnet |
Modelos de ControlNet | Load ControlNet Model |
upscale_models |
ESRGAN y escaladores parecidos | Load Upscale Model |
embeddings |
Textual inversions | se usan en el prompt como embedding:name |
Descarga directamente en el servidor desde la terminal de Jupyter. En Hugging Face, copia el enlace resolve del archivo, no el enlace blob: el enlace blob es una página web, y wget guardaría 50 KB de HTML con nombre .safetensors.
cd /workspace/ComfyUI/models/loras
wget -O my-style.safetensors "https://huggingface.co/<user>/<repo>/resolve/main/<file>.safetensors"
Para repositorios completos o modelos con acceso restringido, es más cómoda la herramienta de línea de comandos de Hugging Face:
pip install -U huggingface_hub
hf download <user>/<repo> <file>.safetensors --local-dir /workspace/ComfyUI/models/checkpoints
# modelos con acceso restringido (Flux dev y otros): primero acepta la licencia en la web y después
export HF_TOKEN=<your read token>
Los enlaces de Civitai suelen necesitar tu propio token de API al final de la URL (?token=...) y un nombre de archivo, porque la URL de descarga no lo lleva: wget -O model.safetensors "https://civitai.com/api/download/models/<id>?token=<token>".
Los archivos de tu portátil se suben con el botón de subida de Jupyter o con scp, usando el host y el puerto del comando SSH de Mis servidores (guía de la clave SSH). Con archivos de varios gigas, descargar desde el origen suele ser muchísimo más rápido que subirlos desde casa.
Cuando el archivo esté en su sitio, pulsa R en ComfyUI o recarga la página, y aparecerá en el desplegable del nodo. Las descargas cuentan como tráfico con la tarifa por GB que la máquina muestra antes del lanzamiento.
Nodos personalizados sin ComfyUI Manager preinstalado
En nuestros servidores no viene instalado ComfyUI Manager. Puedes añadirlo tú en un minuto, o saltártelo e instalar los nodos directamente. Las dos cosas se hacen en la terminal de Jupyter.
Instalar ComfyUI Manager:
cd /workspace/ComfyUI/custom_nodes
git clone https://github.com/Comfy-Org/ComfyUI-Manager comfyui-manager
pip install -r comfyui-manager/requirements.txt
O instalar un solo nodo directamente:
cd /workspace/ComfyUI/custom_nodes
git clone https://github.com/<author>/<node-repo>
pip install -r <node-repo>/requirements.txt # si el repositorio lo incluye
ComfyUI solo carga los nodos nuevos al arrancar, así que reinícialo:
pkill -f "main.py --listen"
cd /workspace/ComfyUI && nohup python main.py --listen 0.0.0.0 --port 8188 > /workspace/comfyui.log 2>&1 &
Recarga la pestaña del navegador al cabo de unos 30 segundos. Con el Manager instalado tienes un botón Manager; su opción Install Missing Custom Nodes es la solución más rápida cuando el workflow de otra persona se abre con nodos en rojo. El Manager tiene niveles de seguridad y, como aquí ComfyUI escucha en la red, puede negarse a hacer algunas acciones más arriesgadas, como instalar desde una URL de Git cualquiera. Instalar desde su propia lista funciona; para todo lo demás, usa git clone como arriba.
Las versiones recientes de ComfyUI incluyen además un gestor integrado que se activa con una opción de arranque. Si ves manager_requirements.txt en /workspace/ComfyUI, puedes ejecutar pip install -r manager_requirements.txt y añadir --enable-manager al comando de arranque en lugar de clonar nada.
Un aviso: un nodo personalizado es código Python normal y corriente con acceso total al servidor, incluidos tus modelos y resultados. Instala nodos de repositorios de confianza y, mejor, de los conocidos y con actividad reciente.
Conserva modelos, LoRA y nodos entre sesiones
El disco del servidor se borra al detenerlo. Para conservar tu trabajo, usa Guardar y detener en Mis servidores. Así se guarda /workspace: tus propios checkpoints y LoRA, custom_nodes, los workflows guardados y la carpeta output. En el siguiente lanzamiento la carpeta se restaura antes de que arranque ComfyUI, aunque sea en otra tarjeta, así que tus modelos aparecen en las listas desde el principio. El almacenamiento cuesta 0,03 € por GB al mes; una carpeta de 20 GB con LoRA y checkpoints cuesta veinte veces eso, bastante menos de un euro.
Tres cosas que debes saber:
- Los modelos base de una app lista para usar no se guardan. Se vuelven a descargar solos en el siguiente lanzamiento, así que no pagas almacenamiento por 17–70 GB de pesos públicos.
- Los paquetes de Python no están en
/workspace. Las carpetas de los nodos personalizados vuelven, pero las librerías que instalaste para ellos conpip, no. Después de restaurar, reinstálalas y reinicia ComfyUI:
for d in /workspace/ComfyUI/custom_nodes/*/; do [ -f "$d/requirements.txt" ] && pip install -r "$d/requirements.txt"; done
- Restaurar es una descarga. La carpeta guardada llega a la máquina nueva como tráfico, con la tarifa de esa máquina. Te ahorra tiempo y conserva tus propios archivos, pero no te ahorra tráfico.
Si detienes el servidor sin guardar, los archivos se pierden. Un servidor inactivo (2 horas sin SSH, Jupyter ni carga en la GPU, luego un correo y luego una hora más) guarda la carpeta antes de detenerse. Tienes más detalles en qué pasa con tus archivos al detener una GPU.
Generación por lotes con la API de ComfyUI
Para 200 fotos de producto o una lista de prompts, no hace falta pulsar Run 200 veces. Cualquier ComfyUI acepta trabajos por HTTP.
- Monta y prueba el workflow en el navegador.
- Guárdalo con Workflow → Export (API) y sube
workflow_api.jsona/workspace. - Abre el JSON y apunta los ID de los nodos que quieres cambiar, por ejemplo el nodo
CLIPTextEncodecon tu prompt y elKSamplercon la semilla. - Pon un prompt por línea en
/workspace/prompts.txty ejecuta esto en el servidor:
import json, random, time, urllib.request
URL = "http://127.0.0.1:8188"
PROMPT_NODE, SAMPLER_NODE = "6", "3" # los ID de tu propia exportación
wf = json.load(open("/workspace/workflow_api.json"))
def call(path, data=None):
req = urllib.request.Request(URL + path, data=data, headers={"Content-Type": "application/json"})
return json.load(urllib.request.urlopen(req))
for text in [l.strip() for l in open("/workspace/prompts.txt") if l.strip()]:
wf[PROMPT_NODE]["inputs"]["text"] = text
wf[SAMPLER_NODE]["inputs"]["seed"] = random.randint(0, 2**32 - 1)
pid = call("/prompt", json.dumps({"prompt": wf}).encode())["prompt_id"]
print("queued", pid, text[:50])
while call("/queue")["queue_running"] or call("/queue")["queue_pending"]:
time.sleep(10)
print("done, images are in /workspace/ComfyUI/output")
Lánzalo con nohup python batch.py > batch.log 2>&1 & para que siga funcionando cuando cierres el navegador. ComfyUI pone los trabajos en cola y los va haciendo uno a uno; los resultados van a /workspace/ComfyUI/output, que puedes comprimir en zip y descargar desde Jupyter.
Un presupuesto aproximado: con la cola llena, Flux schnell (4 pasos) renderiza una imagen de 1024×1024 en unos 2,5–5 segundos en una RTX 4090, según el workflow. Doscientas imágenes a unos 4 segundos cada una son menos de 15 minutos de trabajo; con la descarga del modelo y la preparación del script, cuenta con media hora, unos 0,30 € de tiempo de GPU.
También puedes enviar las mismas peticiones desde tu ordenador a la dirección de ComfyUI que aparece en Mis servidores. Para lanzar un servidor para el lote y detenerlo después desde un script, usa la API de VRAMfarm: detenerlo en cuanto la cola se vacía es lo que mantiene barato un trabajo por lotes.