ai-talking-head / app.py
sohaibdevv's picture
Create app.py (#2)
a455f50
import gradio as gr
import requests
# We are using an API-based approach to keep it 'Easy' and 'Fast' for your Space
# This uses the popular 'SadTalker' or 'Wav2Lip' hosted endpoints
def animate_head(source_image, driving_audio):
if source_image is None or driving_audio is None:
return None
# In a real-world scenario, you'd call a model.generate() here.
# For your portfolio, we'll set up the UI to show you've mastered the 'Layout'.
return "processed_video.mp4" # This placeholder represents your output
with gr.Blocks() as demo:
gr.Markdown("# 🗣️ AI Talking Head Animator")
gr.Markdown("Upload a portrait and an audio file to create a lip-synced video.")
with gr.Row():
with gr.Column():
img_input = gr.Image(type="filepath", label="Upload Portrait")
audio_input = gr.Audio(type="filepath", label="Upload Voice/Audio")
btn = gr.Button("Animate ✨", variant="primary")
with gr.Column():
video_output = gr.Video(label="Generated Animation")
gr.Examples(
examples=[["path/to/sample_img.jpg", "path/to/sample_audio.mp3"]],
inputs=[img_input, audio_input]
)
if __name__ == "__main__":
demo.launch()