FLUX.1-Kontext-dev: Modelo de IA para aumento de imágenes

Modelo de IA para aumentar imágenes con instrucciones de texto

Índice

Black Forest Labs ha lanzado FLUX.1-Kontext-dev, un avanzado modelo de inteligencia artificial de imagen a imagen que mejora imágenes existentes mediante instrucciones de texto.

A diferencia de FLUX.1-dev, que genera imágenes a partir de texto solo, FLUX.1-Kontext-dev toma tanto una imagen de entrada como una instrucción de texto para crear versiones modificadas mientras preserva elementos clave.

gopher en una bicicleta Esta imagen demuestra la capacidad de FLUX.1-Kontext-dev para mejorar imágenes.

La imagen original del emblema de Go:

Gopher go logo

fue transformada con la instrucción este gopher monta en la bicicleta en la carretera con pendientes. ¿Un buen resultado, no es así?

¿Qué es FLUX.1-Kontext-dev?

FLUX.1-Kontext-dev está diseñado para generación y edición de imágenes en contexto. Características clave incluyen:

  • Consistencia de personajes: Preserva elementos únicos (como personajes u objetos) en múltiples escenas
  • Edición local: Modifica partes específicas de una imagen sin afectar el resto
  • Referencia de estilo: Genera nuevas escenas manteniendo estilos de imágenes de referencia
  • Ampliación de imágenes: Transforma imágenes basándose en instrucciones de texto

Instalación

Requisitos previos

Necesitarás:

  • 16 GB+ de VRAM en tu GPU (se recomienda NVIDIA RTX)
  • Python 3.8+ con pip
  • Acceso a Hugging Face (cuenta y token)

Pasos de configuración

  1. Crea una cuenta en Hugging Face en huggingface.co si no tienes una

  2. Visita la página del modelo: https://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev

  3. Acepta el acuerdo de licencia (uso no comercial)

  4. Crea un token de acceso de escritura en https://huggingface.co/settings/tokens

  5. Descarga el modelo:

git clone https://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev

O usa directamente la ruta del modelo en tu código.

Instalación

Instala los paquetes de Python necesarios:

pip install -U diffusers torch transformers pillow accelerate sentencepiece

O usando uv:

cd tools/fkon
uv sync

Uso

Script básico de Python

Aquí tienes un ejemplo completo usando FLUX.1-Kontext-dev:

import torch
from diffusers import FluxKontextPipeline
from PIL import Image

# Carga el modelo
model_path = "/ruta/a/FLUX.1-Kontext-dev"
pipe = FluxKontextPipeline.from_pretrained(
    model_path, 
    torch_dtype=torch.bfloat16
)

# Habilita la descarga en CPU para ahorrar VRAM
pipe.enable_model_cpu_offload()
pipe.enable_sequential_cpu_offload()

# Carga tu imagen de entrada
input_image = Image.open("ruta/a/tu/imagen.png").convert("RGB")

# Define tu instrucción de mejora
prompt = "este gopher monta en la bicicleta en la carretera con pendientes"

# Genera la imagen mejorada
result = pipe(
    prompt=prompt,
    image=input_image,
    height=496,
    width=680,
    guidance_scale=3.5,
    num_inference_steps=60,
    max_sequence_length=512,
    generator=torch.Generator("cpu").manual_seed(42)
)

# Guarda el resultado
output_image = result.images[0]
output_image.save("imagen_mejorada.jpg")

Manejo de dimensiones

FLUX.1-Kontext-dev tiene requisitos específicos de dimensiones:

  • Múltiplos de 16: Las dimensiones deben ser múltiplos de 16
  • Ajuste automático: El modelo puede ajustar las dimensiones para cumplir con sus requisitos
  • Redimensionamiento de salida: Nuestra herramienta redimensiona automáticamente la salida a las dimensiones solicitadas

La herramienta maneja esto de la siguiente manera:

  1. Redondea las dimensiones solicitadas a múltiplos de 16
  2. Redimensiona la imagen de entrada a las dimensiones redondeadas
  3. Genera la imagen (el modelo puede ajustar aún más)
  4. Redimensiona la salida de nuevo a las dimensiones solicitadas

Casos de uso ejemplos

  1. Transformación de personajes

Transforma un personaje manteniendo la consistencia:

prompt = "este gopher monta en la bicicleta en la carretera con pendientes"
  1. Eliminación de objetos

Elimina elementos no deseados:

prompt = "por favor, elimina a la persona vestida como Minnie Mouse de esta foto"

Consejos y buenas prácticas

  1. Gestión de VRAM: Usa enable_model_cpu_offload() si tienes poca VRAM
  2. Planificación de dimensiones: Solicita dimensiones que sean múltiplos de 16 para minimizar ajustes
  3. Claridad en las instrucciones: Sé específico en tus instrucciones de texto para mejores resultados
  4. Generación por lotes: Genera varias variaciones (--n 4) para obtener el mejor resultado
  5. Control de semillas: Usa semillas manuales para resultados reproducibles

Limitaciones

  • Licencia no comercial: Requiere una licencia comercial para uso empresarial
  • Intensivo en hardware: Necesita una GPU poderosa con una gran cantidad de VRAM
  • Restricciones de dimensiones: Puede ajustar automáticamente las dimensiones
  • Tiempo de procesamiento: Puede tomar entre 10 y 15 minutos por imagen según el hardware

Enlaces útiles