artificialguybr's picture
Update app.py
1f202ab verified
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()