From 908903c8cb6879dfdf2fdef9abb4e9fc90e9008d Mon Sep 17 00:00:00 2001 From: Code Barby Date: Thu, 23 Jul 2026 17:34:59 +0200 Subject: [PATCH] ACE-Step 1.5 Phase1: Modelle geladen, Portal-Patch vorbereitet (kein VM201-SSH-Zugang) --- ace-step/ace-step-portal-integration.md | 64 +++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 ace-step/ace-step-portal-integration.md diff --git a/ace-step/ace-step-portal-integration.md b/ace-step/ace-step-portal-integration.md new file mode 100644 index 0000000..1c29416 --- /dev/null +++ b/ace-step/ace-step-portal-integration.md @@ -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://: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.