from gradio_client import Client import gradio as gr def interact_with_api(video_url, target_language, translate_video): client = Client("https://artificialguybr-video-translation-transcription.hf.space/") result = client.predict( video_url, target_language, translate_video, api_name="/predict" ) return result # Lista de opções de idiomas language_options = [ "Afrikaans", "Albanian", "Amharic", "Arabic", "Armenian", "Azerbaijani", "Basque", "Belarusian", "Bengali", "Bosnian", "Bulgarian", "Catalan", "Cebuano", "Chichewa", "Chino (Simplificado)", "Chino (Tradicional)", "Corso", "Croata", "Checo", "Danés", "Holandés", "Inglés", "Esperanto", "Estonio", "Filipino", "Finlandés", "Francés", "Frisón", "Gallego", "Georgiano", "Alemán", "Griego", "Gujarati", "Criollo haitiano", "Hausa", "Hawaiano", "Hebreo", "Hindi", "Hmong", "Húngaro", "Islandés", "Igbo", "Indonesio", "Irlandés", "Italiano", "Japonés", "Javanés", "Kannada", "Kazajo", "Jemer", "Coreano", "Kurdo (Kurmanji)", "Kirguís", "Laosiano", "Latín", "Letón", "Lituano", "Luxemburgués", "Macedonio", "Malgache", "Malayo", "Malayalam", "Maltés", "Maorí", "Maratí", "Mongol", "Birmano (Myanmar)", "Nepalí", "Noruego", "Oriya", "Pastún", "Persa", "Polaco", "Portugués", "Punyabí", "Rumano", "Ruso", "Samoano", "Gaélico escocés", "Serbio", "Sesotho", "Shona", "Sindhi", "Cingalés", "Eslovaco", "Esloveno", "Somalí", "Español", "Sundanés", "Suajili", "Sueco", "Tayiko", "Tamil", "Telugu", "Tailandés", "Turco", "Ucraniano", "Urdu", "Uigur", "Uzbeko", "Vietnamita", "Galés", "Xhosa", "Yidis", "Yoruba", "Zulú" ] iface = gr.Interface( fn=interact_with_api, inputs=[ gr.Video(label="Subida de video o URL"), gr.Dropdown(choices=language_options, label="Idioma de destino para la traducción.", value="English"), gr.Checkbox(label="Traducir video.", value=True, info="Marcar para traducir el video al idioma seleccionado. Desmarcar para solo la transcripción."), ], outputs="video", title="Transcripción y Traducción de Video", description="""Esta herramienta, creada por [@artificialguybr](https://twitter.com/artificialguybr), utiliza herramientas completamente de código abierto. Agradecimiento especial a Hugging Face por el soporte de GPU. ¡Prueba el espacio de [ Doblaje de Video](https://huggingface.co/spaces/artificialguybr/video-dubbing)! Esta plataforma permite transcribir y traducir videos en múltiples idiomas, ofreciendo una solución accesible y eficiente para la traducción y transcripción de contenido audiovisual.""", allow_flagging=False ) with gr.Blocks() as demo: iface.render() gr.Markdown(""" **Note:** - Límite de video de 15 minutos. Realiza la transcripción y traducción de subtítulos. - La herramienta utiliza modelos de código abierto para todas las funcionalidades. Es una versión alfa. """) demo.queue demo.launch()