ACE-Step 1.5 Phase1: Modelle geladen, Portal-Patch vorbereitet (kein VM201-SSH-Zugang)

This commit is contained in:
Code Barby 2026-07-23 17:34:59 +02:00
parent 7f03a31f67
commit 908903c8cb

View file

@ -0,0 +1,64 @@
# "Song erstellen" - Portal-Integration ACE-Step 1.5 (fertig zum Deploy durch Mausi/Koordinator)
Ziel-Datei: /opt/gpu1-status/app.py auf portal-studio (100.114.24.89:9090), sichtbar unter cp.go-ki.eu.
NICHT selbst deployed - dieser Worker hat keinen SSH-Zugang zu VM201 (weder direkt von VM302 noch via Hub,
kein Key/known_hosts-Eintrag fuer 100.114.24.89 unter Hub-User root). Bitte ueber den funktionierenden Weg von
Worker #45 / Cleanup-Worker deployen, dann Portal-Skill-Ablauf (Backup -> py_compile -> Testinstanz 9092/9093 ->
restart gpu1-portal.service -> cp.go-ki.eu 200 -> echter Klicktest).
## Engine-Basis (bestaetigt, kein Neu-Setup noetig)
ComfyUI (M:\ComfyUI auf VM302, laeuft :8188) hat ACE-Step 1.5 bereits nativ integriert:
- Node TextEncodeAceStepAudio1.5 registriert (bestaetigt via /object_info)
- Node EmptyAceStep1.5LatentAudio, VAEDecodeAudio, UNETLoader/DualCLIPLoader/VAELoader fuer die 4 Modell-Dateien
- Fertiges Blueprint: D:\comfyui-test\blueprints\Text to Audio (ACE-Step 1.5).json
- Modelle (alle 4 fertig heruntergeladen, ScheduledTask AceStepDownload, job-watchdog-ueberwacht):
- M:\ComfyUI\models\diffusion_models\acestep_v1.5_turbo.safetensors (4.79 GB)
- M:\ComfyUI\models\text_encoders\qwen_0.6b_ace15.safetensors (1.19 GB)
- M:\ComfyUI\models\text_encoders\qwen_4b_ace15.safetensors (8.38 GB)
- M:\ComfyUI\models\vae\ace_1.5_vae.safetensors (0.34 GB)
- ComfyUI /object_info/UNETLoader listet acestep_v1.5_turbo.safetensors bereits in der Combo (kein Neustart noetig)
## Workflow-API-Aufruf (Backend -> ComfyUI :8188)
Der Song-Endpoint im Portal muss einen ComfyUI-Prompt (POST http://<vm302-ip>:8188/prompt) mit einem Graph bauen,
der 1:1 dem Blueprint entspricht (Nodes: DualCLIPLoader -> TextEncodeAceStepAudio1.5 (+ConditioningZeroOut fuer negativ)
-> ModelSamplingAuraFlow -> KSampler -> VAEDecodeAudio). Wichtige Felder aus TextEncodeAceStepAudio1.5:
tags (Style-String), lyrics, seed, bpm, duration (Sekunden), timesignature, language, keyscale,
generate_audio_codes, cfg_scale. Ergebnis-Audio kommt ueber die ComfyUI-History/view-Route als WAV zurueck.
## Drei Modi fuer den neuen Song-Tab
(a) AUTO - Nutzer gibt nur einen kurzen Prompt ein. Backend ruft Hub-litellm
(http://100.87.20.94:4000, Authorization: Bearer sk-litellm-koerner) auf, der aus dem Nutzer-Prompt sowohl
tags (Style-Schlagworte) als auch lyrics (Strophen/Refrain-Struktur) generiert. Danach normaler Song-Call.
Plus Extend-Button: verlaengert einen bestehenden Song (zweiter ComfyUI-Call mit gleichem Seed + hoeherer
duration, oder Audio-zu-Audio falls vom Blueprint unterstuetzt - noch ungeprueft, siehe unten).
(b) STYLE - Nutzer gibt Style/Genre direkt ein (fuellt tags), Lyrics optional via LLM oder leer (instrumental).
(c) CUSTOM - Nutzer gibt eigene Lyrics komplett vor (fuellt lyrics 1:1), tags optional.
## Konkrete app.py-Aenderungen (Vorschlag, unique-string-anchored fuer Konflikt-Vermeidung)
1. Neuer Route-Block - @app.route("/api/song/generate", methods=["POST"]) mit Body {mode, prompt|tags|lyrics, duration}.
2. Hilfsfunktion build_ace_step_prompt(tags, lyrics, duration, seed, ...) baut das ComfyUI-Prompt-JSON aus dem
Blueprint (Node-IDs 105/106/104/94/47/78/3/98/18).
3. AUTO-Modus: Hilfsfunktion llm_style_and_lyrics(user_prompt) -> POST an litellm /chat/completions,
striktes JSON-Format {"tags":"...","lyrics":"..."} erzwingen.
4. Neuer Subtab "Song erstellen" im vorhandenen Video-Bereich, analog zum bestehenden "Ton & Musik"-Subtab-Muster
(falls dieser schon existiert - von diesem Worker NICHT einsehbar ohne VM201-Zugriff, vor dem Patchen gegenpruefen).
5. Frontend: 3 Radio-Buttons (Auto/Style/Custom), Prompt-Feld, optional Lyrics-Textarea, Duration-Slider (30-240s),
"Song erstellen"-Button, Audio-Player + "Verlaengern"-Button.
## Was fehlt / offene Punkte (ehrlich, ungetestet)
- Extend-Qualitaet ungetestet (echtes Continue vs. nur "gleicher Seed + laenger").
- Deutsche Lyrics-Aussprache: Blueprint-Default ist language="en"; de ungetestet.
- GPU-Contention: A40 durch Video-Build (Wan2.2 --highvram, 30-42GB) fast voll - Song-Gen MUSS seriell
nach "A40 frei"-Signal laufen.
- Kein GPU-Beispiel-Song erzeugt (Guardrail eingehalten, kein GPU-Job parallel zum Video-Build).
- Portal-Zugriff fehlt diesem Worker (weder VM302 noch Hub hat Key fuer 100.114.24.89) - Deploy durch
Mausi/Koordinator oder Worker mit bestehendem Zugriff (#45 o.ae.).
- M:\ACE-Step Standalone-Repo (Jul-18-Clone, kein venv/Modelle) ungenutzt - loeschen oder als CLI-Fallback
dokumentieren, nicht als zweite Engine parallel pflegen.