artificialguybr
commited on
Commit
•
9b3fdf8
1
Parent(s):
2bdfa8b
Create app.py
Browse files
app.py
ADDED
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import gradio as gr
|
2 |
+
from gradio_client import Client
|
3 |
+
|
4 |
+
def process_video(video_url, target_language, translate_video):
|
5 |
+
try:
|
6 |
+
client = Client("https://artificialguybr-video-translation-transcription.hf.space/")
|
7 |
+
result = client.predict(
|
8 |
+
video_url,
|
9 |
+
target_language,
|
10 |
+
translate_video,
|
11 |
+
api_name="/predict"
|
12 |
+
)
|
13 |
+
return result
|
14 |
+
except Exception as e:
|
15 |
+
print(f"Erro ao chamar a API: {e}")
|
16 |
+
return "Ocorreu um erro ao processar o vídeo."
|
17 |
+
|
18 |
+
# Componentes Gradio
|
19 |
+
video_url = gr.Textbox(label="URL do Vídeo", placeholder="Insira a URL do vídeo aqui")
|
20 |
+
dropdown = gr.Dropdown(
|
21 |
+
choices=[
|
22 |
+
"Afrikaans", "Albanian", "Amharic", "Arabic", "Armenian", "Azerbaijani", "Basque",
|
23 |
+
"Belarusian", "Bengali", "Bosnian", "Bulgarian", "Catalan", "Cebuano", "Chichewa",
|
24 |
+
"Chinese (Simplified)", "Chinese (Traditional)", "Corsican", "Croatian", "Czech",
|
25 |
+
"Danish", "Dutch", "English", "Esperanto", "Estonian", "Filipino", "Finnish",
|
26 |
+
"French", "Frisian", "Galician", "Georgian", "German", "Greek", "Gujarati",
|
27 |
+
"Haitian Creole", "Hausa", "Hawaiian", "Hebrew", "Hindi", "Hmong", "Hungarian",
|
28 |
+
"Icelandic", "Igbo", "Indonesian", "Irish", "Italian", "Japanese", "Javanese",
|
29 |
+
"Kannada", "Kazakh", "Khmer", "Korean", "Kurdish (Kurmanji)", "Kyrgyz", "Lao",
|
30 |
+
"Latin", "Latvian", "Lithuanian", "Luxembourgish", "Macedonian", "Malagasy",
|
31 |
+
"Malay", "Malayalam", "Maltese", "Maori", "Marathi", "Mongolian", "Myanmar (Burmese)",
|
32 |
+
"Nepali", "Norwegian", "Odia", "Pashto", "Persian", "Polish", "Portuguese", "Punjabi",
|
33 |
+
"Romanian", "Russian", "Samoan", "Scots Gaelic", "Serbian", "Sesotho", "Shona",
|
34 |
+
"Sindhi", "Sinhala", "Slovak", "Slovenian", "Somali", "Spanish", "Sundanese",
|
35 |
+
"Swahili", "Swedish", "Tajik", "Tamil", "Telugu", "Thai", "Turkish", "Ukrainian",
|
36 |
+
"Urdu", "Uyghur", "Uzbek", "Vietnamese", "Welsh", "Xhosa", "Yiddish", "Yoruba", "Zulu"
|
37 |
+
],
|
38 |
+
label="Idioma de Destino para Tradução"
|
39 |
+
)
|
40 |
+
checkbox = gr.Checkbox(label="Traduzir Vídeo", value=True)
|
41 |
+
|
42 |
+
# Interface Gradio
|
43 |
+
iface = gr.Interface(
|
44 |
+
fn=process_video,
|
45 |
+
inputs=[video_url, dropdown, checkbox],
|
46 |
+
outputs=gr.Video(),
|
47 |
+
live=False,
|
48 |
+
title="Tradução e Transcrição de Vídeo com AI",
|
49 |
+
description="Insira a URL do vídeo e selecione o idioma de destino para a tradução. Esta ferramenta utiliza a API de tradução e transcrição de vídeo.",
|
50 |
+
gr.Markdown("""
|
51 |
+
**Note:**
|
52 |
+
- Video limit is 15 minute. It will do the transcription and translate of subtitles.
|
53 |
+
- The tool uses open-source models for all models. It's a alpha version.
|
54 |
+
""")
|
55 |
+
)
|
56 |
+
|
57 |
+
iface.launch()
|