File size: 3,040 Bytes
9b3fdf8
d8f2cab
9b3fdf8
 
d8f2cab
 
 
 
 
 
 
 
 
 
 
 
 
1f202ab
 
 
 
 
 
 
 
 
 
 
 
d8f2cab
9b3fdf8
 
d8f2cab
 
1f202ab
 
 
d8f2cab
 
1f202ab
 
d8f2cab
940fff7
9b3fdf8
d8f2cab
 
 
 
1f202ab
 
d8f2cab
4bbf5e6
d8f2cab
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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()