11 KiB
Qwen-Image-2.1 auf Athena
Stand: 21. September 2026. Qwen-Image-2.1 ist der produktive Bildworker des Routers. FLUX.2 Klein 9B FP8 bleibt als gestoppter Rückfallcontainer erhalten.
Gepinnter Stand
- ComfyUI: Commit
b0f4b7b294ce482a2e071d9d762c133d38c7aa07 - Modell-Repository:
Comfy-Org/Qwen-Image-2.1, Revisionace0edeb3791a594ddfa36ed5f41a178a394e921 - Transformer:
qwen_image_2.1_int8_convrot.safetensors(cb74113cb03faecd79611b01fd7fd642f0aa60d6f0b95086abee214d75eaa57d) - Textencoder:
qwen3vl_8b_int8_convrot.safetensors(8bfd0f6e12abf2d2d697ecc888e5e90b0d6741d6708f05799f53afa560452e8f) - VAE:
qwen_image_2.1_vae_bf16.safetensors(bb21f7473051e1ac368515dd3f2e15cd44d7a11748ee8823e1ddca3e4876b7c9) - Pipeline: 25 Schritte, CFG 1, Euler/Simple,
--lowvram - GPU: ausschließlich Athena-GPU 1, die RTX 5080 mit 16 GB
Die Gewichte liegen außerhalb von Git unter
/data/models/Qwen-Image-2.1-ComfyUI. Der Adapter
platform/docker/qwen-image-worker/qwen_image_worker.py stellt vor ComfyUI
die bestehende private Worker-API auf Port 8086 bereit. Der öffentliche
Routervertrag bleibt damit /v1/images/generations und /v1/images/edits.
Der Container läuft wie der Router mit UID/GID 10002:10002, damit beide das
gemeinsame Bild-Volume ohne erweiterte Linux-Capabilities verwenden können.
Lebenszyklus
Ein Bildauftrag läuft transaktional:
- Der Router merkt sich das aktive Textprofil.
- Der Profile Controller stoppt LLM, TTS und andere GPU-Spezialworker.
- Bei einem Textauftrag startet
mike-ai-image-prompt-enhancer-t2i, bei Referenzbildernmike-ai-image-prompt-enhancer-i2iauf der RTX 3060. - Der offizielle Qwen-Enhancer schreibt den knappen Benutzertext um und wird anschließend vollständig gestoppt.
mike-ai-image-workerstartet Qwen Image auf der RTX 5080 und erzeugt das Bild oder bearbeitet bis zu vier Referenzbilder.- Der Qwen-Worker wird vollständig gestoppt.
- Das vorherige Textprofil und Qwen3-TTS werden wiederhergestellt.
Der Container ist außerhalb eines Auftrags gestoppt. Das ist der Sollzustand.
Reproduzierbare Vorbereitung
cd /opt/mike-ai/stack
sudo ./scripts/prepare-qwen-image-21.sh
Das Skript lädt fehlende Dateien mit festen SHA-256-Prüfsummen, baut den produktiven Qwen-Worker und legt Qwen, beide Prompt-Enhancer sowie FLUX gestoppt an. Es lädt dabei kein Modell in den VRAM.
Funktionsprobe über den echten Routerweg
curl -sS http://127.0.0.1:8081/v1/images/generations \
-H "Authorization: Bearer $ROUTER_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model":"Qwen-Image-2.1-int8",
"prompt":"Fotorealistisches rotes Haus bei Tageslicht",
"size":"1024x1024",
"steps":25,
"guidance":1.0,
"response_format":"url"
}'
Nach dem Lauf müssen mike-ai-image-worker, beide Prompt-Enhancer und
mike-ai-flux-image-worker gestoppt sein und das vorherige LLM-Profil wieder
gesund laufen.
OpenClaw 2026.9.5
OpenClaws eingebautes Werkzeug image_generate verwendet den separaten
Medienmodell-Eintrag. Er muss auf den OpenAI-kompatiblen Athena-Router zeigen:
openclaw config set agents.defaults.mediaModels.image.primary \
openai/Qwen-Image-2.1-int8
openclaw config set agents.defaults.mediaModels.image.fallbacks '[]' \
--strict-json
Der Provider models.providers.openai.baseUrl bleibt
http://192.168.1.212:8081/v1. openclaw models set-image ist hierfür nicht
der richtige Befehl: Er schreibt agents.defaults.imageModel, nicht den von
image_generate verwendeten Medienmodell-Eintrag. Ein alter Wert unter
agents.defaults.imageModel wird mit folgendem Befehl entfernt:
openclaw config unset agents.defaults.imageModel
Die leere Fallbackliste verhindert, dass OpenClaw bei einem lokalen Fehler
unbemerkt auf openai/gpt-image-2 ausweicht.
OpenClaw überträgt Referenzbilder an /v1/images/edits als
OpenAI-kompatibles Multipart-Formular mit dem Feld image[]. Der Router
akzeptiert dort ein bis vier Referenzbilder und normalisiert numerische
Formularwerte wie n und steps. Der ältere JSON-/Base64-Weg bleibt für
bestehende Clients erhalten.
Beim ersten Wechsel von FLUX auf Qwen funktionierten Referenzbilder deshalb
nicht: Der neue Qwen-Pfad verstand zunächst nur den älteren JSON-/Base64-Weg.
Zusätzlich war anfangs agents.defaults.imageModel gesetzt, obwohl
OpenClaws image_generate den Eintrag unter
agents.defaults.mediaModels.image verwendet. Das waren Lücken der neuen
Qwen-Integration. Der zuvor produktive FLUX-Pfad war davon nicht betroffen.
Produktionsvalidierung vom 21. September 2026
Beide öffentlichen Routerpfade wurden auf Athena mit dem produktiven Stack geprüft:
- Text zu Bild: gültiges PNG mit 1024×1024 Pixeln, 25 Schritte,
Qwen-Image-2.1-int8; 48,9 Sekunden reine Bildpipeline und 71,6 Sekunden für den vollständigen transaktionalen Routerlauf. - Bildbearbeitung: gültiges PNG mit 1024×1024 Pixeln aus einem Referenzbild,
25 Schritte,
Qwen-Image-2.1-int8; 76,3 Sekunden für den vollständigen Routerlauf.
Nach beiden Aufträgen waren Qwen und FLUX gestoppt. mike-ai-llama-medium,
Qwen3-TTS, Router und Profile Controller liefen anschließend wieder gesund.
Damit sind Erzeugung, Referenzbildübergabe und Wiederherstellung des zuvor
aktiven Textprofils über den echten Routerweg bestätigt.
Zusätzlich wurde image_generate am 21. September 2026 über einen isolierten
OpenClaw-agent exec-Lauf geprüft. OpenClaw rief
openai/Qwen-Image-2.1-int8 einmal auf; Athena erzeugte das PNG und stellte
Medium sowie Qwen3-TTS nach 72,5 Sekunden wieder gesund her.
Auch die Referenzbildbearbeitung wurde anschließend über das echte
OpenClaw-Werkzeug image_generate geprüft. OpenClaw übergab ein Referenzbild
als image[]; der Router erzeugte mit Qwen-Image-2.1-int8 ein gültiges
PNG mit 1024×1024 Pixeln und meldete im Sidecar mode: image-edit sowie
reference_images: 1. Medium und Qwen3-TTS liefen nach dem Auftrag wieder
gesund, der Bildworker wurde erwartungsgemäß gestoppt.
FLUX-Rückfallpfad
FLUX verwendet weiterhin das Image mike-ai/image-worker:local, die
bestehenden Modellverzeichnisse und den Container
mike-ai-flux-image-worker. Er hat das Controller-Label flux-standby und
kann deshalb nicht durch einen normalen Router-Bildauftrag gestartet werden.
Eine manuelle Diagnose ist nur über den allowlist-beschränkten Controllerpfad
/workers/flux-standby/start möglich. Für eine dauerhafte Rückschaltung müssen
Service-DNS, Modellname und Schrittzahl gemeinsam in Compose auf FLUX gesetzt
und anschließend Router und Controller neu ausgerollt werden. Keine dieser
Änderungen erfolgt automatisch.
Historische FLUX-Messwerte und Grenzen stehen in FLUX_9B_BETA.md und FLUX_RESOLUTION_TEST_20260912.md.
Offizielle Prompt-Enhancer im produktiven Router
Qwen veröffentlicht zwei getrennte, auf Qwen3.5-VL 9B nachtrainierte
Prompt-Enhancer. Sie sind kein Bestandteil der Qwen-Image-Gewichte. Athena
startet automatisch die zum Auftrag passende Variante; OpenClaw ruft weiterhin
nur sein normales Werkzeug image_generate mit dem unveränderten Modellnamen
openai/Qwen-Image-2.1-int8 auf.
mike-ai-image-prompt-enhancer-t2ibereitet reine Textaufträge auf.mike-ai-image-prompt-enhancer-i2iwertet ein bis vier Referenzbilder gemeinsam aus und trennt Identität, gewünschte Änderungen und neue Szene.- Beide verwenden getrennte offizielle Systemprompts,
Q5_K_M, llama.cpp Build 10930, 16.384 Token Kontext und höchstens 2.048 Denktokens. - Sie laufen ausschließlich und nacheinander auf der RTX 3060. Nach dem Rewrite werden sie gestoppt; Qwen-Image rendert anschließend auf der RTX 5080.
- Falls der Client keine Größe vorgibt, übernimmt der Router das vom Enhancer vorgeschlagene Seitenverhältnis und bildet es auf eine erlaubte Auflösung ab. Eine ausdrücklich angegebene gültige Größe bleibt unverändert.
- Das Sidecar jedes PNG enthält
original_prompt, den tatsächlich verwendetenpromptund Modell, Quantisierung, Laufzeit und Verhältnis unterprompt_enhancer. Verdeckte Denktokens werden nicht gespeichert. - Ein fehlgeschlagener Rewrite bricht den Bildauftrag sichtbar ab. Der Router sendet in diesem Fall keinen unaufbereiteten Ersatzprompt an Qwen-Image.
Gepinnte Dateien
PE-I2I stammt aus Qwen/Qwen-Image-2.1-PE-I2I, Revision
72927bc08afc99b7888ceb7d7d51a12db3700bbd, und dem GGUF-Repository
prithivMLmods/Qwen-Image-2.1-PE-I2I-GGUF, Revision
55b9c1a326599e142d59bcad8715d5601ccf8daa. Die Dateien liegen unter
/data/models/qwen-image-2.1-pe-i2i-q5:
| Datei | SHA-256 |
|---|---|
Qwen-Image-2.1-PE-I2I.Q5_K_M.gguf |
cb71f71fe5fe5938570d65a7c403fbcb1a9065dff9dd9a021f58aec42785b84e |
Qwen-Image-2.1-PE-I2I.mmproj-bf16.gguf |
8dedb71dbc3092dc47de9108ad373d68a12854e2527d59bd9399601738f3bce1 |
system_prompt.txt |
e378fea686a1431581ba4c654d332ae96adad633f144ae738ec8ce9c4fd66439 |
PE-T2I stammt aus Qwen/Qwen-Image-2.1-PE-T2I, Revision
f3ed7985c788ad75b3ab7223e0c4c51e2a43545b, und dem GGUF-Repository
prithivMLmods/Qwen-Image-2.1-PE-T2I-GGUF, Revision
e18d4a3e0830ab157770738b16830e6fcf5f57d4. Die Dateien liegen unter
/data/models/qwen-image-2.1-pe-t2i-q5:
| Datei | SHA-256 |
|---|---|
Qwen-Image-2.1-PE-T2I.Q5_K_M.gguf |
749f5652fd6e8b760ca860091f7a5bffa254a7954203ae5c9bcdf5f93197702f |
system_prompt.txt |
a77c9a06c59b120741141d9514b95682bb8761d02bec49ca61def7b2b3d9fb99 |
Der zuvor geprüfte PE-I2I-FP8-Checkpoint ist 13,54 GB groß und passt mit Aktivierungs- und Laufzeitspeicher nicht in die 12-GB-RTX-3060. CPU-Offload war unpraktisch langsam. Er wurde verworfen und entfernt. Der Q5-I2I-Worker belegt etwa 7.167 MiB VRAM und ist deshalb der produktive Stand.
Abnahme vom 21. September 2026
Der vollständige öffentliche Routerweg wurde nach der Integration zweimal geprüft:
- Ein kurzer deutscher Textprompt wurde von PE-T2I in 36,6 Sekunden in einen strukturierten englischen Produktionsprompt umgeschrieben. Qwen-Image erzeugte das 1024×1024-PNG anschließend in 49,0 Sekunden.
- Ein hochgeladenes Referenzbild wurde von PE-I2I in 65,9 Sekunden aufbereitet. Der Rewrite verlangte ausdrücklich eine neue Szene, neue Pose und Kleidung sowie das Entfernen der alten Gegenstände. Qwen-Image erzeugte in 111,3 Sekunden ein neues 1024×1536-PNG: genau eine Person in einer Blumenwiese an einer Autobahn, ohne Badewanne, Gitarre oder Gummiente.
Nach beiden Aufträgen waren der Bildworker und beide Enhancer gestoppt. Medium und Qwen3-TTS liefen wieder gesund. Der erste I2I-Versuch deckte eine relative Pfadauflösung bei temporären Multipart-Uploads auf; der korrigierte Pfad ist mit einem eigenen Regressionstest abgedeckt. Insgesamt laufen 96 schnelle GPU-freie Release-Tests.