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}")