ComfyLab
FLUX Kontext en ComfyUI: Edita Imágenes sin Perder el Personaje

FLUX Kontext en ComfyUI: Edita Imágenes sin Perder el Personaje

12GB VRAM VRAM Intermedio 9 min
Savien

Cambias la chaqueta de tu personaje generado y la cara se transforma. Ajustas el fondo y la pose cambia. Ocurre porque el modelo no sabe qué partes conservar. FLUX.1 Kontext, publicado por Black Forest Labs, resuelve exactamente eso: usa la imagen original como referencia visual explícita y permite pedir modificaciones concretas manteniendo estructura, identidad y estilo. No es img2img con más pasos — es un mecanismo distinto.

Este artículo construye el workflow desde cero, explica cada parámetro relevante y da prompts probados para los casos de uso más comunes.

🏗️ Workflow: FLUX Kontext Character Edit

🧠 VRAM: 12GB - 16GB 📡 MODEL: FLUX.1 Kontext Dev

Qué hace FLUX Kontext diferente

El img2img clásico codifica la imagen de entrada en el espacio latente y el KSampler la usa como punto de partida. El problema es estructural: ese latente lleva información composicional, pero el modelo no recibe instrucciones explícitas de qué preservar y qué cambiar. El prompt guía la dirección general. La identidad del sujeto, en cambio, depende de cuánto ruido se añade y de la suerte.

FLUX Kontext añade un paso previo. Codifica la imagen en un espacio de condicionamiento visual separado del latente de sampling. El modelo recibe la imagen como contexto, no como punto de partida. Con eso, razona sobre qué mantener mientras genera el cambio pedido — de forma similar a cómo funciona la edición instructiva en modelos de lenguaje.

El resultado práctico es concreto. Pides “cambia la chaqueta roja a cuero negro” y el modelo entiende que debe tocar solo la chaqueta. La cara no cambia. La pose no cambia. El fondo no cambia. Cuando funciona bien, es casi desconcertante.


Requisitos

  • ComfyUI actualizado (versión 0.3 o superior recomendada).
  • ComfyUI Manager para instalar nodos faltantes.
  • Modelo FLUX.1 Kontext Dev o variante compatible.
  • Encoder de texto compatible con FLUX (T5XXL + CLIP-L).
  • VAE compatible con FLUX (ae.safetensors).
  • 12GB de VRAM mínimo recomendado con versiones optimizadas.

Construir el workflow

Grupo 1 — Entrada de imagen

Load Image — Carga la imagen a editar. Usa PNG de alta calidad. El JPEG con compresión agresiva introduce artefactos que el modelo no ignora — los amplifica. La imagen debe estar a una resolución que tu GPU pueda manejar: 1024px en el lado largo es un buen punto de partida.

Image Resize (ImageScale) — Escala la imagen antes de procesarla.

ParámetroValor
modekeep aspect ratio
long_side1024

Reducir a 1024px baja el consumo de VRAM y evita que el modelo invente detalles por exceso de resolución. Si subes imágenes de 4K sin escalar, el proceso falla o produce resultados inconsistentes.

Preview Image — Conectado a la imagen escalada. Confirma que la entrada es correcta antes de lanzar. Ahorra tiempo cuando hay un error de ruta o de formato — y los hay más de lo que parece.

Grupo 2 — Modelos

UNETLoader (o loader FLUX equivalente)

ParámetroValor
modelflux1-kontext-dev.safetensors
weight_dtypefp8 o default

DualCLIPLoader

ParámetroValor
clip_name1t5xxl_fp8_e4m3fn.safetensors
clip_name2clip_l.safetensors
typeflux

VAELoader

ParámetroValor
vae_nameae.safetensors

Grupo 3 — Condicionamiento Kontext

Kontext Image Encode — El nodo central de todo el workflow. Toma la imagen escalada y la codifica en un condicionamiento visual que el modelo usa como referencia de identidad. Sin este nodo, el workflow es img2img estándar. Con él, es otra cosa.

Entrada: imagen escalada desde Image Resize. Salida: condicionamiento visual que va al KSampler como parte del condicionamiento positivo.

CLIPTextEncode positivo

El prompt para FLUX Kontext necesita ser explícito en dos cosas: qué conservar y qué cambiar. Si solo describes el cambio, el modelo asume libertad sobre el resto.

keep the same woman, same face identity, same pose, same camera angle, 
change her jacket to a matte black leather jacket, 
replace the background with a clean modern photography studio, 
softbox lighting, realistic skin texture, high detail

CLIPTextEncode negativo

different person, changed face, deformed eyes, extra fingers, 
distorted hands, blurry, low quality, bad anatomy, text, watermark

Flux Guidance — Nodo específico de FLUX que controla la intensidad de adherencia al prompt.

ParámetroValor recomendado
guidance3.0 – 4.0

Empieza en 3.5. Valores más altos siguen mejor el prompt pero rigidizan el resultado — por encima de 5.0 el modelo tiende a sobreinterpretar instrucciones simples y añade cambios que no pediste.

Grupo 4 — Sampling

Empty Latent Image

ParámetroValor
width1024
heightsegún ratio de la imagen de entrada
batch_size1

KSampler

ParámetroValor
seedfijo mientras afinas el prompt
steps24-32
cfg1.0 (la guía va por Flux Guidance)
sampler_nameeuler
schedulersimple
denoise0.55 – 0.70

El denoise es el parámetro más crítico de todo el workflow:

DenoiseEfecto
0.40 – 0.55Cambios sutiles. Preserva casi todo.
0.55 – 0.70Cambia ropa o fondo con buena identidad del sujeto.
0.70 – 0.85Transformación notable. Puede afectar detalles faciales.
0.85+Cambio radical. La imagen de referencia pierde peso.

Para cambios de ropa o fondo empieza en 0.60. Para cambios de estilo sube hasta 0.75. Mueve este valor de 0.05 en 0.05 — los saltos grandes hacen difícil saber qué causó el problema.

Grupo 5 — Salida

VAEDecodeSave Image (prefix: comfylab_kontext)

Image Comparer (opcional, disponible en packs como WAS Node Suite o ComfyUI Custom Nodes) — Útil para ver antes/después sin salir de ComfyUI. Si generas muchas variaciones seguidas, te ahorra abrir carpetas constantemente. No es imprescindible, pero una vez que lo usas no vuelves atrás.

Diagrama de conexiones

Load Image → Image Resize → Kontext Image Encode → KSampler (positive)
UNETLoader → KSampler (model)
DualCLIPLoader → CLIPTextEncode (+/-) → Flux Guidance → KSampler (positive/negative)
Empty Latent Image → KSampler (latent_image)
KSampler → VAEDecode → Save Image

Prompts probados

Cambio de ropa:

same person, same face, same pose, same background,
replace the red dress with a minimalist white linen suit,
editorial fashion photo, natural window light, realistic fabric texture

Cambio de fondo:

same person and same pose,
replace the background with a rainy Tokyo street at night,
neon reflections on wet pavement, cinematic shallow depth of field,
keep the subject perfectly sharp

Cambio de estilo artístico:

preserve the exact character identity and composition,
convert the image into a high-end anime key visual,
clean line art, soft gradients, detailed eyes, cel shading

Cambio de iluminación:

same scene and same composition,
change the lighting to dramatic golden hour sunset,
long shadows, warm orange tones, keep all details intact

Variante: edición por zona con máscara

Cuando quieres tocar solo una zona específica, combina Kontext con inpainting:

  1. Carga la imagen y crea la máscara con el nodo Load Image (as Mask) o con el editor de máscara integrado en ComfyUI.
  2. Usa un nodo de inpainting compatible con FLUX en lugar del KSampler estándar.
  3. Baja el denoise a 0.45-0.60 para ediciones locales.
  4. En el prompt, menciona solo la zona: change only the jacket, preserve everything else exactly.

Este flujo combina la referencia de identidad de Kontext con la precisión de máscara del inpainting. La máscara hace el trabajo grueso; Kontext evita que el resto de la imagen derive.


Solución de problemas

La cara cambia aunque pido “same face”

El denoise está demasiado alto. Bájalo 0.10-0.15. Repite la instrucción de identidad explícitamente en el prompt: same face identity, same person, identical facial features. Usa seed fijo para aislar el efecto del denoise — si no fijas la seed, no sabes si el cambio vino del denoise o de la aleatoriedad.

No cambia nada o los cambios son mínimos

El denoise es demasiado bajo. Sube a 0.65-0.70. Verifica también que el prompt describa el cambio de forma directa y específica, sin ambigüedades. “Algo diferente en la ropa” no es una instrucción — “replace the red jacket with a black leather jacket” sí lo es.

Las manos se deforman

Genera a resolución más baja (768px) para la primera pasada. Si el problema persiste, arregla manos con inpainting después — la guía de reparación de manos con inpainting explica el proceso paso a paso.

Error de VRAM durante la codificación

Activa offload en el UNETLoader si tu wrapper lo permite. Baja la resolución de entrada a 768px. Si usas versión cuantizada (Q4/Q5 GGUF), el nodo de carga estándar no la reconoce — necesitas el loader GGUF específico o el proceso falla en silencio, sin mensaje de error útil. El artículo de instalación de Flux con poca VRAM detalla los loaders necesarios.

El Kontext Image Encode no aparece en ComfyUI

El nodo requiere una extensión específica. Abre ComfyUI Manager → Install Missing Custom Nodes y busca el wrapper de FLUX Kontext compatible con tu versión de ComfyUI. Los nombres varían entre extensiones — busca “Kontext” o “FLUX Image Edit”. Si instalas el wrapper equivocado, el nodo aparece pero falla al ejecutar.


FLUX Kontext es la herramienta más útil para iterar sobre personajes generados sin perder coherencia entre variaciones. El flujo que has montado aquí — imagen de referencia → codificación Kontext → KSampler con denoise controlado — es la base sobre la que se construyen pipelines de producción más complejos. El siguiente paso natural es combinar esto con ControlNet de pose para tener control simultáneo sobre identidad y postura. Si quieres explorar el video desde los keyframes que generes con este workflow, el artículo de Wan 2.1 I2V es el complemento directo.

Preguntas frecuentes

¿FLUX Kontext es mejor que inpainting para editar una zona?
Depende. Kontext es mejor para cambios semánticos amplios (cambiar toda la ropa, transformar el fondo, cambiar el estilo) porque usa la imagen completa como referencia. Inpainting sigue siendo más preciso cuando quieres tocar una zona exacta delimitada con máscara. Lo ideal es combinarlos: Kontext para el cambio general, inpainting para los retoques finos.
¿Puedo usar FLUX Kontext con 8GB de VRAM?
Es posible con versión cuantizada (Q4 o Q5 GGUF), offload activado y resoluciones de 768px o menos. Para un flujo estable sin recortes de memoria se recomiendan 12GB. Con 16GB o más trabajas sin restricciones.
¿Por qué cambia la cara aunque pida 'same face'?
El denoise es demasiado alto. Con valores por encima de 0.75 el modelo tiene demasiada libertad para reinterpretar. Baja a 0.60-0.65, repite la instrucción de identidad varias veces en el prompt y usa seed fijo para comparar resultados.
¿Funciona para cambiar el estilo artístico completo?
Sí, pero necesitas denoise alto (0.75-0.85) y un prompt muy específico del estilo objetivo. A ese nivel puede perder detalles faciales, así que evalúa caso a caso. Para transformaciones de estilo totales, txt2img con ControlNet de pose puede ser más predecible.
Compartir X LinkedIn

También te puede interesar