🔥 Fragua Tech · Guía práctica

Estudio de imágenes con IA en local

Montar ComfyUI paso a paso: nodos, modelos y 8 workflows listos para usar

Todo local, gratis y optimizado para GPUs de 4 GB

¿Qué vamos a montar?

Un estudio completo de imágenes con IA que corre entu propio ordenador: texto→imagen, edición por instrucciones, inpainting, personajes consistentes e incluso música de fondo.

Sin suscripciones, sin límites de uso ysin enviar nada a la nube.

La clave: elegimos modelos cuantizados (GGUF) y versiones "turbo" para que quepan en una GPU modesta. El entorno de referencia es una RTX 3050 de 4 GB. Con más VRAM, todo va aún más rápido.

Dos herramientas

ComfyUI

El motor. Texto→imagen, edición por texto, inpainting, personaje consistente y música. Se maneja con "workflows" visuales.

127.0.0.1:8188

IOPaint

El atajo para borrar objetos: pintas encima y desaparecen. Sin prompts, sin configuración, al instante.

127.0.0.1:8080

Lo que podrás hacer

8 workflows listos para cargar. Cada uno resuelve una tarea concreta.

Texto→imagen rápido

SD 1.5 · ~15 s
💎

Texto→imagen calidad

SDXL Turbo · 1024 px
🩹

Inpainting

Quitar/rellenar zonas
✍️

Editar con texto

FLUX Kontext
🧍

Personaje consistente

IP-Adapter
🔤

Texto en la imagen

Z-Image Turbo
🎵

Música de fondo

ACE-Step
🧽

Borrar objetos

IOPaint (LaMa)

Antes de empezar

GPU NVIDIA

Con CUDA al día (nvidia-smi). 4 GB bastan para esta guía.

Python + git

Python 3.10–3.12 y git instalados en el sistema.

40–60 GB de disco

Para todos los modelos. Puedes bajar solo los que uses.

Paso 1

Instalar ComfyUI

git clone https://github.com/comfyanonymous/ComfyUI.git
        cd ComfyUI

        python3 -m venv venv
        source venv/bin/activate

        # PyTorch con CUDA (elige tu versión en pytorch.org)
        pip install torch torchvision torchaudio \
          --index-url https://download.pytorch.org/whl/cu124

        pip install -r requirements.txt

Clonar · entorno virtual · PyTorch con CUDA · dependencias

Paso 2

Los nodos personalizados

cd custom_nodes

        # Gestor de nodos y modelos (imprescindible)
        git clone .../ComfyUI-Manager.git

        # Modelos .gguf cuantizados (workflows 4 y 9)
        git clone .../ComfyUI-GGUF.git

        # Personaje consistente (workflows 7 y 8)
        git clone .../ComfyUI_IPAdapter_plus.git

Con ComfyUI-Manager ya puedes instalar el resto desde la propia interfaz.

Paso 3

Descargar los modelos

Cada modelo va en su subcarpeta de models/ y el nombre del archivo debe coincidir con el que espera el workflow.

checkpoints/SD 1.5 · SDXLunet/FLUX · Z-Image (gguf)clip/ · text_encoders/encoders de textoipadapter/ · vae/personaje · vae

💡 La forma fácil: Manager → Model Manager. Busca cada modelo por nombre y lo coloca en la carpeta correcta automáticamente.

Paso 4

Arrancar

# start-comfyui.sh
        cd ComfyUI
        ./venv/bin/python main.py --lowvram --preview-method auto

El flag --lowvram descarga capas a la RAM según hace falta: es lo que permite correr en 4 GB.

Abre http://127.0.0.1:8188 y a generar.

Un flujo es un grafo de nodos

Cada nodo hace una cosa —cargar el modelo, codificar el texto, muestrear— y losconectas en cadena.

① Añadir

Doble clic en el lienzo → escribe el nombre del nodo → Enter.

② Conectar

Arrastra de un punto de salida a una entrada delmismo color.

③ Ejecutar

Ctrl+Enter. La imagen sale enoutput/.

💾 ¿Ya lo tienes montado? Workflow → Save lo exporta a .json para reutilizarlo.

El código de colores

Los conectores solo encajan si son del mismo tipo. El color te lo dice de un vistazo:

🟪 MODEL · el modelo🟨 CLIP · codificador de texto🟧 CONDITIONING · el prompt codificado🩷 LATENT · imagen latente🟦 IMAGE · imagen en píxeles🟥 VAE · latente ↔ píxeles

En las siguientes slides, cada cajita usa este mismo color · desliza →

Flujo 1

Texto → imagen (SD 1.5)

El esqueleto base. Móntalo una vez y ya sabes el 80 %.

Load Checkpoint
DreamShaper 8
CLIP Text Encode
prompt +
CLIP Text Encode
prompt −
Empty Latent
512 × 768
KSampler
25 pasos · cfg 7
VAE Decode
Save Image

El checkpoint reparte MODEL,CLIP yVAE a los demás nodos.

🔁 Flujo 2 = el mismo grafo con DreamShaper XL Turbo · 1024² · 7 pasos · cfg 2

Flujo 3

Inpainting · quitar objetos

Igual que el flujo 1, pero la imagen entraenmascarada.

Load Image
+ MaskEditor
VAE Encode (Inpaint)
grow_mask 16
KSampler
25 · cfg 7
VAE Decode
Save Image

Clic derecho en Load ImageOpen in MaskEditor, pinta la zona a borrar. El checkpoint INPAINTING y los 2 prompts alimentan el KSampler como siempre.

Flujo 4

Editar con texto (FLUX Kontext)

El más potente. Usa nodos GGUF e inyecta la imagen original como referencia.

Cargadores (van sueltos, no en un checkpoint)

Unet Loader GGUF
flux1-kontext Q4
DualCLIP Loader GGUF
t5 + clip_l
Load VAE
ae.safetensors

Los nodos que lo hacen "Kontext"

FluxKontextImageScale
reescala la foto
ReferenceLatent
inyecta la imagen
FluxGuidance
guidance 2.5
ConditioningZeroOut
negativo vacío
KSampler
20 · cfg 1 · euler

ReferenceLatent + FluxGuidance meten la imagen como referencia; ZeroOut hace de negativo.⏳ 3–8 min en 4 GB.

Flujo 7

Personaje consistente (IP-Adapter)

La cadena clave: el adaptadorinyecta el personaje dentro del MODEL.

Load Checkpoint
DreamShaper 8
IPAdapter Unified Loader
preset PLUS
IPAdapter
weight 0.65
KSampler
model con el personaje
VAE Decode → Save
Imagen maestra del personaje
Load Image (referencia)
El mismo personaje en una escena nueva
Prompt: nueva escena

🔁 Flujo 8 = igual con SDXL Turbo · 896×1152 · weight 0.7

Flujo 9

Z-Image Turbo · texto en la imagen

Modelo GGUF con encoder LLM (Qwen3). Manos fiables ytexto legible.

Unet Loader GGUF
z-image Q4
CLIP Loader
Qwen3-4B · lumina2
Load VAE
z_image_ae
ModelSamplingAuraFlow
shift 3
KSampler
8 · cfg 1 · res_multistep
VAE Decode → Save
Panadera con un cartel que dice Pan Casero Fresco

Pon el texto entre comillas:The sign says "Pan Casero". ⚠️ Sin tildes. El negativo va conConditioningZeroOut (cfg 1.0).

Flujo 10

Música de fondo (ACE-Step)

El mismo esqueleto, pero connodos de audio.

Load Checkpoint
ACE-Step 3.5B
ModelSamplingSD3
shift 5
TextEncodeAceStepAudio
tags + [inst]
EmptyAceStepLatentAudio
60 s
KSampler
27 · cfg 5 · euler
VAE Decode (Audio)
Save MP3

En tags describes el estilo (en inglés). El MP3 sale enoutput/; cada seed da una pieza distinta.

Borrar objetos en 1 clic

Para eliminar algo de una foto, ComfyUI es exagerado.IOPaint con el modelo LaMa lo hace pintando encima, al instante.

iopaint start --model=lama --device=cuda --port=8080

Arrastras la foto, pintas sobre el objeto y desaparece. Sin prompts.

Consejos para 4 GB

⚠️ OOM (sin memoria)

Baja resolución (SD 1.5→512, SDXL→896) y cierra apps que usen la GPU.nvidia-smi te dice quién consume.

🐢 FLUX / Z-Image lentos

Es normal: no caben en 4 GB y usan offload a RAM. El precio de correr modelos grandes en GPU pequeña.

🔴 Nodo o modelo en rojo

Nombre de archivo o nodo que no cuadra. UsaManager → Install Missing Custom Nodes.

Caso real · referencia

De los flujos a un producto

Un pipeline que convierte un guion en un Short de YouTube entero, con Claude Code escribiendo y orquestando.

Claude Code
escribe el guion.json
Piper
voz por escena
Z-Image · flujo 9
imagen 9:16
ACE-Step · flujo 10
música
Remotion
monta el vídeo
Short .mp4
+ miniatura + tags
Miniatura de un Short generado por el propio pipeline

🖊️ Escritor: redacta el guion en JSON — narración, subtítulos y prompts por escena.

🎛️ Orquestador: llama a los flujos por la API de ComfyUI y Remotion ensambla el vídeo.

Esta miniatura la generó el propio pipeline. Mismo patrón para trailers, explicativos o vídeos de producto.

A forjar imágenes

Todos los comandos exactos, la tabla de modelos y los ajustes de cada workflow están en la guía escrita.

📖 Abrir la guía completa
Fragua Tech — Guías y plantillas