Die leistungsstärkste und modularste Diffusionsmodell-GUI und das Backend.
Mit dieser Benutzeroberfläche können Sie erweiterte stabile Diffusionspipelines mithilfe einer auf Diagrammen/Knoten/Flussdiagrammen basierenden Schnittstelle entwerfen und ausführen. Einige Workflow-Beispiele und die Möglichkeiten von ComfyUI finden Sie hier:
Knoten-/Grafik-/Flussdiagramm-Schnittstelle zum Experimentieren und Erstellen komplexer Stable Diffusion-Workflows, ohne dass etwas programmiert werden muss.
Unterstützt vollständig SD1.x, SD2.x, SDXL, Stable Video Diffusion, Stable Cascade, SD3 und Stable Audio
Fluss
Asynchrones Warteschlangensystem
Viele Optimierungen: Führt nur die Teile des Workflows erneut aus, die sich zwischen den Ausführungen ändern.
Intelligente Speicherverwaltung: Kann Modelle automatisch auf GPUs mit nur 1 GB VRAM ausführen.
Funktioniert auch, wenn Sie keine GPU haben mit: --cpu
(slow)
Kann CKPT-, Safetensor- und Diffusor-Modelle/Kontrollpunkte laden. Eigenständige VAEs und CLIP-Modelle.
Einbettungen/Textinversion
Loras (normal, Locon und Loha)
Hypernetzwerke
Laden vollständiger Workflows (mit Seeds) aus generierten PNG-, WebP- und FLAC-Dateien.
Workflows als Json-Dateien speichern/laden.
Mit der Nodes-Schnittstelle können komplexe Arbeitsabläufe erstellt werden, beispielsweise für Hires-Fixes oder weitaus komplexere Arbeitsabläufe.
Gebietszusammensetzung
Inpainting mit regulären und Inpainting-Modellen.
ControlNet und T2I-Adapter
Gehobene Modelle (ESRGAN, ESRGAN-Varianten, SwinIR, Swin2SR usw.)
UNCLIP-Modelle
GLIGEN
Modellzusammenführung
LCM-Modelle und Loras
SDXL Turbo
AuraFlow
HunyuanDiT
Latente Vorschauen mit TAESD
Springt sehr schnell an.
Funktioniert vollständig offline: Es wird nie etwas heruntergeladen.
Konfigurationsdatei zum Festlegen der Suchpfade für Modelle.
Workflow-Beispiele finden Sie auf der Seite Beispiele
Tastenkombination | Erläuterung |
---|---|
Strg + Eingabetaste | Aktuelles Diagramm zur Generierung in die Warteschlange stellen |
Strg + Umschalt + Eingabetaste | Aktuelles Diagramm als erstes zur Generierung in die Warteschlange stellen |
Strg + Alt + Eingabetaste | Aktuelle Generation abbrechen |
Strg + Z/Strg + Y | Rückgängig/Wiederherstellen |
Strg + S | Workflow speichern |
Strg + O | Workflow laden |
Strg + A | Wählen Sie alle Knoten aus |
Alt + C | Ausgewählte Knoten ein-/ausblenden |
Strg + M | Ausgewählte Knoten stummschalten/Stummschaltung aufheben |
Strg + B | Ausgewählte Knoten umgehen (verhält sich so, als ob der Knoten aus dem Diagramm entfernt und die Drähte wieder verbunden würden) |
Löschen/Rücktaste | Ausgewählte Knoten löschen |
Strg + Rücktaste | Löschen Sie das aktuelle Diagramm |
Raum | Bewegen Sie die Leinwand, indem Sie sie gedrückt halten und den Cursor bewegen |
Strg/Umschalt + Klicken | Angeklickten Knoten zur Auswahl hinzufügen |
Strg + C/Strg + V | Ausgewählte Knoten kopieren und einfügen (ohne Verbindungen zu Ausgängen nicht ausgewählter Knoten aufrechtzuerhalten) |
Strg + C/Strg + Umschalt + V | Ausgewählte Knoten kopieren und einfügen (Verbindungen von Ausgängen nicht ausgewählter Knoten zu Eingängen eingefügter Knoten beibehalten) |
Umschalt + Ziehen | Verschieben Sie mehrere ausgewählte Knoten gleichzeitig |
Strg + D | Standarddiagramm laden |
Alt + + | Leinwand Vergrößern |
Alt + - | Leinwand Verkleinern |
Strg + Umschalt + LMB + vertikales Ziehen | Leinwand Vergrößern/verkleinern |
P | Ausgewählte Knoten anheften/lösen |
Strg + G | Gruppieren Sie ausgewählte Knoten |
Q | Schalten Sie die Sichtbarkeit der Warteschlange um |
H | Sichtbarkeit des Verlaufs umschalten |
R | Diagramm aktualisieren |
Doppelklicken Sie mit der linken Maustaste | Öffnen Sie die Schnellsuchpalette für Knoten |
Umschalt + Ziehen | Bewegen Sie mehrere Drähte gleichzeitig |
Strg + Alt + LMB | Trennen Sie alle Drähte vom eingeklickten Steckplatz |
Für macOS-Benutzer kann stattdessen auch Strg durch Cmd ersetzt werden
Auf der Release-Seite gibt es einen portablen Standalone-Build für Windows, der für die Ausführung auf Nvidia-GPUs oder nur für die Ausführung auf Ihrer CPU funktionieren sollte.
Einfach herunterladen, mit 7-Zip entpacken und ausführen. Stellen Sie sicher, dass Sie Ihre Stable Diffusion-Checkpoints/Modelle (die riesigen ckpt/safetensors-Dateien) unter ComfyUImodelscheckpoints ablegen
Wenn Sie Probleme beim Extrahieren haben, klicken Sie mit der rechten Maustaste auf die Datei -> Eigenschaften -> Blockierung aufheben
Informationen zum Festlegen der Suchpfade für Modelle finden Sie in der Konfigurationsdatei. Im eigenständigen Windows-Build finden Sie diese Datei im ComfyUI-Verzeichnis. Benennen Sie diese Datei in extra_model_paths.yaml um und bearbeiten Sie sie mit Ihrem bevorzugten Texteditor.
Um es auf Diensten wie Paperspace, Kaggle oder Colab auszuführen, können Sie mein Jupyter Notebook verwenden
Beachten Sie, dass einige Abhängigkeiten Python 3.13 noch nicht unterstützen. Daher wird die Verwendung von 3.12 empfohlen.
Git klont dieses Repo.
Legen Sie Ihre SD-Checkpoints (die riesigen ckpt/safetensors-Dateien) in: models/checkpoints ab
Geben Sie Ihre VAE ein: models/vae
AMD-Benutzer können rocm und pytorch mit pip installieren, wenn Sie es noch nicht installiert haben. Dies ist der Befehl zum Installieren der stabilen Version:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.1
Dies ist der Befehl zum Installieren von Nightly mit ROCm 6.2, der möglicherweise einige Leistungsverbesserungen mit sich bringt:
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm6.2
Nvidia-Benutzer sollten Stable Pytorch mit diesem Befehl installieren:
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu124
Dies ist der Befehl, um Pytorch stattdessen jede Nacht zu installieren, was zu Leistungsverbesserungen führen könnte:
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu124
Wenn Sie die Fehlermeldung „Torch nicht mit aktiviertem CUDA kompiliert“ erhalten, deinstallieren Sie Torch mit:
pip uninstall torch
Und installieren Sie es erneut mit dem obigen Befehl.
Installieren Sie die Abhängigkeiten, indem Sie Ihr Terminal im ComfyUI-Ordner öffnen und:
pip install -r requirements.txt
Danach sollte alles installiert sein und Sie können mit der Ausführung von ComfyUI fortfahren.
Intel-GPU-Unterstützung ist für alle Intel-GPUs verfügbar, die von Intels Extension for Pytorch (IPEX) unterstützt werden, wobei die auf der Installationsseite aufgeführten Supportanforderungen erfüllt sind. Wählen Sie Ihre Plattform und Installationsmethode und befolgen Sie die Anweisungen. Die Schritte sind wie folgt:
Beginnen Sie bei Bedarf mit der Installation der Treiber oder des Kernels, die auf der oben verlinkten Installationsseite von IPEX für Windows und Linux aufgeführt oder neuer sind.
Befolgen Sie die Anweisungen, um das oneAPI Basekit von Intel für Ihre Plattform zu installieren.
Installieren Sie die Pakete für IPEX anhand der Anweisungen auf der Installationsseite für Ihre Plattform.
Befolgen Sie die manuellen Installationsanweisungen von ComfyUI für Windows und Linux und führen Sie ComfyUI wie oben beschrieben normal aus, nachdem alles installiert ist.
Weitere Diskussionen und Hilfe finden Sie hier.
Sie können ComfyUI mit jeder aktuellen macOS-Version auf Apple Mac-Chips (M1 oder M2) installieren.
Installieren Sie Pytorch jede Nacht. Anweisungen finden Sie im Apple-Entwicklerhandbuch „Accelerated PyTorch Training on Mac“ (stellen Sie sicher, dass Sie jeden Abend die neueste Version von PyTorch installieren).
Befolgen Sie die manuellen Installationsanweisungen von ComfyUI für Windows und Linux.
Installieren Sie die ComfyUI-Abhängigkeiten. Wenn Sie über eine andere Stable Diffusion-Benutzeroberfläche verfügen, können Sie die Abhängigkeiten möglicherweise wiederverwenden.
Starten Sie ComfyUI, indem Sie python main.py
ausführen
Hinweis : Denken Sie daran, Ihre Modelle, VAE, LoRAs usw. zu den entsprechenden Comfy-Ordnern hinzuzufügen, wie in der manuellen Installation von ComfyUI beschrieben.
pip install torch-directml
Dann können Sie ComfyUI starten mit: python main.py --directml
python main.py
Versuchen Sie, es mit diesem Befehl auszuführen, wenn Sie Probleme haben:
Für 6700, 6600 und möglicherweise andere RDNA2 oder älter: HSA_OVERRIDE_GFX_VERSION=10.3.0 python main.py
Für AMD 7600 und möglicherweise andere RDNA3-Karten: HSA_OVERRIDE_GFX_VERSION=11.0.0 python main.py
Nur Teile des Diagramms, die eine Ausgabe mit allen korrekten Eingaben haben, werden ausgeführt.
Es werden nur Teile des Diagramms ausgeführt, die sich von Ausführung zu Ausführung ändern. Wenn Sie dasselbe Diagramm zweimal einreichen, wird nur das erste ausgeführt. Wenn Sie den letzten Teil des Diagramms ändern, werden nur der von Ihnen geänderte Teil und der davon abhängige Teil ausgeführt.
Wenn Sie ein generiertes PNG auf die Webseite ziehen oder laden, erhalten Sie den vollständigen Workflow, einschließlich der bei der Erstellung verwendeten Seeds.
Sie können () verwenden, um die Betonung eines Wortes oder einer Phrase zu ändern, z. B.: (guter Code:1.2) oder (schlechter Code:0.8). Die Standardhervorhebung für () ist 1,1. Um ()-Zeichen in Ihrer eigentlichen Eingabeaufforderung zu verwenden, maskieren Sie sie wie ( oder ).
Sie können {day|night} für Platzhalter-/dynamische Eingabeaufforderungen verwenden. Mit dieser Syntax wird „{wild|card|test}“ vom Frontend jedes Mal, wenn Sie die Eingabeaufforderung in die Warteschlange stellen, zufällig durch „wild“, „card“ oder „test“ ersetzt. Um {}-Zeichen in Ihrer eigentlichen Eingabeaufforderung zu verwenden, maskieren Sie diese wie folgt: { oder }.
Dynamische Eingabeaufforderungen unterstützen auch Kommentare im C-Stil, wie // comment
oder /* comment */
.
Um eine textuelle Umkehrung von Concepts/Embeddings in einer Texteingabeaufforderung zu verwenden, legen Sie sie im Verzeichnis models/embeddings ab und verwenden Sie sie im CLIPTextEncode-Knoten wie folgt (Sie können die Erweiterung .pt weglassen):
embedding:embedding_filename.pt
Verwenden Sie --preview-method auto
um Vorschauen zu aktivieren.
Die Standardinstallation umfasst eine schnelle latente Vorschaumethode mit niedriger Auflösung. Um eine Vorschau mit höherer Qualität mit TAESD zu ermöglichen, laden Sie taesd_decoder.pth, taesdxl_decoder.pth, taesd3_decoder.pth und taef1_decoder.pth herunter und legen Sie sie im Ordner models/vae_approx
ab. Sobald sie installiert sind, starten Sie ComfyUI neu und starten Sie es mit --preview-method taesd
um hochwertige Vorschauen zu ermöglichen.
Generieren Sie ein selbstsigniertes Zertifikat (nicht für die gemeinsame/Produktionsverwendung geeignet) und einen Schlüssel, indem Sie den folgenden Befehl ausführen: 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"
Verwenden Sie --tls-keyfile key.pem --tls-certfile cert.pem
, um TLS/SSL zu aktivieren. Auf die App kann jetzt mit https://...
statt mit http://...
zugegriffen werden.
Hinweis: Windows-Benutzer können alexisrolland/docker-openssl oder eine der Binärdistributionen von Drittanbietern verwenden, um das obige Befehlsbeispiel auszuführen.
Wenn Sie einen Container verwenden, beachten Sie, dass der Volume-Mount-v
ein relativer Pfad sein kann, sodass... -v ".:/openssl-certs" ...
die Schlüssel- und Zertifikatsdateien im aktuellen Verzeichnis Ihres Befehls erstellen würde Eingabeaufforderung oder Powershell-Terminal.
Matrixraum: #comfyui_space:matrix.org (es ist wie Discord, aber Open Source).
Siehe auch: https://www.comfy.org/
Seit dem 15. August 2024 sind wir auf ein neues Frontend umgestiegen, das nun in einem separaten Repository gehostet wird: ComfyUI Frontend. Dieses Repository hostet nun das kompilierte JS (von TS/Vue) im Verzeichnis web/
.
Bei Fehlern, Problemen oder Funktionswünschen im Zusammenhang mit dem Frontend verwenden Sie bitte das ComfyUI Frontend-Repository. Dies wird uns helfen, Frontend-spezifische Anliegen effizienter zu verwalten und anzugehen.
Das neue Frontend ist jetzt der Standard für ComfyUI. Bitte beachten Sie jedoch:
Das Frontend im Haupt-ComfyUI-Repository wird wöchentlich aktualisiert.
Tägliche Releases sind im separaten Frontend-Repository verfügbar.
Um die aktuellste Frontend-Version zu verwenden:
Starten Sie ComfyUI für die neueste tägliche Version mit diesem Befehlszeilenargument:
--front-end-version Comfy-Org/ComfyUI_frontend@latest
Ersetzen Sie für eine bestimmte Version latest
durch die gewünschte Versionsnummer:
--front-end-version Comfy-Org/[email protected]
Dieser Ansatz ermöglicht Ihnen den einfachen Wechsel zwischen der stabilen wöchentlichen Veröffentlichung und den hochmodernen täglichen Updates oder sogar bestimmten Versionen zu Testzwecken.
Wenn Sie aus irgendeinem Grund das Legacy-Frontend verwenden müssen, können Sie mit dem folgenden Befehlszeilenargument darauf zugreifen:
--front-end-version Comfy-Org/ComfyUI_legacy_frontend@latest
Dabei wird ein Snapshot des Legacy-Frontends verwendet, der im ComfyUI Legacy Frontend-Repository gespeichert ist.
Auf dieser Seite finden Sie einige Empfehlungen