Prompts zu schreiben ist der langsame Teil der Massenerzeugung von Bildern. Dieser Workflow übergibt ihn an eine KI, die sehen kann: Ein Vision-Language-Modell betrachtet jede deiner Skizzen, beschreibt sie und schreibt einen frischen Prompt. Dann erzeugt SDXL oder Flux ein neues Bild, das der Skizze über ein Depth-ControlNet folgt.
Alles läuft lokal auf deinem Computer, offline. Füttere es vor dem Schlafengehen mit 10 oder 50 Skizzen, und du kannst mit ein paar tausend Bildern aufwachen.
Kurz gefasst
- Ollama führt die Sprachmodelle lokal aus; ComfyUI spricht über ein Node-Paket mit ihm.
- Modell: Etwa 4,7 GB sind der Sweet Spot. LLaVA Q4 lieferte mir die besten Prompts.
- Einstellungen, die zählen: Keep-alive 0 mit Flux, maximale Tokens 512 für Flux oder 77 für SDXL und ein zufälliger Seed.
- Dann: Der Prompt plus eine Tiefenkarte der Skizze gehen an SDXL oder Flux.
LLMs, MLLMs und VLMs, kurz erklärt
Das ursprüngliche ChatGPT nahm nur Text entgegen: ein großes Sprachmodell (LLM). ChatGPT, Gemini und Grok sind heute multimodale Modelle (MLLMs), die auch Bilder, Audio und mehr aufnehmen. Ein Vision-Language-Modell (VLM) ist die Variante für Bild und Text, und genau das brauchen wir: etwas, das ein Bild ansehen und darüber schreiben kann.
Was ich vorher nicht wusste: Du kannst sowohl LLMs als auch VLMs auf deinem eigenen Computer ausführen, ganz ohne Internetverbindung.
1. Ollama installieren
Ollama führt Sprachmodelle lokal aus. Lade das Installationsprogramm herunter (etwa 700 MB; die Modelle selbst sind größer), führe es aus und füge, wenn es dich darum bittet, den angezeigten Befehl in eine Eingabeaufforderung ein, um die Einrichtung abzuschließen. Wenn es fertig ist, erscheint das Ollama-Symbol in der Taskleiste. Es gibt nichts zu konfigurieren; es muss nur neben ComfyUI laufen.
2. Die Node-Pakete installieren
Im ComfyUI-Custom Nodes Manager zeigt eine Suche nach „VLM“ viele Pakete. Viele wurden nicht aktualisiert, seit ComfyUI von Python 3.11 auf 3.12 gewechselt ist, und funktionieren nicht mehr. Die beiden, die ich genutzt habe und die funktionieren:
- ComfyUI Ollama Describer, die Nodes, die mit Ollama sprechen.
- ComfyUI LayerStyle, das nicht für Sprachmodelle gedacht ist, aber später im Workflow nützlich ist.
Installiere beide und starte ComfyUI neu.
3. Ein Modell wählen
Füge zum Anfang einen Node Ollama Text Describer hinzu. Seine Modellliste zeigt Namen und Größen. Modelle sind nicht vorinstalliert; wenn du eines zum ersten Mal auswählst, wird es in deinen Benutzerordner auf dem Systemlaufwerk heruntergeladen. Diesen Ordner kannst du in Ollamas Einstellungen ändern (klicke auf das Taskleisten-Symbol).
Zwei Ärgernisse, die man kennen sollte:
- Heruntergeladene Modelle behalten keine lesbaren Namen, sodass du nicht erkennen kannst, welche du schon hast. Führe eine Notiz.
- Textmodelle können nicht sehen. Ein LLM erzeugt nur Text; für Bildbeschreibungen brauchst du ein Vision-Modell.
Nach dem, was ich ausprobiert habe:
| Modellgröße | Ergebnis |
|---|---|
| ~350 MB (0,5B Parameter) | Im Grunde nutzlos; dümmer als GPT-3 |
| ~1 GB | Okay, nicht toll |
| ~4,7 GB | Der beste Kompromiss zwischen Qualität und Größe |
| Über 5 GB | Ich bin nicht weitergegangen; es braucht neben dem Bildmodell zu viel VRAM |
4. Ein Bild beschreiben und einen Prompt schreiben
Für Bilder nutzt du den Node Ollama Image Describer. Er nimmt ein Bild, folgt deinen Anweisungen und gibt Text aus, der zum Prompt wird. Verbinde einen Text-Vorschau-Node, um ihn zu lesen.
Ich habe eine meiner Skizzen geladen und LLaVA Q4 (LLaVA mit 4-Bit-Quantisierung) genutzt, das unter den Modellen, die ich ausprobiert habe, die besten Prompts lieferte. Der Node hat zwei Anweisungsfelder. Ich habe festgestellt, dass das zweite das ist, auf das es wirklich ankommt. Meines sagte im Kern: Erstelle einen Prompt für die fotografische Bilderzeugung dieser Person in diesem Umfeld, und verwende keine Anführungszeichen, die manche Modelle überall setzen.
Vermeide „Thinking“-Modelle. Sie schreiben ihre Überlegungen aus („Ich überlege, wie ich antworte…“), statt einen Prompt zu liefern, was für ein Bildmodell nutzlos ist.
5. Die Einstellungen, die zählen
Keep-alive. -1 hält das Modell im Speicher geladen; 0 entlädt es nach jedem Prompt. Normalerweise nutze ich 0. Mit SDXL und 16–24 GB VRAM kannst du es geladen lassen und pro Bild ein paar Sekunden sparen. Mit Flux musste ich es jedes Mal entladen, sogar bei 24 GB: Sonst belegte das 5-GB-Vision-Modell so viel Speicher, dass der Bild-Render hängen blieb.
Maximale Tokens. Passe sie dem Bildmodell an: 512 für Flux, aber nur 77 für SDXL, die Größe des Fensters seines Text-Encoders.
Seed. Der Seed des Beschreibers ändert sich nicht von selbst, du bekämst also bei jedem Durchlauf denselben Prompt. Füge den Seed-Node von rgthree hinzu, stelle ihn so ein, dass er jedes Mal zufällig wird, und verbinde ihn mit dem Beschreiber. Jetzt schreibt jeder Durchlauf einen neuen Prompt. In Kombination mit einer Vorgabe in den Anweisungen („an einem bestimmten Ort“, „in diesem Szenario“) erzeugt jede Skizze einen Strom verschiedener Ideen.
Repeat Penalty und Temperature habe ich bei den Standardwerten gelassen; sie sind gut genug.
6. Der vollständige Workflow: automatisch von Skizzen zu Bildern
Die vollständige Version, die auf meinem Patreon liegt, bringt alles zusammen:
- Load Image Batch holt bei jedem Durchlauf die nächste Skizze aus einem Ordner.
- Der Ollama Image Describer schreibt dafür einen neuen Prompt. Meine Skizzen zeigten verschiedene Frauen in verschiedenen Posen, daher erzeugte dieselbe Anweisung für jede einen anderen Prompt.
- Der Prompt geht an den positiven Prompt des Bildmodells.
- Depth Anything verwandelt die Skizze in eine Tiefenkarte, und Apply ControlNet nutzt sie, um die Pose zu halten.
- KSampler erzeugt das Bild. Für SDXL habe ich Juggernaut XL (etwa 6 GB) genutzt.
Breite und Höhe werden einmal als Integer-Nodes gesetzt und für die Skalierung, die Tiefenkarte und die Leinwand wiederverwendet.
Mit Flux ist es derselbe Workflow, mit dem XLabs Sampler und Flux dev anstelle von SDXL. Flux war kreativer und lieferte mehr Variation. Denke an die Keep-alive-Einstellung.
Die Stärke liegt im Maßstab: Bereite 10 oder 50 Skizzen vor, lass es über Nacht mit zufälligem Seed laufen, und du bekommst Tausende verschiedener Bilder, die jeweils noch einer deiner Zeichnungen folgen. Für andere Wege, Prompts in großer Menge zuzuführen, siehe Prompt-Listen und meinen Prompt-Cycler-Node.
Die Videoversion ansehen (11:31)
Alles oben steht auch im Video, falls du lieber am Bildschirm mitmachst. Das Video ist auf Englisch.
Häufige Fragen
Welches Vision-Modell sollte ich in Ollama verwenden?
In meinen Tests waren Modelle um 4,7 GB der beste Kompromiss. Die winzigen mit 350 MB waren im Grunde nutzlos, und die mit 1 GB waren okay, aber nicht toll. Ein quantisiertes LLaVA (Q4) lieferte mir die besten Prompts.
Wie viele Tokens darf der Prompt haben?
Bis zu 512 Tokens für Flux, aber nur 77 für SDXL. Stelle die maximale Token-Zahl des Beschreibers passend zum Bildmodell ein.
Warum hängt mein Flux-Render nach der Beschreibung?
Das Vision-Modell liegt noch im VRAM. Setze Keep-alive auf 0, damit es nach dem Schreiben jedes Prompts entladen wird. Mit Flux reichten selbst 24 GB VRAM nicht, um beide geladen zu halten.
Warum bekomme ich jedes Mal denselben Prompt?
Der Seed des Beschreibers ändert sich nicht von selbst. Verbinde einen Seed-Randomizer-Node, damit jeder Durchlauf einen neuen Seed bekommt und damit eine neue Idee.

