72 lines
No EOL
1.5 KiB
Markdown
72 lines
No EOL
1.5 KiB
Markdown
# VideoStory
|
|
|
|
C'est une expérience avec Stable Diffusion 1.5, Llama 3 et du TTS qui permet la génération de "vidéo" (suite d'images) avec une histoire narrée. Il supporte potentiellement SD Video.
|
|
Ce programme n'a pas vraiment pour vocation d'être utilisé.
|
|
|
|
## Librairie
|
|
Voici les dépendances:
|
|
```
|
|
re
|
|
llama_cpp
|
|
outetts
|
|
diffusers
|
|
torch
|
|
os
|
|
moviepy
|
|
```
|
|
|
|
## Utilisation
|
|
Dans le fichier `main.py`, ajoutez dans l'appel de main() le prompt.
|
|
`SYSTEMPROMPTT` est le prompt système de Llama.
|
|
`SDBAD` est le prompt négatif de Stable Diffusion.
|
|
`SYSTEMPROMPTI` est le prompt système de Llama pour Stable Diffusion.
|
|
|
|
`promptTtoI.txt` et `promptUtoT.txt` sont respectivement le prompt système de Stable Diffusion et celui de Llama.
|
|
|
|
Dans le fichier `gen.py`, dans les fonctions `loadllama()`, `loadtts()` et `loadsdxl()` vous devez ajouter vos models (fichiers locaux).
|
|
|
|
Le programme se lance avec `main.py`.
|
|
|
|
## Fonctionnement
|
|
```mermaid
|
|
flowchart TD;
|
|
sd{{"Stable Diffusion"}}
|
|
img1["Image 1"]
|
|
img2["Image 2"]
|
|
img3["Image 3"]
|
|
p1["Paragraphe 1"]
|
|
p2["Paragraphe 2 + (1)"]
|
|
p3["Paragraphe 3 + (1 + 2)"]
|
|
fa["Fichier Audio"]
|
|
vd{"Vidéo"}
|
|
prt{"Prompt"}
|
|
llm{{"Llama"}}
|
|
llm1{{"Llama"}}
|
|
llm2{{"Llama"}}
|
|
llm3{{"Llama"}}
|
|
tts{{"TTS"}}
|
|
prt --> llm;
|
|
llm --> Texte;
|
|
Texte --> p1;
|
|
Texte --> p2;
|
|
Texte --> p3;
|
|
Texte --> tts;
|
|
tts --> fa;
|
|
p1 --> llm1;
|
|
p2 --> llm2;
|
|
p3 --> llm3;
|
|
llm1 --> sd
|
|
llm2 --> sd
|
|
llm3 --> sd
|
|
sd --> img1;
|
|
sd --> img2;
|
|
sd --> img3;
|
|
fa --> vd;
|
|
img1 --> vd;
|
|
img2 --> vd;
|
|
img3 --> vd;
|
|
```
|
|
|
|
## Exemple de sortie
|
|
|
|
https://uwo.nya.pub/forge/Joachim/VideoStory/src/branch/main/out.mp4 |