Desentrañando FLUX: Nombres de Archivos y Carpetas en ComfyUI

En el mundo de la generación con IA, los nombres de archivos pueden ser tan confusos como los propios modelos. Al explorar las herramientas para ejecutar FLUX.1 Kontext-dev en ComfyUI, es fácil perderse entre las distintas versiones y carpetas. Empecé asumiendo que cualquier archivo `.safetensors` con una nomenclatura parecida se referiría al mismo modelo base, pero pronto descubrí que esta suposición era incorrecta.

Diagrama técnico mostrando dos archivos de modelo de IA, diferenciando la versión oficial completa de la versión optimizada en FP8 para ComfyUI.
Comparativa entre las versiones full BF16/FP16 y FP8 del modelo FLUX.1 Kontext-dev.

La confusión de los nombres: Full vs FP8

El primer punto de duda fue la diferencia entre `flux1-kontext-dev.safetensors` y `flux1-dev-kontext_fp8_scaled.safetensors`. El archivo oficial, alojado en el repositorio de Black Forest Labs, es el checkpoint completo del modelo en precisión estándar (BF16 o FP16). Es la versión «full» que representa la arquitectura original.

Por otro lado, `flux1-dev-kontext_fp8_scaled.safetensors` es una versión cuantizada o optimizada específicamente para ComfyUI. Esta variante sacrifica un poco de precisión a cambio de un menor requerimiento de VRAM, permitiendo que el modelo funcione en hardware con menos memoria gráfica.

Aunque ambos representan el mismo modelo base FLUX.1 Kontext Dev, no son equivalentes en contenido ni propósito: uno es la referencia oficial completa y el otro es una herramienta de eficiencia operativa. Es fácil confundirlos al buscar en los directorios de descarga.

¿Por qué ComfyUI solo muestra un archivo?

Tras identificar las versiones, surgió otra duda: por qué el workflow del modelo `flux1-schnell` solo mostraba la versión FP8 y no el archivo full que estaba en el mismo disco. La respuesta no fue un error del software, sino una cuestión de lógica técnica.

ComfyUI no carga automáticamente todos los archivos `.safetensors` de un directorio; depende totalmente de cómo se configure el nodo `Checkpoint Loader`. El workflow utilizaba un nombre hardcodeado para la versión FP8. Aunque el archivo full estaba presente, ComfyUI simplemente no lo sugería porque el nodo estaba apuntando específicamente a la ruta optimizada.

Diagrama de árbol de directorios mostrando cómo ComfyUI escanea automáticamente la carpeta checkpoints pero ignora los archivos en diffusion_models.
Mapa visual de las carpetas en ComfyUI: checkpoints vs diffusion_models.

Esto me llevó a una segunda revelación crucial sobre la gestión de archivos: ComfyUI y otros interfaces como AUTOMATIC1111 utilizan carpetas distintas para sus propósitos. La carpeta `checkpoints/` es el lugar que ComfyUI escanea automáticamente para detectar modelos, mientras que `diffusion_models/` es un directorio utilizado principalmente por Stable Diffusion WebUI.

En mi caso, tenía el archivo full en `diffusion_models`, lo que explicaba por qué no aparecía en la lista de carga. El workflow estaba configurado para buscar solo dentro de las carpetas activas, ignorando cualquier archivo fuera de ese alcance.

Sincronización y solución

Para resolver este caos de nombres y carpetas, la solución fue mover los archivos full a la carpeta `checkpoints/`. Una vez allí, al refrescar el nodo en ComfyUI, ambos archivos aparecieron correctamente.

Imagen del código Python ejecutándose para copiar archivos de un directorio a otro, automatizando la gestión de checkpoints.
El script de sincronización copiando modelos al directorio correcto.

Para evitar tener que repetir este proceso cada vez que se agregue un nuevo modelo, implementé un script de Python para sincronizar ambas carpetas. El código lee los archivos nuevos de `diffusion_models` y los copia automáticamente a `checkpoints`, asegurando que ComfyUI siempre pueda verlos.

Esta distinción entre la nomenclatura conceptual del modelo y la ubicación técnica en el sistema operativo es una lección clave para cualquier usuario avanzado. Ya no tengo problemas con los nombres de archivo ni con las carpetas ocultas; ahora sé exactamente dónde buscar.