Update app.py
Browse files
app.py
CHANGED
@@ -133,17 +133,20 @@ class WanGPInterface:
|
|
133 |
raise e
|
134 |
|
135 |
def generate_avatar_video(self, audio_file, avatar_image, prompt="", emotion="neutral"):
|
136 |
-
"""Generate avatar video from audio and image"""
|
137 |
try:
|
138 |
self.load_models()
|
|
|
|
|
|
|
139 |
|
140 |
-
#
|
141 |
-
#
|
142 |
-
|
143 |
-
return "Video
|
144 |
-
|
145 |
except Exception as e:
|
146 |
-
return f"Error: {str(e)}"
|
|
|
147 |
|
148 |
def generate_video(self, prompt, duration=5, resolution="512x512"):
|
149 |
"""Generate video from text prompt"""
|
@@ -227,7 +230,7 @@ def create_gradio_interface(wangp_interface):
|
|
227 |
generate_avatar_btn.click(
|
228 |
fn=wangp_interface.generate_avatar_video,
|
229 |
inputs=[audio_input, avatar_image, avatar_prompt, emotion_control],
|
230 |
-
outputs=[avatar_status]
|
231 |
)
|
232 |
|
233 |
generate_video_btn.click(
|
|
|
133 |
raise e
|
134 |
|
135 |
def generate_avatar_video(self, audio_file, avatar_image, prompt="", emotion="neutral"):
|
|
|
136 |
try:
|
137 |
self.load_models()
|
138 |
+
|
139 |
+
# Gọi model thật để sinh video từ ảnh và audio
|
140 |
+
output_video_path = "/tmp/generated_avatar.mp4"
|
141 |
|
142 |
+
# TODO: thay bằng đoạn code gọi mô hình HunyuanAvatar thực sự
|
143 |
+
# Giả sử video đã được lưu vào `output_video_path`
|
144 |
+
|
145 |
+
return output_video_path, "✅ Video generated successfully!"
|
146 |
+
|
147 |
except Exception as e:
|
148 |
+
return None, f"❌ Error: {str(e)}"
|
149 |
+
|
150 |
|
151 |
def generate_video(self, prompt, duration=5, resolution="512x512"):
|
152 |
"""Generate video from text prompt"""
|
|
|
230 |
generate_avatar_btn.click(
|
231 |
fn=wangp_interface.generate_avatar_video,
|
232 |
inputs=[audio_input, avatar_image, avatar_prompt, emotion_control],
|
233 |
+
outputs=[avatar_output, avatar_status] # trả ra cả video và status
|
234 |
)
|
235 |
|
236 |
generate_video_btn.click(
|