Spaces:
Building
Building
Update app.py
Browse files
app.py
CHANGED
@@ -26,8 +26,8 @@ if service_account_info:
|
|
26 |
output_folder = "outputs"
|
27 |
os.makedirs(output_folder, exist_ok=True)
|
28 |
|
29 |
-
# ID de la carpeta de destino en Google Drive
|
30 |
-
FOLDER_ID = "
|
31 |
|
32 |
def resize_and_blur_video(clip, target_aspect_ratio=16/9):
|
33 |
"""Redimensiona y aplica desenfoque al fondo del video para mantener el aspecto 16:9."""
|
@@ -56,7 +56,6 @@ def resize_and_blur_video(clip, target_aspect_ratio=16/9):
|
|
56 |
print(f"Error en resize_and_blur_video: {e}")
|
57 |
return clip
|
58 |
|
59 |
-
|
60 |
def concatenate_pixabay_videos(keywords, num_videos_per_keyword=1):
|
61 |
"""Concatena videos de Pixabay basados en palabras clave."""
|
62 |
keyword_list = [keyword.strip() for keyword in keywords.split(",") if keyword.strip()]
|
@@ -92,7 +91,6 @@ def concatenate_pixabay_videos(keywords, num_videos_per_keyword=1):
|
|
92 |
random.shuffle(video_clips)
|
93 |
return concatenate_videoclips(video_clips, method="compose")
|
94 |
|
95 |
-
|
96 |
def adjust_background_music(video_duration, music_file):
|
97 |
"""Ajusta la m煤sica de fondo para que coincida con la duraci贸n del video."""
|
98 |
try:
|
@@ -107,7 +105,6 @@ def adjust_background_music(video_duration, music_file):
|
|
107 |
print(f"Error ajustando m煤sica: {e}")
|
108 |
return None
|
109 |
|
110 |
-
|
111 |
def combine_audio_video(audio_file, video_clip, music_clip=None):
|
112 |
"""Combina el audio y el video en un archivo final."""
|
113 |
try:
|
@@ -145,7 +142,6 @@ def combine_audio_video(audio_file, video_clip, music_clip=None):
|
|
145 |
final_clip.close()
|
146 |
return None
|
147 |
|
148 |
-
|
149 |
def process_input(text, txt_file, mp3_file, selected_voice, rate, pitch, keywords):
|
150 |
"""Procesa la entrada del usuario y genera el video final."""
|
151 |
try:
|
@@ -184,7 +180,6 @@ def process_input(text, txt_file, mp3_file, selected_voice, rate, pitch, keyword
|
|
184 |
print(f"Error durante el procesamiento: {e}")
|
185 |
return None
|
186 |
|
187 |
-
|
188 |
# Interfaz Gradio
|
189 |
with gr.Blocks() as demo:
|
190 |
gr.Markdown("# Text-to-Video Generator")
|
@@ -202,7 +197,7 @@ with gr.Blocks() as demo:
|
|
202 |
rate_slider = gr.Slider(minimum=-50, maximum=50, value=0, label="Speech Rate Adjustment (%)", step=1)
|
203 |
pitch_slider = gr.Slider(minimum=-20, maximum=20, value=0, label="Pitch Adjustment (Hz)", step=1)
|
204 |
with gr.Column():
|
205 |
-
|
206 |
|
207 |
btn = gr.Button("Generate Video")
|
208 |
btn.click(
|
|
|
26 |
output_folder = "outputs"
|
27 |
os.makedirs(output_folder, exist_ok=True)
|
28 |
|
29 |
+
# ID de la carpeta de destino en Google Drive
|
30 |
+
FOLDER_ID = "12S6adpanAXjf71pKKGRRPqpzbJa5XEh3" # Reemplaza con tu ID de carpeta
|
31 |
|
32 |
def resize_and_blur_video(clip, target_aspect_ratio=16/9):
|
33 |
"""Redimensiona y aplica desenfoque al fondo del video para mantener el aspecto 16:9."""
|
|
|
56 |
print(f"Error en resize_and_blur_video: {e}")
|
57 |
return clip
|
58 |
|
|
|
59 |
def concatenate_pixabay_videos(keywords, num_videos_per_keyword=1):
|
60 |
"""Concatena videos de Pixabay basados en palabras clave."""
|
61 |
keyword_list = [keyword.strip() for keyword in keywords.split(",") if keyword.strip()]
|
|
|
91 |
random.shuffle(video_clips)
|
92 |
return concatenate_videoclips(video_clips, method="compose")
|
93 |
|
|
|
94 |
def adjust_background_music(video_duration, music_file):
|
95 |
"""Ajusta la m煤sica de fondo para que coincida con la duraci贸n del video."""
|
96 |
try:
|
|
|
105 |
print(f"Error ajustando m煤sica: {e}")
|
106 |
return None
|
107 |
|
|
|
108 |
def combine_audio_video(audio_file, video_clip, music_clip=None):
|
109 |
"""Combina el audio y el video en un archivo final."""
|
110 |
try:
|
|
|
142 |
final_clip.close()
|
143 |
return None
|
144 |
|
|
|
145 |
def process_input(text, txt_file, mp3_file, selected_voice, rate, pitch, keywords):
|
146 |
"""Procesa la entrada del usuario y genera el video final."""
|
147 |
try:
|
|
|
180 |
print(f"Error durante el procesamiento: {e}")
|
181 |
return None
|
182 |
|
|
|
183 |
# Interfaz Gradio
|
184 |
with gr.Blocks() as demo:
|
185 |
gr.Markdown("# Text-to-Video Generator")
|
|
|
197 |
rate_slider = gr.Slider(minimum=-50, maximum=50, value=0, label="Speech Rate Adjustment (%)", step=1)
|
198 |
pitch_slider = gr.Slider(minimum=-20, maximum=20, value=0, label="Pitch Adjustment (Hz)", step=1)
|
199 |
with gr.Column():
|
200 |
+
output_video = gr.File(label="Generated Video") # En lugar de gr.Video
|
201 |
|
202 |
btn = gr.Button("Generate Video")
|
203 |
btn.click(
|