⚡ FLUX.2 (Black Forest Labs) — Arquitectura, Modelos Klein, Dev 32B & Inferencia

Repositorio Oficial de Inferencia y Nueva Generación de Modelos de Generación Visual

FLUX.2 es la segunda generación de modelos fundacionales de síntesis y edición visual desarrollados por Black Forest Labs (BFL) (creadores de Stable Diffusion y FLUX.1). Introduce una arquitectura unificada que combina generación desde texto (Text-to-Image) y edición con una o múltiples imágenes de referencia (Multi-reference Editing).

Destaca por la familia ultra-rápida FLUX.2 [klein] (con generación en sub-segundos en GPUs de consumo y licencia Apache 2.0 en su variante 4B) y el colosal modelo de máxima fidelidad FLUX.2 [dev] de 32 mil millones de parámetros (32B).


🧭 Arquitectura y Ecosistema FLUX.2

flowchart TD
    Prompt["📝 Prompt de Texto\n(Opcional: Upsampling con Mistral o API)"] --> EncText["🔤 Text Encoder\n(Mistral-Small-3.2-24B-Instruct)"]
    Refs["🖼️ Imágenes de Referencia\n(1 a N imágenes para edición/estilo)"] --> AEIn["📦 FLUX.2 Autoencoder (AE)\n(Compresión latente optimizada Apache 2.0)"]
    
    EncText & AEIn --> Transformer{"⚡ Flow Matching Transformer"}
    
    Transformer --> K4B["⚡ FLUX.2 [klein] 4B\n(Apache 2.0 • ~8GB VRAM • Sub-segundo)"]
    Transformer --> K9B["🚀 FLUX.2 [klein] 9B & 9B KV\n(KV-Cache • 1.7x a 2.6x más rápido en edición)"]
    Transformer --> DEV["👑 FLUX.2 [dev] 32B\n(Máxima fidelidad • Multi-ref • H100 / 4-bit RTX 4090)"]
    
    K4B & K9B & DEV --> AEOut["🎨 FLUX.2 VAE Decode\n(Decodificación en espacio RGB)"]
    AEOut --> Out["🖼️ Imagen Final Generada / Editada\n(+ Marca de agua invisible / C2PA)"]

📊 Matriz Comparativa de la Familia FLUX.2

Todos los modelos de la familia FLUX.2 soportan nativamente Text-to-Image, Edición con una referencia y Edición con múltiples referencias:

ModeloParámetrosPasos (Steps)VRAM MínimaLicenciaEnfoque Principal
FLUX.2 [klein] 4B4B4 pasos (Distilled)~8 GB (RTX 3090/4070)Apache 2.0Velocidad extrema, aplicaciones interactivas en tiempo real y hardware de consumo.
FLUX.2 [klein] 4B Base4B50 pasos (Base)~8 - 12 GBApache 2.0Fine-tuning, entrenamiento de LoRAs y personalización en hardware accesible.
FLUX.2 [klein] 9B9B4 pasos (Distilled)~12 - 16 GBFLUX Non-CommercialMáxima calidad y nitidez fotográfica en generación directa Text-to-Image.
FLUX.2 [klein] 9B KV9B4 pasos + KV-Cache~12 - 16 GBFLUX Non-CommercialEl más eficiente para edición: gracias al KV-caching supera en velocidad al 4B en multi-referencia.
FLUX.2 [klein] 9B Base9B50 pasos (Base)~16 GBFLUX Non-CommercialInvestigación, entrenamiento avanzado de LoRA y máxima diversidad creativa.
FLUX.2 [dev]32B50 pasos (Guidance-Dist.)32B FP16 (H100) / ~18GB (4-bit)FLUX Non-CommercialLa cúspide de inteligencia visual y razonamiento gráfico sin restricciones de latencia.

⚡ 1. Familia FLUX.2 [klein] (Inferencia en Sub-Segundos)

Lanzada en enero de 2026, la línea klein redefine la frontera de Pareto entre calidad estética, latencia de renderizado y consumo de memoria VRAM:

  1. Inferencia Ultra-Rápida: Capaz de sintetizar o alterar imágenes en menos de 1 segundo en GPUs modernas.
  2. Generación y Edición Unificadas: No requiere pipelines separados como Inpainting o ControlNet; el modelo comprende intrínsecamente si debe crear desde cero o modificar una imagen base guiándose por referencias.
  3. Licencia Libre Apache 2.0 en 4B: Permite a la comunidad open-source crear forks, quantizaciones e integraciones comerciales sin restricciones para la variante de 4 mil millones de parámetros.

🚀 2. Mecanismo de Aceleración KV-Cache en FLUX.2 [klein] 9B KV

En los pipelines tradicionales de edición de imagen por difusión, cada paso de eliminación de ruido (denoising step) concatena los tokens de las imágenes de referencia con los tokens ruidosos de salida y ejecuta una matriz de atención completa. Dado que los tokens de las imágenes de referencia no cambian en absoluto a lo largo de los pasos, esto representaba un enorme desperdicio de cómputo.

El modelo FLUX.2 [klein] 9B KV divide el proceso en dos fases:

  1. Paso 0 (forward_kv_extract): Pasa la secuencia completa con las referencias y extrae y almacena en caché las proyecciones de Clave y Valor (Key/Value Cache) de los tokens de referencia.
  2. Pasos 1 en adelante (forward_kv_cached): Solo calcula atención sobre los tokens de salida y texto, reutilizando la caché KV fija.

Factor de Aceleración Medido con Imágenes de Referencia (1024×1024):

N° de ReferenciasSalida 512×512Salida 768×768Salida 1024×1024Salida 1440×1440
1 Imagen1.78x1.57x1.40x1.21x
2 Imágenes2.16x1.97x1.77x1.46x
3 Imágenes2.43x2.21x1.99x1.69x
4 Imágenes2.66x2.44x2.22x1.85x

👑 3. FLUX.2 [dev] (Transformador de 32B Parámetros)

El modelo insignia de 32B parámetros utiliza el codificador de lenguaje Mistral-Small-3.2-24B-Instruct-2506, lo que le otorga una comprensión excepcional de prompts complejos, relaciones espaciales, texto tipográfico legible dentro de la imagen y estilo visual:

Prompt Upsampling (Aumento de Detalle de Prompts):

FLUX.2 Dev cuenta con un sistema integrado de expansión de instrucciones:

  • Modo Local: Utiliza el mismo modelo de Mistral para expandir prompts escuetos antes de generar los latentes.
  • Modo API: Permite conectar cualquier LLM vía OpenRouter para enriquecer la descripción artística en tiempo real.

Ejecución en GPUs de Consumo (RTX 4090 / 5090 con 4-bit):

Black Forest Labs colaboró con el equipo de Hugging Face Diffusers para publicar cuantizaciones en 4-bit (bitsandbytes) con un concepto revolucionario: Remote Text Encoder.

  • El pesado codificador de texto Mistral de 24B se evalúa en bfloat16 en la nube (vía endpoint gratuito de Hugging Face), transfiriendo únicamente los embeddings.
  • La GPU local solo carga el Transformer DiT cuantizado en 4-bit, logrando ejecutar FLUX.2 Dev en menos de 18 GB de VRAM.

🛠️ Instalación y Uso de la CLI Oficial

1. Preparación del Entorno (Python 3.12 + PyTorch CUDA 12.9)

# Crear entorno virtual
python3.12 -m venv .venv
source .venv/bin/activate
 
# Instalar dependencias con soporte CUDA
pip install -e . --extra-index-url https://download.pytorch.org/whl/cu129 --no-cache-dir

2. Configurar Variables de Entorno (Rutas a Pesos Safetensors)

# Si no defines las variables, el script descargará los pesos automáticamente desde Hugging Face
export FLUX2_MODEL_PATH="/ruta/a/flux-2-dev.safetensors"
export AE_MODEL_PATH="/ruta/a/ae.safetensors"
export KLEIN_4B_MODEL_PATH="/ruta/a/flux-2-klein-4b.safetensors"
export KLEIN_9B_KV_MODEL_PATH="/ruta/a/flux-2-klein-9b-kv.safetensors"

3. Lanzar Sesión Interactiva CLI

# Iniciar CLI interactiva
PYTHONPATH=src python scripts/cli.py
 
# O forzar directamente el modelo ultra-rápido KV de edición:
PYTHONPATH=src python scripts/cli.py --model_name flux.2-klein-9b-kv

4. Ejemplo de Sesión Interactiva (Text-to-Image y Edición):

> prompt="cyberpunk street in neo tokyo with neon signs, rain reflections, highly detailed 8k"
> run
 
# Para editar agregando referencias:
> input_images="personaje_base.jpg,estilo_color.jpg"
> prompt="the character wearing a high-tech tactical dragon armor"
> run

🧨 Inferencia en Python con Hugging Face Diffusers (Modo 4-Bit)

Código Python para Ejecutar FLUX.2 Dev en RTX 4090 (~18 GB VRAM)

import torch
import requests
from diffusers import Flux2Pipeline
from diffusers.utils import load_image
from huggingface_hub import get_token
 
repo_id = "diffusers/FLUX.2-dev-bnb-4bit"
device = "cuda:0"
torch_dtype = torch.bfloat16
 
# Función para codificar texto de forma remota y ahorrar 24 GB de VRAM
def remote_text_encoder(prompt: str):
    headers = {"Authorization": f"Bearer {get_token()}"}
    res = requests.post(
        "https://remote-text-encoder-flux-2.huggingface.co/predict",
        json={"prompt": prompt},
        headers=headers
    )
    return torch.tensor(res.json()["prompt_embeds"], dtype=torch_dtype).to(device)
 
# Cargar pipeline de Diffusers
pipe = Flux2Pipeline.from_pretrained(
    repo_id,
    torch_dtype=torch_dtype
).to(device)
 
prompt = "A mechanical cybernetic dragon perched on an obsidian tower, volcanic embers"
prompt_embeds = remote_text_encoder(prompt)
 
image = pipe(
    prompt_embeds=prompt_embeds,
    num_inference_steps=28,
    guidance_scale=3.5
).images[0]
 
image.save("dragon_flux2.png")

🛡️ Marcas de Agua y Proveniencia (C2PA)

FLUX.2 incluye soporte nativo para proveniencia y seguridad de contenido:

  1. Invisible Watermarking: Incrustación matemática imperceptible en las frecuencias espaciales mediante la librería invisible-watermark.
  2. Estándar C2PA: Metadatos criptográficos en cabeceras EXIF para trazabilidad de creación sintética de acuerdo a directivas de IA responsable.

🔗 Conexiones en la Bóveda