Flux sur Mac avec ComfyUI

Flux sur Mac avec ComfyUI

notion image
ComfyUI est une interface graphique (GUI) basée sur des nœuds (Node) connectés pour former un Workflow. Conçue pour simplifier et optimiser l'utilisation de modèles d’IA comme Stable Diffusion ou Flux, l’interface de ComfyUI se démarque par sa flexibilité et sa capacité d'adaptation.
Le système de nœuds permet aux utilisateurs de créer et d'expérimenter des workflows complexes de manière intuitive, sans nécessiter de compétences en programmation tout en approche offrant un contrôle granulaire sur l'ensemble du processus créatif, depuis l'encodage des invites textuelles jusqu'à la génération finale de l'image.
L’installation de ComfyUI sur Mac pour générer des images avec Flux, bien que légèrement complexe, reste possible et nous allons voir comment faire dans la suite de cette article.

Installer Flux avec ComfyUI

Configuration requise

Pour utiliser Flux sur Mac via ComfyUI, vous aurez besoin d’une machine qui répondent aux pré-requis suivant :
  • Un Mac équipé d'une puce Apple Silicon comme le M1, M2 ou plus récent.
  • macOS 13 ou version ultérieure.
  • Au moins 16GB de RAM (32GB sont recommandés).
  • Au moins 20GB d’espace disque.
La demande en mémoire pour faire fonctionner Flux avec ComfyUI est conséquente car les modèles Flux sont assez volumineux et ComfyUI va devoir les charger en mémoire. Lors de mes essais, j’ai plusieurs fois eu des problème car ComfyUI utilisait toutes la mémoire disponible et en voulait encore plus…
En conséquence, pensez à fermer toutes vos autres applications lorsque vous utiliserez ComfyUI sur votre Mac…
Alternative à l’installation manuelle
Dans cet article, nous allons installer ComfyUI manuellement, en partie à l’aide du Terminal Mac où nous exécuterons des lignes de commandes.
Une alternative à cette méthode est de passer par l’installateur de Stability Matrix.

1. Installer Python et les librairies nécessaires

Homebrew est un gestionnaire de paquets pour macOS qui permet d’installer facilement Python et les librairies nécessaires à l’utilisation de ComfyUI.
Si vous n’avez pas encore installer HomweBrew sur votre Mac, faite le maintenant en téléchargeant l’installateur .pkg de la dernière version disponible sur le github de Homebrewe.
Une fois le fichier téléchargé, double-cliquez dessus pour lancer l’installateur et suivez les différentes étapes d’installation.
notion image
notion image
Une fois Homebrew installé, ouvrez un Terminal et executer la commande suivante :
brew install cmake protobuf rust python@3.11 git wget
Cette commande lance l’installation de Python 3.11 et des autres outils et librairies dont nous aurons besoin pour installer et utiliser ComfyUI.

2. Installer ComfyUI

Pour installer ComfyUI, nous allons utiliser git pour télécharger son code sur votre Mac. L’avantage de cette technique est que les mises à jour de ComfyUI seront très simple à faire par la suite.
Toujours dans le Terminal, rendez-vous dans le repertoire où vous souhaitez installer ComfyUI et executer la ligne de commande suivante :
git clone https://github.com/comfyanonymous/ComfyUI.git
Rendez-vous ensuite dans le repertoire nouvellement créé (cd ComfyUI)
Là, créez un environnement virtuel Python, pour éviter d(éventuel conflits de dépendances
python -m venv venv
puis activez cet environnement.
source venv/bin/activate
Enfin, installez les dépendances de ComfyUI en executant la commande suivante
pip install -r requirements.txt
Ca y est, ComfyUI est maintenant installé sur votre Mac !

3. Télécharger un modèle Flux

Il faut maintenant télécharger le modèle Flux que vous souhaitez utiliser pour générer vos images. Je vous conseille de choisir une des version versions GGUF de Flux Dev ou Flux - sa taille réduite limitera la consommation de mémoire et accélérera la génération.
J’ai par exemple pu utiliser la version Q4_1 qui ne fait que 7.53GB sur mon M2 avec 16GB. Il est d’un peu moins bonne qualité, mais il reste encore très bon. Si vous avez plus de mémoire, n’hésitez pas à tenter la Q8_0.
Placez le fichier télécharger dans le répertoire ComfyUI/models/unet
Télécharger également les Text Encoders clip_l.safetensors et t5xxl_fp8_e4m3fn.safetensors et placez les dans le répertoire ComfyUI/models/clip
Enfin, téléchargez le VAE ae.safetensor et placez le dans le répertoire ComfyUI/models/vae

4. Installer ComfyUI-Manager

ComfyUI-Manager est un extensions indispensable pour utiliser plus faiclement ComfyUI.
Il permet notamment d’installer facilement les Nodes personnalisé, mais aussi de redémarrer ComfyUI, de le mettre à jour ou dans changer la configuration.
Dans le Terminal, faites cd custom_nodes pour ouvrir le repertoire où s’installent les Nodes et executer la commande suivantes :
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
Tant que nous y sommes, nous allons également installer le Node nécessaire à l’utilisation de la version fichiers GGUF que nous avons téléchargé :
git clone https://github.com/city96/ComfyUI-GGUF

5. Démarrer ComfyUI

Il est enfin temps de lancer l’interface de ComfyUI.
Depuis le Terminal, executer la commande suivante dans le répertoire ComfyUI :
PYTORCH_ENABLE_MPS_FALLBACK="1" python main.apy
Plusieurs messages vont défiler, indiquant le lancement de ComfyUI et vous verrez apparaitre une adresse du type http://127.0.0.1:8188/
notion image
Copiez cette adresse et ouvrez là dans votre navigateur qui va alors charger l‘interface de ComfyUI.

Utiliser Flux avec ComfyUI

Charger un Workflow

Pour générer une image avec ComfyUI, nous avons besoin de construire un Workflow qui va charger Flux et ses différents composants et générer une image à partir d’un texte.
Heureusement, il n’est pas nécessaire de recréer ce workflow de zéro. A la place, vous pouvez le télécharger depuis un fichier .json ou même d’une image générée avec ComfyUI. Pour ce tutoriel, vous propose de télécharger mon workflow simple pour Flux :
Une fois le fichier télécharger, faites Load dans le menu ComfyUI et choisissez-le. Le workflow va se charger et s’afficher à l’écran :
notion image
Pour tester sans attendre la génération d’image, modifier (ou non) la prompt dans le premier cadre CLIP Text Encode (prompt) puis cliquez sur le bouton Queue Prompt pour lancer la génération.
Armez vous ensuite d’un peu de patience et allez boire un verre d’eau pendant que l’image est générée. Au bout de quelques minutes (selon la puissance de votre mac) vous devriez voir votre image apparaitre dans le cadre à droite (Preview Image)

Les paramètres de génération

Dans ComfyUI, les paramètres de génération se configure dans les différents noeuds selon ce à quoi il serve. Passons en revue les principaux noeuds de ce Workflow et les paramètres qui vont avec :
  • Unet Loader (GGUF) charge le modèle Flux lui-même. Si vous souhaitez utilisez un autre modèle, c’est ici que vous devez le choisir (Le selecteur proposera les modèle qui se trouventdans ComfyUI/models/unet)
  • DualClipLoader charge les text encoders que nous avons téléchargés.
  • Les deux CLIP Text Encode (prompt) sont les noeuds responsables du prompt. Le premier charge le prompt principal et le second le prompt négatif. Dans un premier temps, Vous pouvez ignorer le second.
  • Empty Latent Image prépare l’image vide que l’IA va utiliser comme point de départ. C’est ici que vous pouvez choisir la taille de votre image en modifiant sa largeur (width) et sa hauteur (height).
  • KSampler est le noeud qui va effectuer les itération pour générr l’images. C’est ici que vous avez le plus d’options de configuration :
    • seed : est un chiffre qui initialise le bruit qui compose l’image de départ.
    • control_after_generate : indique comme le seed sera modifié après chaque génération.
    • steps : désigne le nombre d’itération pour générer l’image à partir du bruit. Pour Flux dev utilisez au moins 25 steps. Pour Schnell 4 suffisent.
    • cfg : Ce paramètre correspond à l’échelle CFG et indique à quel point le prompt doit être littéralement respecté par l’IA.
    • sampler_name, scheduler et denoise : permettent de changer l’algorithme utilisé et la manière dont l’image va être itérativement affiner à partir du bruit de départ.
  • Load VAE est le noeud responsable de charger le VAE qui va convertir l’image latente en une image en pixel que nous pouvons visualer.
  • VAE Decode applique ce VAE a l’image latente générée par Flux
  • Enfin Image Preview affiche l’image.
 

 
Voilà, vous venez de générez votre première image avec Flux sur Mac - et de mettre le pied dans l’incroyable univers de ComfyUI !
Comme nous l’avons dit, cette interface peut paraitre complexe mais elle offre un contrôle et une flexibilité sans pareille pour utiliser les IA génératives. Nous essayerons de partager d’autres tutoriels montrant plus en détails comment l’utiliser.
En attendant, il existe déjà pas mal de Tuto sur Youtube et vous trouverez également des Workflows intéressant à télécharger et essayer sur OpenArt.ai