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() |