Actualiser ARCHITECTURE-STUDIO-AI.md
This commit is contained in:
@ -1,263 +1,426 @@
|
|||||||
# 🎙️ Studio IA Multimodal — Architecture & Spécifications
|
# 🎙️ Studio IA Multimodal — Architecture & Spécifications
|
||||||
## Version 2026 — État de l'art
|
## Version 3 — VM Vast.ai + Docker Compose
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 1. Architecture générale
|
## 1. Principe général
|
||||||
|
|
||||||
|
Sur Vast.ai, utiliser le mode **VM** (Virtual Machine) au lieu du mode Container.
|
||||||
|
Cela donne un accès root complet à une vraie machine, avec Docker Engine installé nativement.
|
||||||
|
Chaque modèle IA tourne dans son propre container Docker, orchestré par Docker Compose.
|
||||||
|
|
||||||
```
|
```
|
||||||
[Utilisateur navigateur]
|
┌─────────────────────────────────────────────────┐
|
||||||
↓
|
│ VM Vast.ai (RTX A4000 16Go / 130Go SSD) │
|
||||||
[Open WebUI — port 3000]
|
│ │
|
||||||
↓
|
│ ┌─────────────┐ ┌─────────────┐ │
|
||||||
[Ollama — Mistral Medium]
|
│ │ open-webui │ │ ollama │ │
|
||||||
↓ (Tools/Functions)
|
│ │ :3000 │ │ :11434 │ │
|
||||||
┌────┴────┬──────────┬──────────┐
|
│ └──────┬──────┘ └─────────────┘ │
|
||||||
[Audio] [Voix] [Foley] [Image]
|
│ │ Tools API │
|
||||||
port 7860 port 7861 port 7862 port 8188
|
│ ┌──────┴──────────────────────────────┐ │
|
||||||
|
│ │ Docker Network │ │
|
||||||
|
│ └──────┬──────┬──────┬──────┬─────────┘ │
|
||||||
|
│ ┌──────┴─┐ ┌──┴───┐ ┌┴─────┐ ┌──────┐ ┌─────┐ │
|
||||||
|
│ │ace-step│ │heart │ │zonos │ │index │ │huny │ │
|
||||||
|
│ │ :7860 │ │:7861 │ │:7862 │ │:7863 │ │:7864│ │
|
||||||
|
│ └────────┘ └──────┘ └──────┘ └──────┘ └─────┘ │
|
||||||
|
│ ┌──────────────────┐ │
|
||||||
|
│ │ comfyui │ │
|
||||||
|
│ │ :8188 │ │
|
||||||
|
│ └──────────────────┘ │
|
||||||
|
└─────────────────────────────────────────────────┘
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 2. Pile logicielle — État de l'art 2026
|
## 2. Template Vast.ai — Mode VM
|
||||||
|
|
||||||
### 🎵 Génération Musicale
|
| Paramètre | Valeur |
|
||||||
| Modèle | Forces | VRAM | Vitesse |
|
|---|---|
|
||||||
|---|---|---|---|
|
| **Type** | VM (Virtual Machine) |
|
||||||
| **Heart Mula** (Jan 2026) ⭐ | Morceaux 6 min, structure complète, qualité Suno | 12-16 Go | Lente |
|
| **GPU** | RTX A4000 16 Go |
|
||||||
| **ACE-Step 1.5** | Ultra-rapide, cohérence harmonique, idéal novices | 8-12 Go | Très rapide |
|
| **Disk** | 130 Go minimum (200 Go recommandé) |
|
||||||
| ~~MusicGen (Meta)~~ | Boucles 30s seulement — dépassé | 8 Go | Rapide |
|
| **Launch mode** | VM |
|
||||||
|
| **OS** | Ubuntu 22.04 |
|
||||||
> **Choix recommandé :** ACE-Step 1.5 pour les novices (rapidité), Heart Mula pour la qualité maximale
|
| **PROVISIONING_SCRIPT** | URL Gitea → installe Docker + lance compose |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 🎤 Voix Off (TTS)
|
## 3. Structure du dépôt Gitea
|
||||||
| Modèle | Forces | VRAM |
|
|
||||||
|---|---|---|
|
|
||||||
| **Zonos-v0.1** (Zyphra) ⭐ | 44kHz natif, tags émotion, clone voix 10s | 8-12 Go |
|
|
||||||
| **IndexTTS-2** ⭐ | Contrôle milliseconde de durée, sync animation | 8 Go |
|
|
||||||
|
|
||||||
> **Choix recommandé :** Les deux sont complémentaires et indispensables
|
```
|
||||||
> - Zonos pour la narration et les voix expressives
|
VASTAI-STUDIO-AUDIO/
|
||||||
> - IndexTTS-2 pour la sync animation et le lip-sync
|
├── docker-compose.yml ← Orchestration principale
|
||||||
|
├── provisioning_script.sh ← Installation Docker + lancement
|
||||||
|
├── .env ← Variables (ports, tokens...)
|
||||||
|
│
|
||||||
|
├── services/
|
||||||
|
│ ├── open-webui/
|
||||||
|
│ │ └── Dockerfile
|
||||||
|
│ ├── ace-step/
|
||||||
|
│ │ ├── Dockerfile
|
||||||
|
│ │ └── server.py
|
||||||
|
│ ├── heart-mula/
|
||||||
|
│ │ ├── Dockerfile
|
||||||
|
│ │ └── server.py
|
||||||
|
│ ├── zonos/
|
||||||
|
│ │ ├── Dockerfile
|
||||||
|
│ │ └── server.py
|
||||||
|
│ ├── indextts/
|
||||||
|
│ │ ├── Dockerfile
|
||||||
|
│ │ └── server.py
|
||||||
|
│ ├── hunyuan-foley/
|
||||||
|
│ │ ├── Dockerfile
|
||||||
|
│ │ └── server.py
|
||||||
|
│ └── comfyui/
|
||||||
|
│ └── Dockerfile
|
||||||
|
│
|
||||||
|
└── models/ ← Scripts de téléchargement
|
||||||
|
├── download_audio.sh
|
||||||
|
├── download_tts.sh
|
||||||
|
└── download_image.sh
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 🔊 Bruitages & Foley
|
## 4. docker-compose.yml
|
||||||
| Modèle | Forces | VRAM |
|
|
||||||
|---|---|---|
|
|
||||||
| **HunyuanVideo-Foley** ⭐ | Analyse vidéo → son synchronisé, révolutionnaire | 12-16 Go |
|
|
||||||
| ~~AudioGen (Meta)~~ | Texte seulement, pas de sync vidéo — dépassé | 8 Go |
|
|
||||||
|
|
||||||
> **Choix recommandé :** HunyuanVideo-Foley uniquement — Meta est dépassé sur ce segment
|
```yaml
|
||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
networks:
|
||||||
|
studio-network:
|
||||||
|
driver: bridge
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
ollama-data:
|
||||||
|
openwebui-data:
|
||||||
|
models-audio:
|
||||||
|
models-image:
|
||||||
|
models-tts:
|
||||||
|
outputs:
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
# ─── INTERFACE & LLM ───────────────────────────
|
||||||
|
|
||||||
|
ollama:
|
||||||
|
image: ollama/ollama:latest
|
||||||
|
container_name: ollama
|
||||||
|
runtime: nvidia
|
||||||
|
environment:
|
||||||
|
- NVIDIA_VISIBLE_DEVICES=all
|
||||||
|
volumes:
|
||||||
|
- ollama-data:/root/.ollama
|
||||||
|
ports:
|
||||||
|
- "11434:11434"
|
||||||
|
networks:
|
||||||
|
- studio-network
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
open-webui:
|
||||||
|
image: ghcr.io/open-webui/open-webui:main
|
||||||
|
container_name: open-webui
|
||||||
|
depends_on:
|
||||||
|
- ollama
|
||||||
|
environment:
|
||||||
|
- OLLAMA_BASE_URL=http://ollama:11434
|
||||||
|
- WEBUI_SECRET_KEY=${WEBUI_SECRET_KEY}
|
||||||
|
- ENABLE_SIGNUP=true
|
||||||
|
volumes:
|
||||||
|
- openwebui-data:/app/backend/data
|
||||||
|
ports:
|
||||||
|
- "3000:8080"
|
||||||
|
networks:
|
||||||
|
- studio-network
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
# ─── GÉNÉRATION MUSICALE ───────────────────────
|
||||||
|
|
||||||
|
ace-step:
|
||||||
|
build: ./services/ace-step
|
||||||
|
container_name: ace-step
|
||||||
|
runtime: nvidia
|
||||||
|
environment:
|
||||||
|
- NVIDIA_VISIBLE_DEVICES=all
|
||||||
|
volumes:
|
||||||
|
- models-audio:/models
|
||||||
|
- outputs:/outputs
|
||||||
|
ports:
|
||||||
|
- "7860:7860"
|
||||||
|
networks:
|
||||||
|
- studio-network
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
heart-mula:
|
||||||
|
build: ./services/heart-mula
|
||||||
|
container_name: heart-mula
|
||||||
|
runtime: nvidia
|
||||||
|
environment:
|
||||||
|
- NVIDIA_VISIBLE_DEVICES=all
|
||||||
|
volumes:
|
||||||
|
- models-audio:/models
|
||||||
|
- outputs:/outputs
|
||||||
|
ports:
|
||||||
|
- "7861:7861"
|
||||||
|
networks:
|
||||||
|
- studio-network
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
# ─── VOIX OFF ──────────────────────────────────
|
||||||
|
|
||||||
|
zonos:
|
||||||
|
build: ./services/zonos
|
||||||
|
container_name: zonos
|
||||||
|
runtime: nvidia
|
||||||
|
environment:
|
||||||
|
- NVIDIA_VISIBLE_DEVICES=all
|
||||||
|
volumes:
|
||||||
|
- models-tts:/models
|
||||||
|
- outputs:/outputs
|
||||||
|
ports:
|
||||||
|
- "7862:7862"
|
||||||
|
networks:
|
||||||
|
- studio-network
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
indextts:
|
||||||
|
build: ./services/indextts
|
||||||
|
container_name: indextts
|
||||||
|
runtime: nvidia
|
||||||
|
environment:
|
||||||
|
- NVIDIA_VISIBLE_DEVICES=all
|
||||||
|
volumes:
|
||||||
|
- models-tts:/models
|
||||||
|
- outputs:/outputs
|
||||||
|
ports:
|
||||||
|
- "7863:7863"
|
||||||
|
networks:
|
||||||
|
- studio-network
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
# ─── FOLEY ─────────────────────────────────────
|
||||||
|
|
||||||
|
hunyuan-foley:
|
||||||
|
build: ./services/hunyuan-foley
|
||||||
|
container_name: hunyuan-foley
|
||||||
|
runtime: nvidia
|
||||||
|
environment:
|
||||||
|
- NVIDIA_VISIBLE_DEVICES=all
|
||||||
|
volumes:
|
||||||
|
- models-audio:/models
|
||||||
|
- outputs:/outputs
|
||||||
|
ports:
|
||||||
|
- "7864:7864"
|
||||||
|
networks:
|
||||||
|
- studio-network
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
# ─── GÉNÉRATION IMAGE ──────────────────────────
|
||||||
|
|
||||||
|
comfyui:
|
||||||
|
build: ./services/comfyui
|
||||||
|
container_name: comfyui
|
||||||
|
runtime: nvidia
|
||||||
|
environment:
|
||||||
|
- NVIDIA_VISIBLE_DEVICES=all
|
||||||
|
volumes:
|
||||||
|
- models-image:/root/ComfyUI/models
|
||||||
|
- outputs:/outputs
|
||||||
|
ports:
|
||||||
|
- "8188:8188"
|
||||||
|
networks:
|
||||||
|
- studio-network
|
||||||
|
restart: unless-stopped
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 🖼️ Génération Image
|
## 5. Dockerfile type par service
|
||||||
| Modèle | Forces | VRAM |
|
|
||||||
|---|---|---|
|
|
||||||
| **Flux.1** | Meilleure qualité actuelle | 12-16 Go |
|
|
||||||
| **SDXL** | Rapide, bon écosystème LoRA | 8-12 Go |
|
|
||||||
|
|
||||||
---
|
Chaque service a son propre Dockerfile avec ses dépendances exactes.
|
||||||
|
Exemple pour ACE-Step :
|
||||||
### 💬 Chat & Code
|
|
||||||
| Modèle | Forces | VRAM |
|
|
||||||
|---|---|---|
|
|
||||||
| **Mistral Medium** (Ollama) | Chat général, orchestration outils | 8-12 Go |
|
|
||||||
| **CodeLlama** (Ollama) | Génération de code | 8 Go |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 3. Ports & Services
|
|
||||||
|
|
||||||
| Service | Port | Technologie |
|
|
||||||
|---|---|---|
|
|
||||||
| Open WebUI | 3000 | Interface unifiée |
|
|
||||||
| Ollama | 11434 | LLM (Mistral + CodeLlama) |
|
|
||||||
| Musique | 7860 | ACE-Step 1.5 + Heart Mula via ComfyUI |
|
|
||||||
| Voix Off | 7861 | Zonos-v0.1 + IndexTTS-2 |
|
|
||||||
| Foley | 7862 | HunyuanVideo-Foley |
|
|
||||||
| Images | 8188 | ComfyUI (Flux.1 + SDXL) |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 4. Image Docker de base
|
|
||||||
|
|
||||||
**Nom cible :** `nicoboy/studio-ai:latest`
|
|
||||||
|
|
||||||
### Dockerfile (à construire avec Gemini)
|
|
||||||
|
|
||||||
```dockerfile
|
```dockerfile
|
||||||
FROM nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04
|
# services/ace-step/Dockerfile
|
||||||
|
FROM nvidia/cuda:12.1.1-cudnn8-runtime-ubuntu22.04
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
ENV PYTHONUNBUFFERED=1
|
|
||||||
|
|
||||||
# Python 3.11
|
RUN apt-get update && apt-get install -y \
|
||||||
RUN apt-get update && \
|
python3.11 python3.11-pip python3.11-venv \
|
||||||
apt-get install -y software-properties-common && \
|
ffmpeg libsndfile1 git wget
|
||||||
add-apt-repository ppa:deadsnakes/ppa && \
|
|
||||||
apt-get update && \
|
|
||||||
apt-get install -y \
|
|
||||||
python3.11 \
|
|
||||||
python3.11-venv \
|
|
||||||
python3.11-distutils \
|
|
||||||
python3.11-dev
|
|
||||||
|
|
||||||
# Dépendances système
|
|
||||||
RUN apt-get install -y \
|
|
||||||
ffmpeg libsndfile1 sox \
|
|
||||||
git wget curl nano screen \
|
|
||||||
nodejs npm \
|
|
||||||
libgl1 libglib2.0-0
|
|
||||||
|
|
||||||
# pip pour Python 3.11
|
|
||||||
RUN curl -sS https://bootstrap.pypa.io/get-pip.py | python3.11
|
|
||||||
RUN python3.11 -m pip install --upgrade pip
|
RUN python3.11 -m pip install --upgrade pip
|
||||||
|
|
||||||
# PyTorch CUDA 12.1
|
# Dépendances spécifiques ACE-Step
|
||||||
RUN python3.11 -m pip install \
|
RUN python3.11 -m pip install \
|
||||||
torch torchvision torchaudio \
|
torch==2.2.0 torchaudio==2.2.0 \
|
||||||
--index-url https://download.pytorch.org/whl/cu121
|
--index-url https://download.pytorch.org/whl/cu121
|
||||||
|
|
||||||
# Open WebUI
|
RUN python3.11 -m pip install ace-step gradio fastapi uvicorn
|
||||||
RUN python3.11 -m pip install open-webui
|
|
||||||
|
|
||||||
# Ollama
|
COPY server.py /app/server.py
|
||||||
RUN curl -fsSL https://ollama.ai/install.sh | sh
|
WORKDIR /app
|
||||||
|
|
||||||
# Dépendances audio communes
|
EXPOSE 7860
|
||||||
RUN python3.11 -m pip install \
|
CMD ["python3.11", "server.py"]
|
||||||
gradio \
|
|
||||||
fastapi \
|
|
||||||
uvicorn \
|
|
||||||
scipy \
|
|
||||||
soundfile \
|
|
||||||
transformers \
|
|
||||||
accelerate \
|
|
||||||
diffusers
|
|
||||||
|
|
||||||
# ComfyUI dépendances
|
|
||||||
RUN python3.11 -m pip install \
|
|
||||||
einops \
|
|
||||||
kornia \
|
|
||||||
spandrel
|
|
||||||
|
|
||||||
WORKDIR /root
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### ⚠️ Points critiques pour Gemini
|
Même structure pour chaque service, avec les versions exactes requises par chaque modèle.
|
||||||
1. **Python 3.11 obligatoire** — Open WebUI refuse Python 3.10
|
|
||||||
2. **Ne pas inclure les modèles** — trop lourds, téléchargés via provisioning script
|
|
||||||
3. **Image sur DockerHub public** — nécessaire pour Vast.ai
|
|
||||||
4. **CUDA 12.1** — compatible A4000 et RTX 4060 Ti
|
|
||||||
5. **Tester** : `docker build -t nicoboy/studio-ai .` puis `docker push nicoboy/studio-ai:latest`
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 5. Provisioning Script (1er lancement ~30-45 min)
|
## 6. Provisioning Script VM
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
# =============================================================
|
||||||
|
# Studio IA — Provisioning Script VM Vast.ai
|
||||||
|
# =============================================================
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
# --- MUSIQUE ---
|
echo "🚀 Installation de Docker..."
|
||||||
# ACE-Step 1.5
|
curl -fsSL https://get.docker.com | bash
|
||||||
pip install ace-step
|
systemctl enable docker
|
||||||
# Heart Mula via ComfyUI (custom node)
|
systemctl start docker
|
||||||
git clone https://github.com/[repo]/heart-mula /root/ComfyUI/custom_nodes/heart-mula
|
|
||||||
|
|
||||||
# --- VOIX OFF ---
|
echo "🎮 Installation NVIDIA Container Toolkit..."
|
||||||
# Zonos
|
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
|
||||||
pip install zonos
|
gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
|
||||||
# IndexTTS-2
|
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
|
||||||
git clone https://github.com/index-tts/indextts /root/indextts
|
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
|
||||||
pip install -r /root/indextts/requirements.txt
|
tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
|
||||||
|
apt-get update && apt-get install -y nvidia-container-toolkit
|
||||||
|
nvidia-ctk runtime configure --runtime=docker
|
||||||
|
systemctl restart docker
|
||||||
|
|
||||||
# --- FOLEY ---
|
echo "📦 Clonage du dépôt Studio IA..."
|
||||||
# HunyuanVideo-Foley
|
git clone https://git.syoul.fr/nicoboy/VASTAI-STUDIO-AUDIO.git /root/studio-ai
|
||||||
git clone https://github.com/Tencent/HunyuanVideo-Foley /root/hunyuan-foley
|
cd /root/studio-ai
|
||||||
pip install -r /root/hunyuan-foley/requirements.txt
|
|
||||||
|
|
||||||
# --- IMAGES ---
|
echo "📥 Téléchargement des modèles..."
|
||||||
git clone https://github.com/comfyanonymous/ComfyUI /root/ComfyUI
|
bash models/download_audio.sh
|
||||||
pip install -r /root/ComfyUI/requirements.txt
|
bash models/download_tts.sh
|
||||||
# Télécharger Flux.1
|
bash models/download_image.sh
|
||||||
wget -P /root/ComfyUI/models/checkpoints/ [URL_FLUX1]
|
|
||||||
|
|
||||||
# --- LLM ---
|
echo "🏗️ Build et lancement des containers..."
|
||||||
ollama serve &
|
docker compose up -d --build
|
||||||
sleep 5
|
|
||||||
ollama pull mistral
|
|
||||||
ollama pull codellama
|
|
||||||
|
|
||||||
# --- LANCEMENT DES SERVICES ---
|
echo ""
|
||||||
screen -dmS openwebui open-webui serve --port 3000
|
|
||||||
screen -dmS ollama ollama serve
|
|
||||||
screen -dmS audio python3.11 /root/audio-api/server.py
|
|
||||||
screen -dmS comfyui python3.11 /root/ComfyUI/main.py --listen 0.0.0.0 --port 8188
|
|
||||||
|
|
||||||
env >> /etc/environment
|
|
||||||
echo "✅ Studio IA prêt !"
|
echo "✅ Studio IA prêt !"
|
||||||
|
echo " Open WebUI → http://[IP]:3000"
|
||||||
|
echo " ComfyUI → http://[IP]:8188"
|
||||||
|
echo " ACE-Step → http://[IP]:7860"
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 6. Configuration Open WebUI (à faire avec Claude)
|
## 7. Modèles — État de l'art 2026
|
||||||
|
|
||||||
> Cette partie sera traitée après le build Docker.
|
### 🎵 Musique
|
||||||
|
| Modèle | VRAM | Qualité | Vitesse |
|
||||||
|
|---|---|---|---|
|
||||||
|
| **ACE-Step 1.5** | 8-12 Go | ⭐⭐⭐⭐ | Très rapide |
|
||||||
|
| **Heart Mula** | 12-16 Go | ⭐⭐⭐⭐⭐ | Lente |
|
||||||
|
|
||||||
### 6.1 Tools à créer
|
### 🎤 Voix Off
|
||||||
- `generate_music(prompt, duration, model)` → ACE-Step ou Heart Mula
|
| Modèle | VRAM | Spécialité |
|
||||||
- `generate_voice(text, emotion, duration)` → Zonos ou IndexTTS-2
|
|---|---|---|
|
||||||
- `generate_foley(video_path, prompt)` → HunyuanVideo-Foley
|
| **Zonos-v0.1** | 8-12 Go | Émotion, clone voix 10s, 44kHz |
|
||||||
- `generate_image(prompt, width, height)` → ComfyUI/Flux.1
|
| **IndexTTS-2** | 8 Go | Sync animation, contrôle durée ms |
|
||||||
- `generate_code(prompt, language)` → CodeLlama
|
|
||||||
|
|
||||||
### 6.2 System Prompt assistant
|
### 🔊 Foley
|
||||||
```
|
| Modèle | VRAM | Spécialité |
|
||||||
Tu es un assistant créatif expert en production multimédia.
|
|---|---|---|
|
||||||
Tu guides les novices et utilises les outils appropriés :
|
| **HunyuanVideo-Foley** | 12-16 Go | Analyse vidéo → son synchronisé |
|
||||||
- generate_music : composition musicale complète
|
|
||||||
- generate_voice : voix off avec émotion contrôlée
|
|
||||||
- generate_foley : bruitages synchronisés avec vidéo
|
|
||||||
- generate_image : génération d'images
|
|
||||||
- generate_code : écriture de code
|
|
||||||
|
|
||||||
Tu poses des questions précises avant de générer,
|
### 🖼️ Image
|
||||||
et tu proposes des ajustements après chaque création.
|
| Modèle | VRAM | Qualité |
|
||||||
```
|
|---|---|---|
|
||||||
|
| **Flux.1** | 12-16 Go | ⭐⭐⭐⭐⭐ |
|
||||||
|
| **SDXL** | 8-12 Go | ⭐⭐⭐⭐ |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 7. Estimation disque production
|
## 8. Estimation disque
|
||||||
|
|
||||||
| Élément | Taille |
|
| Élément | Taille |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Image Docker | ~15 Go |
|
| Images Docker (tous services) | ~20 Go |
|
||||||
| Modèles LLM (Mistral + CodeLlama) | ~12 Go |
|
| Modèles LLM (Mistral + CodeLlama) | ~12 Go |
|
||||||
| Modèles Audio (ACE-Step, Heart Mula, Zonos, IndexTTS-2) | ~15 Go |
|
| Modèles Audio (ACE-Step, Heart Mula) | ~10 Go |
|
||||||
|
| Modèles TTS (Zonos, IndexTTS-2) | ~8 Go |
|
||||||
| HunyuanVideo-Foley | ~8 Go |
|
| HunyuanVideo-Foley | ~8 Go |
|
||||||
| ComfyUI + Flux.1 | ~15 Go |
|
| ComfyUI + Flux.1 + SDXL | ~20 Go |
|
||||||
| Données utilisateurs + outputs | ~10 Go |
|
| Outputs utilisateurs | ~10 Go |
|
||||||
| **Total** | **~75 Go** |
|
| **Total** | **~88 Go** |
|
||||||
|
|
||||||
> ✅ 130 Go = confortable
|
> ✅ **130 Go = juste suffisant**
|
||||||
> ⚠️ Si on ajoute SDXL + LoRA : prévoir 200 Go
|
> ⭐ **200 Go = recommandé pour être à l'aise**
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 8. Checklist projet
|
## 9. Configuration Open WebUI (à faire avec Claude)
|
||||||
|
|
||||||
- [x] Architecture définie
|
### 9.1 Connexions à configurer
|
||||||
|
- Ollama : `http://ollama:11434`
|
||||||
|
- ACE-Step : `http://ace-step:7860`
|
||||||
|
- Heart Mula : `http://heart-mula:7861`
|
||||||
|
- Zonos : `http://zonos:7862`
|
||||||
|
- IndexTTS : `http://indextts:7863`
|
||||||
|
- HunyuanVideo : `http://hunyuan-foley:7864`
|
||||||
|
- ComfyUI : `http://comfyui:8188`
|
||||||
|
|
||||||
|
> Sur le réseau Docker interne, les services se parlent par nom de container.
|
||||||
|
|
||||||
|
### 9.2 Tools à créer (Functions Open WebUI)
|
||||||
|
- `generate_music(prompt, duration, model)`
|
||||||
|
- `generate_voice(text, emotion, speaker_sample)`
|
||||||
|
- `generate_foley(video_path, prompt)`
|
||||||
|
- `generate_image(prompt, width, height, model)`
|
||||||
|
- `generate_code(prompt, language)`
|
||||||
|
|
||||||
|
### 9.3 System Prompt
|
||||||
|
```
|
||||||
|
Tu es un assistant créatif expert en production multimédia.
|
||||||
|
Tu disposes des outils suivants :
|
||||||
|
- generate_music : composition musicale (ACE-Step ou Heart Mula)
|
||||||
|
- generate_voice : voix off avec contrôle émotionnel (Zonos ou IndexTTS)
|
||||||
|
- generate_foley : bruitage synchronisé vidéo (HunyuanVideo-Foley)
|
||||||
|
- generate_image : génération d'images (Flux.1 ou SDXL)
|
||||||
|
- generate_code : écriture de code (CodeLlama)
|
||||||
|
|
||||||
|
Avant chaque génération, tu clarifies la demande.
|
||||||
|
Après chaque génération, tu proposes des ajustements.
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 10. Checklist projet
|
||||||
|
|
||||||
|
- [x] Architecture définie (VM + Docker Compose)
|
||||||
- [x] État de l'art 2026 intégré
|
- [x] État de l'art 2026 intégré
|
||||||
- [ ] **Dockerfile → Gemini**
|
- [ ] **Dockerfiles × 7 → Gemini**
|
||||||
- [ ] Build + push DockerHub
|
- [ ] **docker-compose.yml final → Gemini**
|
||||||
- [ ] Mise à jour template Vast.ai
|
- [ ] Build + push DockerHub (image par service)
|
||||||
- [ ] Provisioning script final
|
- [ ] Test VM Vast.ai + Docker Compose
|
||||||
|
- [ ] Scripts téléchargement modèles
|
||||||
- [ ] **Configuration Open WebUI → Claude**
|
- [ ] **Configuration Open WebUI → Claude**
|
||||||
- [ ] **Tools AudioCraft/Foley/TTS → Claude**
|
- [ ] **Tools API (Functions) → Claude**
|
||||||
- [ ] **System Prompts → Claude**
|
- [ ] **System Prompts → Claude**
|
||||||
- [ ] Tests utilisateur
|
- [ ] Tests utilisateur finaux
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 11. Avantages de cette architecture
|
||||||
|
|
||||||
|
| Critère | Venv unique | VM + Docker Compose |
|
||||||
|
|---|---|---|
|
||||||
|
| Isolation dépendances | ⚠️ Partielle | ✅ Totale |
|
||||||
|
| Conflits de versions | ❌ Fréquents | ✅ Impossibles |
|
||||||
|
| Mise à jour d'un modèle | ❌ Risqué | ✅ Indépendante |
|
||||||
|
| Un service plante | ❌ Tout plante | ✅ Les autres continuent |
|
||||||
|
| Maintenabilité | ❌ Difficile | ✅ Simple |
|
||||||
|
| Coût Vast.ai | ✅ Une instance | ✅ Une VM |
|
||||||
Reference in New Issue
Block a user