File size: 1,685 Bytes
244cf95
ffd1c6f
5608ce3
 
 
 
 
ffd1c6f
5608ce3
 
ffd1c6f
 
 
5608ce3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ffd1c6f
5608ce3
 
ffd1c6f
5608ce3
 
 
 
 
 
ffd1c6f
5608ce3
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import streamlit as st
from PIL import Image
import io
from gradio_client import Client

st.set_page_config(page_title="Générateur de vidéo", layout="wide")
st.title("🎬 Générateur de vidéo à partir d'une image")

# Upload de l'image
uploaded_file = st.file_uploader("Choisis une image", type=["png", "jpg", "jpeg"])

if uploaded_file:
    image = Image.open(uploaded_file)
    st.image(image, caption="Image chargée", use_column_width=True)

    # Champ pour le prompt
    prompt = st.text_area("Décris le type de vidéo que tu veux générer", height=100)

    if st.button("Générer la vidéo"):
        if not prompt.strip():
            st.warning("Merci de saisir un prompt avant de générer la vidéo.")
        else:
            with st.spinner("Génération de la vidéo en cours... ⏳"):
                try:
                    # Convertir l'image en bytes
                    img_bytes = io.BytesIO()
                    image.save(img_bytes, format="PNG")
                    img_bytes.seek(0)

                    # Connecte-toi à ton modèle sur Hugging Face
                    client = Client("Lightricks/ltx-video-distilled")

                    # Appel du modèle
                    output_video = client.predict(
                        img_bytes,
                        prompt,
                        api_name="predict"  # nom de l'endpoint
                    )

                    # Affichage de la vidéo
                    st.video(output_video)
                    st.success("✅ Vidéo générée avec succès !")
                except Exception as e:
                    st.error(f"Erreur lors de la génération de la vidéo : {e}")