L'interface graphique et le backend du modèle de diffusion le plus puissant et le plus modulaire.
Cette interface utilisateur vous permettra de concevoir et d'exécuter des pipelines de diffusion stables avancés à l'aide d'une interface basée sur des graphiques/nœuds/organigrammes. Pour quelques exemples de flux de travail et voir ce que ComfyUI peut faire, vous pouvez consulter :
Interface nœuds/graphique/organigramme pour expérimenter et créer des flux de travail complexes de diffusion stable sans avoir besoin de coder quoi que ce soit.
Prend entièrement en charge SD1.x, SD2.x, SDXL, Stable Video Diffusion, Stable Cascade, SD3 et Stable Audio
Flux
Système de file d'attente asynchrone
De nombreuses optimisations : réexécute uniquement les parties du flux de travail qui changent entre les exécutions.
Gestion intelligente de la mémoire : peut exécuter automatiquement des modèles sur des GPU avec seulement 1 Go de VRAM.
Fonctionne même si vous n'avez pas de GPU avec : --cpu
(lent)
Peut charger des modèles/points de contrôle de ckpt, de tenseurs de sécurité et de diffuseurs. VAE autonomes et modèles CLIP.
Embeddings/Inversion textuelle
Loras (régulier, locon et loha)
Hyperréseaux
Chargement de flux de travail complets (avec graines) à partir de fichiers PNG, WebP et FLAC générés.
Enregistrement/chargement des workflows sous forme de fichiers Json.
L'interface des nœuds peut être utilisée pour créer des flux de travail complexes comme celui du correctif d'embauche ou des flux beaucoup plus avancés.
Composition de la zone
Inpainting avec des modèles réguliers et inpainting.
ControlNet et adaptateur T2I
Modèles haut de gamme (ESRGAN, variantes ESRGAN, SwinIR, Swin2SR, etc...)
Modèles unCLIP
GLIGEN
Fusion de modèles
Modèles LCM et Loras
SDXL Turbo
AuraFlow
HunyuanDiT
Aperçus latents avec TAESD
Démarre très vite.
Fonctionne entièrement hors ligne : ne téléchargera jamais rien.
Fichier de configuration pour définir les chemins de recherche des modèles.
Des exemples de workflow peuvent être trouvés sur la page Exemples
Affectation de touches | Explication |
---|---|
Ctrl + Entrée | Mettre en file d'attente le graphique actuel pour la génération |
Ctrl + Maj + Entrée | Mettre en file d'attente le graphique actuel en tant que premier pour la génération |
Ctrl + Alt + Entrée | Annuler la génération actuelle |
Ctrl + Z/Ctrl + Y | Annuler/Rétablir |
Ctrl+S | Enregistrer le flux de travail |
Ctrl + O | Charger le flux de travail |
Ctrl + A | Sélectionnez tous les nœuds |
Alt+C | Réduire/réduire les nœuds sélectionnés |
Ctrl+M | Désactiver/réactiver le son des nœuds sélectionnés |
Ctrl + B | Contourner les nœuds sélectionnés (agit comme si le nœud avait été supprimé du graphique et les fils reconnectés) |
Supprimer/Retour arrière | Supprimer les nœuds sélectionnés |
Ctrl + Retour arrière | Supprimer le graphique actuel |
Espace | Déplacez la toile lorsque vous la maintenez enfoncée et déplacez le curseur |
Ctrl/Maj + Clic | Ajouter le nœud cliqué à la sélection |
Ctrl + C/Ctrl + V | Copiez et collez les nœuds sélectionnés (sans maintenir les connexions aux sorties des nœuds non sélectionnés) |
Ctrl + C/Ctrl + Maj + V | Copiez et collez les nœuds sélectionnés (en conservant les connexions des sorties des nœuds non sélectionnés aux entrées des nœuds collés) |
Maj + Glisser | Déplacer plusieurs nœuds sélectionnés en même temps |
Ctrl + D | Charger le graphique par défaut |
Alt + + | Zoom sur la toile |
Alt+ - | Toile Zoom arrière |
Ctrl + Maj + LMB + Glissement vertical | Toile Zoom avant/arrière |
P. | Épingler/Détacher les nœuds sélectionnés |
Ctrl+G | Regrouper les nœuds sélectionnés |
Q | Basculer la visibilité de la file d'attente |
H | Activer/désactiver la visibilité de l'historique |
R. | Actualiser le graphique |
Double-cliquez sur LMB | Palette de recherche rapide de nœud ouvert |
Maj + Glisser | Déplacez plusieurs fils à la fois |
Ctrl + Alt + LMB | Débranchez tous les fils de la fente cliquée |
Ctrl peut également être remplacé par Cmd pour les utilisateurs de macOS
Il existe une version portable autonome pour Windows qui devrait fonctionner pour fonctionner sur des GPU Nvidia ou pour fonctionner sur votre CPU uniquement sur la page des versions.
Téléchargez simplement, extrayez avec 7-Zip et exécutez. Assurez-vous de placer vos points de contrôle/modèles de diffusion stable (les énormes fichiers ckpt/safetensors) dans : ComfyUImodelscheckpoints
Si vous rencontrez des difficultés pour l'extraire, faites un clic droit sur le fichier -> propriétés -> débloquer
Consultez le fichier de configuration pour définir les chemins de recherche des modèles. Dans la version autonome de Windows, vous pouvez trouver ce fichier dans le répertoire ComfyUI. Renommez ce fichier en extra_model_paths.yaml et modifiez-le avec votre éditeur de texte préféré.
Pour l'exécuter sur des services comme paperspace, kaggle ou colab, vous pouvez utiliser mon Jupyter Notebook
Notez que certaines dépendances ne prennent pas encore en charge Python 3.13, il est donc recommandé d'utiliser 3.12.
Git clone ce dépôt.
Mettez vos points de contrôle SD (les énormes fichiers ckpt/safetensors) dans : models/checkpoints
Mettez votre VAE dans : modèles/vae
Les utilisateurs d'AMD peuvent installer rocm et pytorch avec pip si vous ne l'avez pas déjà installé, voici la commande pour installer la version stable :
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.1
Il s'agit de la commande pour installer Nightly avec ROCm 6.2 qui pourrait avoir quelques améliorations de performances :
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm6.2
Les utilisateurs de Nvidia doivent installer pytorch stable à l'aide de cette commande :
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu124
Il s'agit de la commande permettant d'installer pytorch la nuit, ce qui pourrait améliorer les performances :
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu124
Si vous obtenez l'erreur « Torch non compilé avec CUDA activé », désinstallez Torch avec :
pip uninstall torch
Et réinstallez-le avec la commande ci-dessus.
Installez les dépendances en ouvrant votre terminal dans le dossier ComfyUI et :
pip install -r requirements.txt
Après cela, vous devriez avoir tout installé et pouvoir procéder à l’exécution de ComfyUI.
La prise en charge des GPU Intel est disponible pour tous les GPU Intel pris en charge par l'extension Intel pour Pytorch (IPEX) avec les exigences de prise en charge répertoriées sur la page d'installation. Choisissez votre plateforme et votre méthode d'installation et suivez les instructions. Les étapes sont les suivantes :
Commencez par installer les pilotes ou le noyau répertoriés ou plus récents sur la page d'installation d'IPEX liée ci-dessus pour Windows et Linux si nécessaire.
Suivez les instructions pour installer le kit de base oneAPI d'Intel pour votre plate-forme.
Installez les packages pour IPEX en suivant les instructions fournies sur la page Installation de votre plateforme.
Suivez les instructions d'installation manuelle de ComfyUI pour Windows et Linux et exécutez ComfyUI normalement comme décrit ci-dessus une fois que tout est installé.
Des discussions et de l'aide supplémentaires peuvent être trouvées ici.
Vous pouvez installer ComfyUI sur Apple Mac Silicon (M1 ou M2) avec n’importe quelle version récente de macOS.
Installez pytorch tous les soirs. Pour obtenir des instructions, lisez la formation accélérée PyTorch sur le guide du développeur Mac Apple (assurez-vous d'installer la dernière version de pytorch tous les soirs).
Suivez les instructions d'installation manuelle de ComfyUI pour Windows et Linux.
Installez les dépendances ComfyUI. Si vous disposez d’une autre interface utilisateur de diffusion stable, vous pourrez peut-être réutiliser les dépendances.
Lancez ComfyUI en exécutant python main.py
Remarque : N'oubliez pas d'ajouter vos modèles, VAE, LoRA, etc. aux dossiers Comfy correspondants, comme indiqué dans l'installation manuelle de ComfyUI.
pip install torch-directml
Ensuite, vous pouvez lancer ComfyUI avec : python main.py --directml
python main.py
Essayez de l'exécuter avec cette commande si vous rencontrez des problèmes :
Pour 6700, 6600 et peut-être d'autres RDNA2 ou versions antérieures : HSA_OVERRIDE_GFX_VERSION=10.3.0 python main.py
Pour AMD 7600 et peut-être d'autres cartes RDNA3 : HSA_OVERRIDE_GFX_VERSION=11.0.0 python main.py
Seules les parties du graphique ayant une sortie avec toutes les entrées correctes seront exécutées.
Seules les parties du graphique qui changent d'une exécution à la suivante seront exécutées, si vous soumettez le même graphique deux fois, seule la première sera exécutée. Si vous modifiez la dernière partie du graphique, seule la partie que vous avez modifiée et la partie qui en dépend seront exécutées.
Faire glisser un png généré sur la page Web ou en charger un vous donnera le flux de travail complet, y compris les graines qui ont été utilisées pour le créer.
Vous pouvez utiliser () pour modifier l'accentuation d'un mot ou d'une phrase comme : (bon code : 1.2) ou (mauvais code : 0.8). L'accent par défaut pour () est 1.1. Pour utiliser des caractères () dans votre invite réelle, échappez-les comme ( ou ).
Vous pouvez utiliser {day|night} pour les invites génériques/dynamiques. Avec cette syntaxe, "{wild|card|test}" sera remplacé de manière aléatoire par "wild", "card" ou "test" par le frontend à chaque fois que vous mettez l'invite en file d'attente. Pour utiliser des caractères {} dans votre invite, échappez-les comme : { ou }.
Les invites dynamiques prennent également en charge les commentaires de style C, comme // comment
ou /* comment */
.
Pour utiliser une inversion textuelle des concepts/embeddings dans une invite de texte, placez-les dans le répertoire models/embeddings et utilisez-les dans le nœud CLIPTextEncode comme ceci (vous pouvez omettre l'extension .pt) :
embedding:embedding_filename.pt
Utilisez --preview-method auto
pour activer les aperçus.
L'installation par défaut inclut une méthode de prévisualisation latente rapide en basse résolution. Pour activer des aperçus de meilleure qualité avec TAESD, téléchargez les fichiers taesd_decoder.pth, taesdxl_decoder.pth, taesd3_decoder.pth et taef1_decoder.pth et placez-les dans le dossier models/vae_approx
. Une fois qu'ils sont installés, redémarrez ComfyUI et lancez-le avec --preview-method taesd
pour activer des aperçus de haute qualité.
Générez un certificat auto-signé (non approprié pour une utilisation partagée/en production) et une clé en exécutant la commande : openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 3650 -nodes -subj "/C=XX/ST=StateName/L=CityName/O=CompanyName/OU=CompanySectionName/CN=CommonNameOrHostname"
Utilisez --tls-keyfile key.pem --tls-certfile cert.pem
pour activer TLS/SSL, l'application sera désormais accessible avec https://...
au lieu de http://...
.
Remarque : les utilisateurs Windows peuvent utiliser alexisrolland/docker-openssl ou l'une des distributions binaires tierces pour exécuter l'exemple de commande ci-dessus.
Si vous utilisez un conteneur, notez que le volume mount-v
peut être un chemin relatif donc... -v ".:/openssl-certs" ...
créerait les fichiers de clé et de certificat dans le répertoire actuel de votre commande invite ou terminal PowerShell.
Espace matriciel : #comfyui_space:matrix.org (c'est comme Discord mais open source).
Voir aussi : https://www.comfy.org/
Depuis le 15 août 2024, nous sommes passés à une nouvelle interface, désormais hébergée dans un référentiel distinct : ComfyUI Frontend. Ce référentiel héberge désormais le JS compilé (à partir de TS/Vue) dans le répertoire web/
.
Pour tout bug, problème ou demande de fonctionnalité liée au frontend, veuillez utiliser le référentiel ComfyUI Frontend. Cela nous aidera à gérer et à résoudre plus efficacement les problèmes spécifiques au frontend.
La nouvelle interface est désormais la valeur par défaut pour ComfyUI. Attention toutefois :
L'interface du référentiel principal ComfyUI est mise à jour chaque semaine.
Les versions quotidiennes sont disponibles dans le référentiel frontend séparé.
Pour utiliser la version frontale la plus récente :
Pour la dernière version quotidienne, lancez ComfyUI avec cet argument de ligne de commande :
--front-end-version Comfy-Org/ComfyUI_frontend@latest
Pour une version spécifique, remplacez latest
par le numéro de version souhaité :
--front-end-version Comfy-Org/[email protected]
Cette approche vous permet de basculer facilement entre la version hebdomadaire stable et les mises à jour quotidiennes de pointe, voire même des versions spécifiques à des fins de test.
Si vous devez utiliser l'ancienne interface pour une raison quelconque, vous pouvez y accéder à l'aide de l'argument de ligne de commande suivant :
--front-end-version Comfy-Org/ComfyUI_legacy_frontend@latest
Cela utilisera un instantané de l'interface existante conservée dans le référentiel ComfyUI Legacy Frontend.
Voir cette page pour quelques recommandations