fffiloni commited on
Commit
a012761
·
verified ·
1 Parent(s): 5e6090b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -10
app.py CHANGED
@@ -152,19 +152,27 @@ def create_temp_input_json(prompt: str, cond_image_path: str, cond_audio_path_sp
152
 
153
  def infer(prompt, cond_image_path, cond_audio_path_spk1, cond_audio_path_spk2, sample_steps):
154
 
 
 
 
 
155
  if is_shared_ui:
156
-
157
  trimmed_audio_path_spk1 = trim_audio_to_5s_temp(cond_audio_path_spk1)
158
- cond_audio_path_spk1 = trimmed_audio_path_spk1
159
-
 
 
160
  if cond_audio_path_spk2 is not None:
161
  trimmed_audio_path_spk2 = trim_audio_to_5s_temp(cond_audio_path_spk2)
162
- cond_audio_path_spk2 = trimmed_audio_path_spk2
163
-
 
 
164
  # Prepare input JSON
165
  input_json_path = create_temp_input_json(prompt, cond_image_path, cond_audio_path_spk1, cond_audio_path_spk2)
166
-
167
- # Base args
 
168
  common_args = [
169
  "--ckpt_dir", "weights/Wan2.1-I2V-14B-480P",
170
  "--wav2vec_dir", "weights/chinese-wav2vec2-base",
@@ -172,7 +180,7 @@ def infer(prompt, cond_image_path, cond_audio_path_spk1, cond_audio_path_spk2, s
172
  "--sample_steps", str(sample_steps),
173
  "--mode", "streaming",
174
  "--use_teacache",
175
- "--save_file", "multi_long_multigpu_exp"
176
  ]
177
 
178
  if num_gpus > 1:
@@ -210,9 +218,16 @@ def infer(prompt, cond_image_path, cond_audio_path_spk1, cond_audio_path_spk2, s
210
  if process.returncode != 0:
211
  raise RuntimeError("Inference failed. Check inference.log for details.")
212
 
213
- return "multi_long_multigpu_exp.mp4"
214
 
215
-
 
 
 
 
 
 
 
216
 
217
 
218
  with gr.Blocks(title="MultiTalk Inference") as demo:
 
152
 
153
  def infer(prompt, cond_image_path, cond_audio_path_spk1, cond_audio_path_spk2, sample_steps):
154
 
155
+ timestamp = datetime.now().strftime("%Y%m%d%H%M%S%f")
156
+ result_filename = f"meigen_multitalk_result_{sample_steps}_steps_{timestamp}"
157
+ temp_files_to_cleanup = []
158
+
159
  if is_shared_ui:
 
160
  trimmed_audio_path_spk1 = trim_audio_to_5s_temp(cond_audio_path_spk1)
161
+ if trimmed_audio_path_spk1 != cond_audio_path_spk1:
162
+ cond_audio_path_spk1 = trimmed_audio_path_spk1
163
+ temp_files_to_cleanup.append(trimmed_audio_path_spk1)
164
+
165
  if cond_audio_path_spk2 is not None:
166
  trimmed_audio_path_spk2 = trim_audio_to_5s_temp(cond_audio_path_spk2)
167
+ if trimmed_audio_path_spk2 != cond_audio_path_spk2:
168
+ cond_audio_path_spk2 = trimmed_audio_path_spk2
169
+ temp_files_to_cleanup.append(trimmed_audio_path_spk2)
170
+
171
  # Prepare input JSON
172
  input_json_path = create_temp_input_json(prompt, cond_image_path, cond_audio_path_spk1, cond_audio_path_spk2)
173
+ temp_files_to_cleanup.append(input_json_path)
174
+
175
+ # Base args
176
  common_args = [
177
  "--ckpt_dir", "weights/Wan2.1-I2V-14B-480P",
178
  "--wav2vec_dir", "weights/chinese-wav2vec2-base",
 
180
  "--sample_steps", str(sample_steps),
181
  "--mode", "streaming",
182
  "--use_teacache",
183
+ "--save_file", result_filename
184
  ]
185
 
186
  if num_gpus > 1:
 
218
  if process.returncode != 0:
219
  raise RuntimeError("Inference failed. Check inference.log for details.")
220
 
221
+ return f"{result_filename}.mp4"
222
 
223
+ finally:
224
+ for f in temp_files_to_cleanup:
225
+ try:
226
+ if os.path.exists(f):
227
+ os.remove(f)
228
+ print(f"[INFO] Removed temporary file: {f}")
229
+ except Exception as e:
230
+ print(f"[WARNING] Could not remove {f}: {e}")
231
 
232
 
233
  with gr.Blocks(title="MultiTalk Inference") as demo: