# 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`, Revision `ace0edeb3791a594ddfa36ed5f41a178a394e921` - 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: 1. Der Router merkt sich das aktive Textprofil. 2. Der Profile Controller stoppt LLM, TTS und andere GPU-Spezialworker. 3. Bei einem Textauftrag startet `mike-ai-image-prompt-enhancer-t2i`, bei Referenzbildern `mike-ai-image-prompt-enhancer-i2i` auf der RTX 3060. 4. Der offizielle Qwen-Enhancer schreibt den knappen Benutzertext um und wird anschließend vollständig gestoppt. 5. `mike-ai-image-worker` startet Qwen Image auf der RTX 5080 und erzeugt das Bild oder bearbeitet bis zu vier Referenzbilder. 6. Der Qwen-Worker wird vollständig gestoppt. 7. Das vorherige Textprofil und Qwen3-TTS werden wiederhergestellt. Der Container ist außerhalb eines Auftrags gestoppt. Das ist der Sollzustand. ## Reproduzierbare Vorbereitung ```bash 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 ```bash 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: ```bash 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: ```bash 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](FLUX_9B_BETA.md) und [FLUX_RESOLUTION_TEST_20260912.md](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-t2i` bereitet reine Textaufträge auf. - `mike-ai-image-prompt-enhancer-i2i` wertet 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 verwendeten `prompt` und Modell, Quantisierung, Laufzeit und Verhältnis unter `prompt_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.