Spaces:
Runtime error
Runtime error
import gradio as gr | |
from gradio_client import Client | |
def swap(radio): | |
if radio == "Upload": | |
return gr.update(source="upload") | |
else: | |
return gr.update(source="webcam") | |
def process_video(radio, video, language, use_wav2lip): | |
try: | |
client = Client("https://artificialguybr-video-dubbing.hf.space/") | |
result = client.predict( | |
radio, | |
video, | |
language, | |
use_wav2lip, | |
api_name="/predict" | |
) | |
return result | |
except Exception as e: | |
print(f"Erro ao chamar a API: {e}") | |
return "Ocorreu um erro ao processar o vídeo." | |
# Componentes Gradio | |
video = gr.Video() | |
radio = gr.Radio(["Upload", "Gravar"], value="Upload", show_label=False) | |
dropdown = gr.Dropdown(choices=["Inglés", "Español", "Francés", "Alemán", "Italiano", "Portugués", "Polaco", "Turco", "Ruso", "Holandés", "Checo", "Árabe", "Chino (Simplificado)"], label="Idioma de Destino para Doblaje", value="Español") | |
checkbox = gr.Checkbox(label="El video tiene un primer plano del rostro. Usa Wav2lip.", value=False) | |
# Interface Gradio | |
iface = gr.Interface( | |
fn=process_video, | |
inputs=[radio, video, dropdown, checkbox], | |
outputs=gr.Video(), | |
live=False, | |
title="Doblaje de Video con IA", | |
description="Esta herramienta fue desarrollada por [@artificialguybr](https://twitter.com/artificialguybr) utilizando exclusivamente herramientas de código abierto. Un agradecimiento especial a Hugging Face por el soporte de GPU. Agradecimientos a [@yeswondwer](https://twitter.com/@yeswondwerr) por el código original. ¡Prueba el espacio [Transcripción y Traducción de Videos](https://huggingface.co/spaces/artificialguybr/VIDEO-TRANSLATION-TRANSCRIPTION)!", | |
allow_flagging=False | |
) | |
# Bloco Gradio | |
with gr.Blocks() as demo: | |
iface.render() | |
radio.change(swap, inputs=[radio], outputs=[video]) | |
gr.Markdown(""" | |
**Nota:** | |
- El límite de video es de 1 minuto. Doblará a todas las personas usando solo una voz. | |
- La generación puede tardar hasta 5 minutos. | |
- Al usar esta demo, usted acepta los términos de la Licencia de Modelo Público Coqui en https://coqui.ai/cpml | |
- La herramienta utiliza modelos de código abierto para todos los modelos. Es una versión alfa. | |
- La calidad puede ser mejorada, pero requeriría más tiempo de procesamiento por video. Para escalabilidad y limitaciones de hardware, se eligió la velocidad, no solo la calidad. | |
- Si necesita más de 1 minuto, duplique el Espacio y cambie el límite en app.py. | |
- Si marca incorrectamente la opción 'El video tiene un primer plano del rostro', el doblaje puede no funcionar como se espera. | |
""") | |
demo.queue | |
demo.launch() |