Flux : La Nouvelle Génération

Flux : La Nouvelle Génération

Présentation de Flux

Flux est un modèle de génération d'images développé par Black Forest Labs, l'équipe fondatrice de Stable Diffusion. Sorti mi-2024, il représente un saut qualitatif majeur par rapport à SDXL.

Les variantes de Flux

Variante Licence VRAM Description
Flux.1 Dev Non-commercial 12 Go+ Version complète pour la recherche et le développement
Flux.1 Schnell Apache 2.0 12 Go+ Version rapide (4 steps au lieu de 20+)
Flux.1 Pro API uniquement Version commerciale via API

Pourquoi Flux est supérieur

  • Texte dans les images : Flux est le premier modèle open-source à générer du texte lisible de manière fiable
  • Suivi des prompts : comprend et respecte beaucoup mieux les instructions complexes
  • Qualité photoréaliste : rendu naturel sans les artefacts typiques de SD
  • Anatomie humaine : mains, visages et corps nettement mieux rendus
  • Composition : meilleure compréhension spatiale des scènes

Configuration dans ComfyUI

Modèles à télécharger

models/
├── unet/
│   └── flux1-dev.safetensors          # ~23 Go (ou quantifié ~12 Go)
├── clip/
│   ├── clip_l.safetensors             # Encodeur CLIP-L
│   └── t5xxl_fp16.safetensors         # Encodeur T5-XXL (~9.5 Go)
└── vae/
    └── ae.safetensors                 # VAE Flux

Astuce VRAM : utilisez la version quantifiée (FP8 ou NF4) du modèle UNET si vous avez moins de 24 Go de VRAM. Le T5 peut aussi être en FP8.

Nœuds spécifiques à Flux

Flux utilise une architecture différente de SD. Les nœuds changent :

SD classique Flux
Load Checkpoint Load Diffusion Model + Load CLIP + Load VAE (séparés)
CLIP Text Encode DualCLIPLoader + CLIPTextEncode
KSampler KSampler (avec sampler euler et scheduler simple)

Workflow Flux basique

Load Diffusion Model (flux1-dev) ──►
                                      KSampler ──► VAE Decode ──► Save Image
DualCLIPLoader ──► CLIP Text Encode (+) ──►
               ──► CLIP Text Encode (-) ──►
Load VAE (ae.sft) ─────────────────────────► VAE Decode
Empty Latent Image ────────────────────────► KSampler

Paramètres recommandés pour Flux

Paramètre Flux Dev Flux Schnell
sampler euler euler
scheduler simple simple
steps 20-30 4
cfg 1.0 1.0
denoise 1.0 1.0
resolution 1024x1024 1024x1024

Important : Flux utilise un cfg de 1.0 (pas de guidage classique). Le guidage se fait via un mécanisme interne différent.

Flux Guidance

Flux utilise un système de guidage différent de SD. Au lieu du cfg classique, il utilise un nœud FluxGuidance :

CLIP Text Encode ──► FluxGuidance (guidance: 3.5) ──► KSampler

Paramètre guidance

  • 1.5-2.0 : résultats plus créatifs, moins fidèles au prompt
  • 3.0-4.0 : bon équilibre (recommandé)
  • 5.0+ : très fidèle au prompt mais peut réduire la qualité

Optimisations VRAM pour Flux

Flux est gourmand en VRAM. Voici les stratégies d'optimisation :

1. Quantification du modèle

Utilisez des versions quantifiées :

  • FP16 : qualité maximale, ~23 Go VRAM
  • FP8 : très bonne qualité, ~12 Go VRAM
  • NF4/GGUF : qualité correcte, ~6-8 Go VRAM

2. Arguments de lancement

# Mode low VRAM
python main.py --lowvram

# Forcer le FP16
python main.py --force-fp16

# Limite de mémoire
python main.py --gpu-memory-fraction 0.8

3. T5 en FP8

L'encodeur T5-XXL est très lourd. Utilisez la version FP8 :

models/clip/t5xxl_fp8_e4m3fn.safetensors  # ~4.5 Go au lieu de 9.5 Go

4. Offloading CPU

ComfyUI peut automatiquement décharger les composants inutilisés vers la RAM :

  • Le T5 est chargé pour l'encodage puis déchargé
  • Le UNET est chargé pour le sampling puis déchargé
  • Permet de tourner avec moins de VRAM au prix de la vitesse

LoRAs pour Flux

Différences avec les LoRAs SD

  • Les LoRAs Flux sont typiquement plus gros (~100-500 Mo vs ~50-150 Mo pour SD)
  • L'entraînement nécessite plus de VRAM (24 Go+ recommandés)
  • La qualité et la fidélité sont nettement meilleures

Utilisation

Le nœud Load LoRA fonctionne de la même manière :

Load Diffusion Model ──► Load LoRA ──► KSampler
DualCLIPLoader ──────────► Load LoRA

LoRAs populaires pour Flux

  • Realism : améliore le photoréalisme
  • Anime/Illustration : styles artistiques
  • Cinematic : rendu cinématographique
  • Détails : améliore la netteté et les micro-détails

ControlNet pour Flux

Le support ControlNet pour Flux est plus récent et encore en développement :

Modèles disponibles

  • Flux ControlNet Canny : détection de contours
  • Flux ControlNet Depth : carte de profondeur
  • Flux ControlNet Union : modèle unifié multi-type

Nœud spécifique

Utilisez les nœuds Apply ControlNet (SDXL) qui sont compatibles avec Flux, ou les nœuds spécifiques de l'extension Flux ControlNet.

Flux img2img

Pour faire du img2img avec Flux :

  1. Chargez votre image avec Load Image
  2. Encodez-la avec VAE Encode (en utilisant le VAE Flux)
  3. Connectez au KSampler à la place de Empty Latent Image
  4. Réduisez le denoise (0.4-0.7 typiquement)
Load Image ──► VAE Encode ──► KSampler (denoise 0.5)

Flux Schnell : génération ultra-rapide

Flux Schnell est la variante "distillée" : elle génère en 4 steps au lieu de 20-30.

Quand utiliser Schnell ?

  • Prototypage rapide
  • Exploration de prompts
  • Génération en batch
  • Applications temps réel

Configuration

Identique à Flux Dev, sauf :

  • Modèle : flux1-schnell.safetensors
  • Steps : 4
  • Le reste identique

Comparaison pratique

Prompt test : "A cat wearing a top hat reading a newspaper in a Victorian library"

Modèle Respect du prompt Qualité Texte lisible Temps
SD 1.5 Moyen Bon Non ~5s
SDXL Bon Très bon Parfois ~15s
Flux Dev Excellent Excellent Oui ~30s
Flux Schnell Très bon Très bon Souvent ~5s