VIOLET SIGNAL - GEDANKENBREI TECH & BASTELN
Versuchsaufbau vom 8. November 2026

WAS DAS PAKET IST
Sechs stumme ComfyUI-Wan-2.2-Filmszenen mit Anfangs-/Endbild, API-Graphen,
Bildprompts, Laufdaten und dokumentiertem InfiniteTalk-Nachgang.
Die Videoläufe dieser API-Graphen wurden lokal auf RTX 4070 12 GB, Ryzen
3700X und 32 GB RAM erfolgreich ausgeführt. Für die Weitergabe wurden lokale
Pfade aus den Belegen entfernt. Die UI-Kopien verwenden normale Bild-Widgets;
zwei künstlich hinzugefügte Upload-Eingänge aus unseren frühen UI-Dateien
wurden entfernt. Ein bereinigter UI-Workflow wurde im Browser importiert:
beide Bilder geladen, Graph sichtbar, keine fehlenden Nodes gemeldet.
Es wurde dafür kein zusätzlicher Videolauf gestartet; die vorhandenen
erfolgreichen API-Renderings belegen die ursprünglichen Graphparameter.
Es gibt keinen automatischen Installer, keine Modellgewichte, keine MP3,
keine fertigen Filme, keine Zugangsdaten und keine vollständige Python-Umgebung.

SCHNELLSTART: ZUERST EIN EINZELNER SHOT
1. Eine passende aktuelle ComfyUI-Installation verwenden; Stand siehe VERSIONEN.txt.
2. Diese vier Modelldateien separat aus der offiziellen Quelle beziehen:
   Comfy-Org/Wan_2.2_ComfyUI_Repackaged auf Hugging Face,
   jeweils unter split_files/:
   diffusion_models/wan2.2_i2v_high_noise_14B_fp8_scaled.safetensors
   diffusion_models/wan2.2_i2v_low_noise_14B_fp8_scaled.safetensors
   text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors
   vae/wan_2.1_vae.safetensors
   Die Dateinamen in den Loadern müssen den tatsächlich installierten Dateien
   entsprechen. Stability Matrix darf sie über seine Modellpfade einbinden.
   Zwei Transformerdateien à etwa 14.3 GB sind nicht gleich 28.6 GB VRAM-Bedarf:
   das Testprofil lädt/entlädt Teile. Zusätzlichen RAM und SSD-Platz einplanen.
3. Inhalt von input/ in ComfyUI/input/ kopieren. Namen beibehalten!
4. Einen workflows/0X_Name.json im Browser öffnen/auf die Canvas ziehen.
   *.api.json ist für die API und kein normaler UI-Import.
5. Beide LoadImage-Dateien und alle vier Modell-Loader kontrollieren. Falls
   Dateiauswahl/Validierung nach einem alten Tabzustand noch fehlt: Bilder
   erneut auswählen und den Workflow aus der Datei neu laden.
6. Zunächst nur eine Szene rendern. Kein Auto-Queue-Betrieb und keine
   zweite Video-App parallel auf derselben Grafikkarte starten.

PARAMETER DES TATSÄCHLICHEN FILMAUFBAUS
WanFirstLastFrameToVideo; 640x352; 81 Frames; 16 fps; Batch 1.
High-/Low-Noise-Sampling: insgesamt 20 Schritte, geteilt 0-10 / 10-20.
Euler/simple; CFG 3.5; Shift 5; Seeds 461101 bis 461106.
VAEDecodeTiled: tile_size 256, overlap 64,
temporal_size 128, temporal_overlap 8.
Das größere zeitliche Decoderfenster war in diesem Versuch entscheidend.
Es ist kein universeller bester Wert für jede GPU oder beliebig lange Clips.

BEGRENZTER START AUF LINUX
Das beiliegende start_begrenzt.sh ist eine optionale Startvorlage. Sie nutzt
systemd --user, MemoryHigh=20G, MemoryMax=22G und MemorySwapMax=0 für NUR den
neu gestarteten Dienst. Sie verändert keine globale Swap-/Speichereinstellung.
Die Vorlage setzt unser 32-GB-RAM-Szenario voraus, nicht einen 16-GB-Rechner.

  bash start_begrenzt.sh /pfad/zu/ComfyUI

Optional anderer Interpreter als ComfyUI/venv/bin/python:
  bash start_begrenzt.sh /pfad/zu/ComfyUI /pfad/zu/python

In einem zweiten Terminal, solange der Renderdienst läuft:
  python3 monitor_render.py --unit gb-violet-comfy.service --output memory.csv

Der Monitor stoppt ausschließlich diesen Dienst bei weniger als 5 GiB
verfügbarem Host-RAM. Er muss wirklich laufen; die Datei allein schützt nichts.
Die Modell- und Jobzustände müssen weiter beobachtet werden. Ein hartes Limit
kann den Renderjob beenden und garantiert keine absolute Desktop-Stabilität.

Beenden:
  systemctl --user stop gb-violet-comfy.service

Die Startargumente --fast-disk, --disable-pinned-memory und --cache-none sind
versionsabhängig. Vor dem Nachbauen main.py --help und VERSIONEN.txt prüfen.
Unser Profil nutzt keine Custom Nodes für die sechs Filmszenen.

SCHNITT
Die nativen Ausgaben sind 81/16 = 5.0625 Sekunden lang. Die beigelegte
assemble_silent.py verteilt sie auf genau fünf Sekunden und exportiert 30 fps.
Es werden keine KI-Zwischenbilder erzeugt. FFmpeg und FFprobe müssen vorhanden sein.

  python3 assemble_silent.py film.mp4 shot01.mp4 shot02.mp4 shot03.mp4 shot04.mp4 shot05.mp4 shot06.mp4

LIPSYNC: SEPARATER WANGP-SCHRITT
Die ComfyUI-JSONs erzeugen KEINEN MP3-Lipsync.
Für unseren Musikfilm wurde lokal ein 30s-Musikausschnitt gewählt und mit der
vorhandenen Audio-Separator-Integration in Gesang und Begleitung aufgeteilt.
Originalmix für den fertigen Ton; isolierter Gesang nur zur Konditionierung.
InfiniteTalk lief über shared.api der vorhandenen WanGP-Installation:
https://github.com/deepbeepmeep/WanGP
Modellprojekt: https://github.com/MeiGen-AI/InfiniteTalk
Benötigt wurden quantisierte Wan-2.1-I2V-480P-14B-Basisgewichte,
InfiniteTalk-Single-Gewichte, der Wav2Vec-Audioencoder und die zugehörigen
Textencoder/VAE-Dateien. Die native WanGP-Modellverwaltung löste das auf.
Es wurde kein beliebiger Wan-2.2-ComfyUI-Checkpoint als InfiniteTalk-Basis benutzt.

Pro sichtbarem Gesangsshot: bestehendes Video + passender 5s-Gesangsausschnitt;
video_prompt_type GUV, audio_prompt_type A, speakers_locations 0:100.
640x352, 125 Frames, 25 fps, 81-Frame-Fenster, Überlappung 9,
V2V-Denoising-Stärke 0.7, keine Fenster-Farbkorrektur.
Zuerst Shot 02: 20 nominelle Schritte, Text-CFG 3.5, Audio-CFG 4.
Dann Shots 01/04/05/06: 8 nominelle Schritte mit FusionX-LoRA,
Text-CFG 1, Audio-CFG 2. Bei 0.7 V2V-Stärke wurden weniger Schritte effektiv
ausgeführt. Die Parameter sind keine Zusage universell optimaler Anime-Lippen.
Die JSONs in lipsync/ dokumentieren genaue Parameter, sind aber kein
selbständig lauffähiger Installations- oder Batchrunner. Video-/Audio- und
LoRA-Pfade müssen auf die eigenen Dateien zeigen. Shot 03 blieb unverändert.

MMGP-Profil 5, SDPA, int8-Transformer und -Textencoder, keine Kompilierung,
20-GB-RAM-Budget, virtuelle 11-GB-Karte, vmm-Allocator. Die späteren Läufe
luden zusätzlich 2500 MB vor. ComfyUI war währenddessen gestoppt.
Der neue WanGP-Dienst hatte dieselben 20G/22G/kein-Swap-Grenzen und einen
eigenen Monitor. Die Limits des ComfyUI-Diensts gelten nicht automatisch für WanGP.

VERGLEICHE UND BELEGE
optional_comparison/ enthält unsere älteren Vergleichs- und Diagnosegraphen.
Hunyuan/FramePack benötigt dort zusätzlich Kijai/ComfyUI-FramePackWrapper
und passende Hunyuan-/LLaVA-/CLIP-/SigCLIP-Gewichte. LTX braucht die dort
benannten W4A8-Dateien plus offizielle VAEs und Latent-Upscaler. Details und
Downloadquellen stehen in modelle.json; dieses ist ein Quellenverzeichnis,
kein vollständiger Auto-Downloadplan für jede Modellvariante.
Diese optionalen Graphen sind kein fairer Modellbenchmark und gehören nicht
in den rein nativen Start mit --disable-all-custom-nodes.
Die Decoderdiagnose vergleicht dieselben Wan-Latents, nur temporal 16/4
gegen 64/8 bei einem 49-Frame-Clip. Ihre Prozentzahl betrifft periodische
Pixel-Sprünge, nicht die allgemeine Videoqualität.
evidence/ enthält Laufzeiten und die auf Dateinamen reduzierten Quellenbelege.

WEITERGABE
Die Bildassets wurden mit dem eingebauten Bildgenerator erstellt, nicht lokal
auf der RTX 4070. Das Paket dokumentiert unsere Projektarbeit und beansprucht
keine Rechte an den genannten Modellgewichten oder Fremdprojekten. Deren
Lizenzen, Downloadbedingungen und eventuell notwendige Zugangsfreigaben
bleiben bei den jeweiligen Anbietern. Eigene Musik separat bereitstellen.
