SSD Nodes Learn Hosting plans →
Anleitungen Matt ConnorVon Matt Connor · Aktualisiert 2026-08-13

KI-Bildgenerator selbst hosten: Hardware und Kosten

Welche Hardware braucht Stable Diffusion wirklich? SDXL belegt 6,94 GB GPU-Speicher, ein CPU-VPS braucht 10 bis 20 Minuten pro 1024x1024-Bild.

Was ein selbst gehosteter KI-Bildgenerator wirklich benötigt

Ein selbst gehosteter KI-Bildgenerator besteht aus einer Webanwendung und einer Modelldatei. Die Anwendung ist ComfyUI und läuft auf jedem Linux-System. Das Modell bestimmt die Anforderungen an die Hardware. Ein Checkpoint der SDXL-Klasse ist eine einzelne Datei mit 6.94 GB und sollte im GPU-Speicher liegen. Diese eine Tatsache bestimmt das gesamte Budget. Lesen Sie daher die folgende Hardware-Übersicht, bevor Sie einen Server mieten.

Die sachliche Zusammenfassung: Ein VPS ohne GPU kann die Software installieren und bereitstellen. Mit einem älteren Stable Diffusion 1.5-Modell kann er Bilder mit 512x512 in ein bis zwei Minuten pro Bild erzeugen. Auf demselben System benötigt SDXL mit 1024x1024 zehn bis zwanzig Minuten pro Bild. Das bedeutet nicht, dass die Konfiguration fehlerhaft ist. Es ist eine Frage der Rechenleistung. Dieser Leitfaden erklärt die Hintergründe.

Die Modellgröße bestimmt die Maschine

Die Bildgenerierung läuft in einer Entrauschungsschleife. Bei einem Rendering mit 30 Schritten wird das vollständige Modell 30-mal über das Bild ausgeführt. Jeder Durchlauf liest alle Gewichte. SDXL benötigt bei halber Genauigkeit etwa 6.9 GB für die Gewichte. Daher werden bei einem Rendering mit 30 Schritten ungefähr 200 GB durch den Speicher bewegt, bevor ein Bild angezeigt wird.

Eine GPU mit 24 GB Videospeicher (VRAM, der direkt neben dem Grafikchip verlötete Speicher) liest mit mehreren hundert Gigabyte pro Sekunde und kann alle 6.9 GB gleichzeitig aufnehmen. Ein CPU-VPS liest den System-RAM mit einigen zehn Gigabyte pro Sekunde. Außerdem verfügt er über keine Matrix-Hardware für die Faltungen. Daher läuft dieselbe Schleife ein bis zwei Größenordnungen langsamer. Das ist dasselbe Argument zur Speicherbandbreite, das auch Textmodelle bestimmt. Es lohnt sich, dazu auch wann sich ein VPS mit einer GPU tatsächlich lohnt zu lesen.

Die Bildgenerierung unterscheidet sich in einem wichtigen Punkt von der Textgenerierung. Ein Chatmodell gibt Tokens im Datenstrom aus. Dadurch bleibt eine langsame Maschine nutzbar, weil während des Lesens neue Wörter erscheinen. Ein Bild wird erst angezeigt, wenn der letzte Schritt abgeschlossen ist. Langsam bedeutet, auf einen Fortschrittsbalken zu starren.

Die Hardware-Leiter mit konkreten Zahlen

Der folgende Block enthält typische Werte für ein SDXL-Bild mit 1024x1024, 30 Schritten und dem Euler-Sampler, Stand Juli 2026. Betrachten Sie diese Werte als Größenordnung. Ihr Sampler, die Schrittzahl und die Auflösung verändern sie.

ChartOne SDXL image, 1024x1024, 30 steps (typical, July 2026)
The data behind this chart
[
  {
    "label": "8 vCPU VPS, no GPU",
    "seconds_per_image": 780
  },
  {
    "label": "8GB VRAM GPU",
    "seconds_per_image": 32
  },
  {
    "label": "12GB VRAM GPU",
    "seconds_per_image": 18
  },
  {
    "label": "24GB VRAM GPU",
    "seconds_per_image": 9
  }
]

Die CPU-Zeile enthält 780 Sekunden, also etwa dreizehn Minuten. Die Karte mit 24 GB benötigt 9 Sekunden. Diese Differenz kaufen Sie mit leistungsfähigerer Hardware.

Lesen Sie die Hardware-Leiter folgendermaßen. Unter 8 GB VRAM läuft SDXL weiterhin, weil ComfyUI Layer automatisch in den Arbeitsspeicher auslagert und eine Karte mit nur 1 GB ansteuern kann. Das Auslagern kostet bei jedem Schritt Zeit. Daher benötigt eine Karte mit 6 GB pro Bild eher eine Minute als 30 Sekunden. Mit 8 GB passt das Basismodell in den VRAM, und das Rendern läuft ohne größere Einschränkungen. Mit 12 GB können Sie neben dem Checkpoint ein ControlNet oder zwei ControlNets im Speicher halten, ohne auszulagern. Mit 24 GB können Sie SDXL, den Refiner und Upscaling in einem Workflow ausführen. Außerdem können Sie mit dem Training von LoRA-Adaptern beginnen. Dafür wird deutlich mehr Speicher benötigt als für die Generierung.

Was ein CPU-VPS kann und was nicht

Er kann mehr, als viele erwarten, und weniger, als das Marketing verspricht. Benennen Sie die Grenze konkret.

Auf einem CPU-VPS können Sie ComfyUI installieren, die Weboberfläche bereitstellen, Ihre Modellsammlung speichern, die Warteschlange ausführen und Bilder vollständig ohne GPU generieren. Bei Stable Diffusion 1.5 mit 512x512 und 20 Schritten benötigen Sie auf 8 modernen vCPUs mit 16 GB RAM ungefähr 60 bis 150 Sekunden pro Bild. Für einen Batch-Job, der über Nacht läuft, oder einen Endpunkt mit geringem Bildaufkommen hinter einer Warteschlange ist das durchaus ausreichend.

Ein CPU-VPS eignet sich nicht für interaktives Arbeiten. Bei der Prompt-Iteration bedeuten 20 Renderings pro Stunde und 13 Minuten pro Rendering, dass Sie 4 Ergebnisse erhalten. Auch Training ist damit nicht möglich. Das LoRA-Finetuning auf einer CPU wird in Tagen statt in Stunden gemessen. Betrachten Sie es daher als nicht verfügbar.

Die Speicherregel für den reinen CPU-Betrieb unterscheidet sich von der GPU-Regel. Die Gewichte werden in den System-RAM geladen. Sie benötigen daher die Modellgröße plus zusätzlichen Arbeitsspeicher: etwa 16 GB RAM für SDXL und etwa 8 GB für SD 1.5. Ein System mit 4 GB startet ComfyUI und wird anschließend während des ersten Renderings vom Out-of-Memory-Killer beendet. Der Prozess verschwindet dann mit Killed in dmesg, ohne Python-Traceback.

ComfyUI auf einem GPU-Rechner installieren

Dies sind die Upstream-Befehle. Beginnen Sie mit einer sauberen Ubuntu-24.04-Installation, auf der der NVIDIA-Treiber bereits vorhanden ist. Prüfen Sie zuerst den Treiber. Ohne diese Prüfung sehen alle späteren Fehler gleich aus.

nvidia-smi

Der Befehl muss eine Tabelle mit Ihrer Grafikkarte und einer CUDA-Version ausgeben. command not found oder NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver bedeutet, dass der Treiber fehlt oder das Kernelmodul nach einem Upgrade nicht geladen wurde. Beheben Sie das, bevor Sie fortfahren. Andernfalls wechselt ComfyUI still auf die CPU, und Sie machen die Software dafür verantwortlich.

sudo apt update
sudo apt install -y git python3-venv python3-pip wget
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
python3 -m venv venv
. venv/bin/activate
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu130
pip install -r requirements.txt

Die virtuelle Umgebung ist keine optionale Empfehlung. PyTorch zieht eine große Abhängigkeitsstruktur nach sich. Wenn Sie PyTorch systemweit auf einem Rechner installieren, auf dem andere Software läuft, können Sie dadurch diese andere Software beschädigen. Prüfen Sie, ob PyTorch die Grafikkarte erkennt, bevor Sie fortfahren.

python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"

True zusammen mit dem Namen Ihrer Grafikkarte bedeutet, dass der Software-Stack funktioniert. False bedeutet, dass das installierte Wheel nicht zum Treiber passt. Häufig wurde bereits ein CPU-only-Torch-Wheel aus dem Cache verwendet. Installieren Sie das Paket mit der oben angegebenen Index-URL erneut.

Modell herunterladen und den Speicherbedarf planen

ComfyUI enthält keine Modelldateien. Checkpoints gehören nach models/checkpoints, VAE-Dateien nach models/vae und LoRA-Adapter nach models/loras.

cd ~/ComfyUI/models/checkpoints
wget https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors

Verwenden Sie immer .safetensors statt .ckpt. Eine .ckpt-Datei ist ein serialisiertes Python-Objekt. Beim Laden wird Code des Erstellers ausgeführt. Das Format safetensors enthält ausschließlich Tensoren. Eine manipulierte Datei kann daher keinen Code ausführen.

Der Speicherbedarf wird häufig unterschätzt. Ein SDXL-Basis-Checkpoint belegt 6.94 GB. Der Refiner benötigt weitere 6 GB. Ein einzelnes ControlNet-Modell belegt 1.4 bis 2.5 GB, ein Upscaler 60 bis 350 MB und eine LoRA 20 bis 400 MB. Wer ComfyUI regelmäßig verwendet, lädt innerhalb einer Woche meist ein zweites und drittes Basismodell herunter. Planen Sie für eine funktionierende Installation 100 GB Speicherplatz ein. Überwachen Sie auch das Ausgabeverzeichnis: PNG-Dateien mit 1024x1024 Pixeln belegen jeweils 1 bis 2 MB. Ein unbeaufsichtigter Batch kann einen kleinen Datenträger unbemerkt füllen. Legen Sie models/ und output/ auf einem erweiterbaren Volume ab. Sichern Sie Ihre Workflow-JSON-Dateien beispielsweise mit verschlüsselten inkrementellen Backups in Object Storage. Die Modelldateien können erneut heruntergeladen werden. Die von Ihnen angepassten Workflows nicht.

Ausführen und sicher darauf zugreifen

cd ~/ComfyUI
. venv/bin/activate
python main.py --listen 127.0.0.1 --port 8188

ComfyUI stellt seinen Dienst auf Port 8188 bereit. Auf einem System, das nur über eine CPU verfügt, fügen Sie --cpu hinzu. Dadurch wird der CPU-Pfad verwendet, anstatt wegen eines fehlenden CUDA-Geräts abzubrechen.

Binden Sie den Dienst an 127.0.0.1, nicht an 0.0.0.0. ComfyUI hat keine Anmeldeseite und keine Benutzerkonten. Jeder, der den Port erreicht, kann Aufträge in die Warteschlange stellen, jedes von Ihnen erzeugte Bild lesen und benutzerdefinierte Nodes installieren. Dadurch kann beliebiger Code auf Ihrem Server ausgeführt werden. Greifen Sie stattdessen über einen SSH-Tunnel von Ihrem Laptop darauf zu.

ssh -N -L 8188:127.0.0.1:8188 you@your-server

Öffnen Sie anschließend http://127.0.0.1:8188 lokal. Wenn Sie einen echten Zugriff für mehrere Benutzer benötigen, schalten Sie einen Reverse Proxy mit Authentifizierung davor und lassen Sie die Anwendung an localhost gebunden. Die gleiche Begründung gilt für jeden nicht authentifizierten Self-Hosted-Dienst. Dieses Vorgehen ist das Standardmuster bei Docker-Compose-Bereitstellungen auf einem VPS.

Unter systemd dauerhaft ausführen

Eine Render-Warteschlange, die beim Schließen Ihrer SSH-Sitzung beendet wird, ist kein Dienst. Schreiben Sie /etc/systemd/system/comfyui.service.

[Unit]
Description=ComfyUI
After=network-online.target

[Service]
User=comfy
WorkingDirectory=/home/comfy/ComfyUI
ExecStart=/home/comfy/ComfyUI/venv/bin/python main.py --listen 127.0.0.1 --port 8188
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now comfyui
systemctl status comfyui

active (running) und eine Logzeile mit To see the GUI go to: http://127.0.0.1:8188 zeigen, dass der Dienst läuft. Beachten Sie, dass ExecStart den Interpreter innerhalb der virtuellen Umgebung direkt angibt, weil systemd Ihr Shell-Profil nicht ausführt und activate nie erfolgt.

Die pragmatische Empfehlung je nach Budget

Wenn Sie die Bildgenerierung ausprobieren möchten und die Kosten wichtiger sind als die Geschwindigkeit, wählen Sie einen CPU-VPS mit 16 GB RAM, führen Sie SD 1.5 mit 512x512 aus und akzeptieren Sie ein bis zwei Minuten pro Bild. Das ist der realistische Einstieg und kostet nur einen Bruchteil einer Lösung mit angeschlossener GPU. Außerdem können Sie dort zunächst die Modellsammlung und die Workflows hosten, während Sie sich entscheiden.

Wenn Sie täglich Prompts iterieren, mieten Sie stundenweise eine GPU mit mindestens 12 GB VRAM bei einem GPU-Cloud-Anbieter und fahren Sie sie herunter, sobald Sie fertig sind. Bildgenerierung ist eine sprunghafte Arbeitslast. Eine ungenutzte GPU mit monatlicher Abrechnung ist daher die häufigste Ursache für unnötig hohe Kosten. Speichern Sie die Checkpoints auf günstigem Blockspeicher und binden Sie ihn ein.

Wenn Sie andere Personen bedienen oder LoRA-Adapter trainieren, benötigen Sie 24 GB VRAM und eine dauerhaft betriebene Maschine. Ab diesem Punkt lohnt sich dieselbe Maschine in der Regel auch für den Betrieb eines lokalen Sprachmodells. Diese Konfiguration wird unter Self-Hosting eines LLM mit Ollama beschrieben.

Unabhängig davon, für welche Stufe Sie sich entscheiden, messen Sie zuerst Ihre eigene Maschine, bevor Sie veröffentlichten Angaben vertrauen. Lassen Sie denselben Prompt fünfmal durchlaufen und lesen Sie die von ComfyUI in der Konsole ausgegebene Zahl der Sekunden pro Iteration ab. Diese Zahl zeigt Ihre tatsächliche Position in der Leistungsskala.

FAQ

Kann ich Stable Diffusion ohne GPU ausführen?

Ja. ComfyUI läuft mit python main.py --cpu und erzeugt auch ohne Grafikkarte echte Bilder. Rechnen Sie bei Stable Diffusion 1.5 mit 60 bis 150 Sekunden pro Bild bei 512x512 und bei SDXL mit zehn bis zwanzig Minuten pro Bild bei 1024x1024 auf 8 modernen vCPUs. Das reicht für Batch-Jobs über Nacht und Endpunkte mit geringem Volumen. Für die Iteration von Prompts ist es nicht geeignet. Das Training ist damit vollständig unpraktikabel.

Wie viel VRAM benötige ich für SDXL?

Mit 8 GB läuft SDXL bei 1024x1024 problemlos. Unterhalb davon lagert ComfyUI Layer automatisch in den System-RAM aus und funktioniert weiterhin, bis hinunter auf etwa 1 GB VRAM. Jeder ausgelagerte Schritt kostet jedoch zusätzliche Zeit. Mit 12 GB können Sie neben dem Checkpoint auch ein ControlNet im Speicher halten. 24 GB reichen für Base-Modell, Refiner und Upscaling in einem Workflow aus und sind die praktische Untergrenze für das Training von LoRA-Adaptern.

Wie viel Speicherplatz benötigen die Modelle?

Der SDXL-Basis-Checkpoint allein benötigt 6.94 GB. Der Refiner benötigt zusätzlich etwa 6 GB. ControlNet-Modelle benötigen jeweils 1.4 bis 2.5 GB, LoRA-Adapter 20 bis 400 MB und Upscaler bis zu 350 MB. Planen Sie für eine einsatzbereite Installation mit einigen Basismodellen 100 GB ein. Überwachen Sie das Ausgabeverzeichnis separat, da 1024x1024-PNG-Dateien jeweils 1 bis 2 MB groß sind.

Ist es sicher, ComfyUI im öffentlichen Internet bereitzustellen?

Nein. ComfyUI bietet keinerlei Authentifizierung. Außerdem installiert und führt das Custom-Node-System Python-Code über die Benutzeroberfläche aus. Ein offener Port ermöglicht daher Remote Code Execution auf Ihrem Server. Binden Sie ComfyUI an 127.0.0.1, greifen Sie über einen SSH-Tunnel mit ssh -N -L 8188:127.0.0.1:8188 you@your-server darauf zu und schalten Sie einen Reverse Proxy mit Authentifizierung davor, wenn mehrere Personen Zugriff benötigen.

Warum wurde mein Render-Vorgang ohne Fehlermeldung beendet?

Wenn der Prozess mit Killed in dmesg verschwindet und kein Python-Traceback angezeigt wird, war der Linux-Out-of-Memory-Killer aktiv. Das ist kein Fehler in ComfyUI. Auf einem System ohne GPU liegen die Gewichte im System-RAM. SDXL benötigt daher etwa 16 GB und SD 1.5 etwa 8 GB, jeweils zuzüglich des Arbeitsspeichers für die Verarbeitung. Erhöhen Sie den RAM, richten Sie Swap ein oder verwenden Sie ein kleineres Modell und eine niedrigere Auflösung.