Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -5,6 +5,7 @@ from faster_whisper import WhisperModel
|
|
5 |
from moviepy.video.io.VideoFileClip import VideoFileClip
|
6 |
import logging
|
7 |
import google.generativeai as genai
|
|
|
8 |
|
9 |
# Suppress moviepy logs
|
10 |
logging.getLogger("moviepy").setLevel(logging.ERROR)
|
@@ -14,8 +15,8 @@ genai.configure(api_key=os.environ["GEMINI_API_KEY"])
|
|
14 |
|
15 |
# Create the Gemini model
|
16 |
generation_config = {
|
17 |
-
"temperature":
|
18 |
-
"top_p": 0.
|
19 |
"top_k": 40,
|
20 |
"max_output_tokens": 8192,
|
21 |
"response_mime_type": "text/plain",
|
@@ -97,10 +98,14 @@ def format_timestamp(seconds):
|
|
97 |
|
98 |
def translate_text(text, target_language):
|
99 |
"""Translate text using Gemini."""
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
|
|
|
|
|
|
|
|
104 |
|
105 |
def translate_srt(srt_text, target_language):
|
106 |
"""Translate an SRT file while preserving timestamps."""
|
|
|
5 |
from moviepy.video.io.VideoFileClip import VideoFileClip
|
6 |
import logging
|
7 |
import google.generativeai as genai
|
8 |
+
from google.api_core import exceptions
|
9 |
|
10 |
# Suppress moviepy logs
|
11 |
logging.getLogger("moviepy").setLevel(logging.ERROR)
|
|
|
15 |
|
16 |
# Create the Gemini model
|
17 |
generation_config = {
|
18 |
+
"temperature": 1,
|
19 |
+
"top_p": 0.95,
|
20 |
"top_k": 40,
|
21 |
"max_output_tokens": 8192,
|
22 |
"response_mime_type": "text/plain",
|
|
|
98 |
|
99 |
def translate_text(text, target_language):
|
100 |
"""Translate text using Gemini."""
|
101 |
+
try:
|
102 |
+
prompt = f"Translate the following text into {target_language}:\n\n{text}"
|
103 |
+
response = model.generate_content(prompt)
|
104 |
+
return response.text
|
105 |
+
except exceptions.ResourceExhausted:
|
106 |
+
return f"Translation failed: API quota exceeded. Please try again later."
|
107 |
+
except Exception as e:
|
108 |
+
return f"Translation failed: {str(e)}"
|
109 |
|
110 |
def translate_srt(srt_text, target_language):
|
111 |
"""Translate an SRT file while preserving timestamps."""
|