Spaces:
Sleeping
Sleeping
| 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}") | |