Update app.py
Browse files
app.py
CHANGED
@@ -120,6 +120,14 @@ def create_video_from_audio(audio_path, images, output_path):
|
|
120 |
video_clip.close()
|
121 |
final_clip.close()
|
122 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
@spaces.GPU
|
124 |
def predict(
|
125 |
prompt,
|
@@ -170,6 +178,10 @@ def predict(
|
|
170 |
prompt = re.sub("([^\x00-\x7F]|\w)(\.|\。|\?)", r"\1 \2\2", prompt)
|
171 |
if normalize_text and language == "vi":
|
172 |
prompt = normalize_vietnamese_text(prompt)
|
|
|
|
|
|
|
|
|
173 |
print("I: Generating new audio...")
|
174 |
t0 = time.time()
|
175 |
out = MODEL.inference(
|
@@ -197,7 +209,14 @@ def predict(
|
|
197 |
|
198 |
# Tạo video từ file audio
|
199 |
print("I: Generating video from audio...")
|
200 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
201 |
utils.combine_videos(folder_name)
|
202 |
video_path = os.path.join(folder_name, "Final_Ad_Video.mp4")
|
203 |
|
|
|
120 |
video_clip.close()
|
121 |
final_clip.close()
|
122 |
|
123 |
+
def truncate_prompt(prompt, tokenizer, max_length=512):
|
124 |
+
"""Truncate prompt to fit within the maximum token length."""
|
125 |
+
tokens = tokenizer.tokenize(prompt)
|
126 |
+
if len(tokens) > max_length:
|
127 |
+
tokens = tokens[:max_length]
|
128 |
+
prompt = tokenizer.convert_tokens_to_string(tokens)
|
129 |
+
return prompt
|
130 |
+
|
131 |
@spaces.GPU
|
132 |
def predict(
|
133 |
prompt,
|
|
|
178 |
prompt = re.sub("([^\x00-\x7F]|\w)(\.|\。|\?)", r"\1 \2\2", prompt)
|
179 |
if normalize_text and language == "vi":
|
180 |
prompt = normalize_vietnamese_text(prompt)
|
181 |
+
|
182 |
+
# Truncate prompt to fit within the maximum token length
|
183 |
+
prompt = truncate_prompt(prompt, tokenizer)
|
184 |
+
|
185 |
print("I: Generating new audio...")
|
186 |
t0 = time.time()
|
187 |
out = MODEL.inference(
|
|
|
209 |
|
210 |
# Tạo video từ file audio
|
211 |
print("I: Generating video from audio...")
|
212 |
+
# Sử dụng UUID để tạo tên thư mục ngắn gọn
|
213 |
+
folder_name = f"video_{uuid.uuid4().hex}"
|
214 |
+
os.makedirs(folder_name, exist_ok=True)
|
215 |
+
folder_path = os.path.join(folder_name, "images")
|
216 |
+
os.makedirs(folder_path, exist_ok=True)
|
217 |
+
|
218 |
+
# Tạo video từ file audio và các hình ảnh
|
219 |
+
folder_name, sentences = pexels.generate_videos(prompt, pexels_api_key, "landscape", 1080, 1920, llm_chain, sum_llm_chain, folder_path)
|
220 |
utils.combine_videos(folder_name)
|
221 |
video_path = os.path.join(folder_name, "Final_Ad_Video.mp4")
|
222 |
|