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