kneth02's picture
Update app.py
4d52a50 verified
import gradio as gr
# Bahasa-bahasa yang tersedia
languages = {
"English": "en",
"Indonesian": "id",
"Spanish": "es",
"French": "fr",
"German": "de",
"Italian": "it",
"Portuguese": "pt",
"Russian": "ru",
"Japanese": "ja",
"Korean": "ko",
"Chinese (Simplified)": "zh-CN",
"Arabic": "ar",
"Turkish": "tr",
"Hindi": "hi",
"Thai": "th"
}
# Genre, visual style, mood, etc.
genres = ["Horror", "Romance", "Fantasy", "Sci-Fi", "Mystery", "Absurd Comedy"]
styles = ["Realistic", "Semi-Realistic", "Cartoon", "Anime", "Noir", "Pixar-like"]
moods = ["Funny", "Sad", "Mysterious", "Emotional", "Light-hearted", "Dark"]
rations = ["9:16 (Vertical)", "16:9 (Landscape)", "1:1 (Square)"]
audio = ["Rain Sound", "Glitch Effect", "Heartbeat", "Footsteps", "Silence"]
# Prompt generation function
def generate_prompt(language, genre, style, mood, ratio, setting, character, object, audio_fx, translation):
prompt = f"Scene in {setting} with a {character} interacting with {object}. Genre: {genre}. Visual style: {style}. Mood: {mood}. Format: {ratio}. Background audio: {audio_fx}."
if translation:
try:
from googletrans import Translator
translator = Translator()
translated = translator.translate(prompt, dest=language)
return translated.text
except:
return "Translation failed. Please install googletrans library."
return prompt
# UI
with gr.Blocks() as app:
gr.Markdown("""# ๐ŸŽฌ Gemini Veo 3 Prompt Generator (15 Languages)
Buat prompt untuk video AI-mu dengan gaya dan bahasa yang kamu inginkan.
""")
lang = gr.Dropdown(list(languages.keys()), label="Bahasa Output")
genre = gr.Dropdown(genres, label="Genre Cerita")
style = gr.Dropdown(styles, label="Gaya Visual")
mood = gr.Dropdown(moods, label="Mood Cerita")
ratio = gr.Dropdown(rations, label="Rasio Layar")
setting = gr.Textbox(label="Lokasi/Tempat Adegan")
character = gr.Textbox(label="Karakter Utama")
object = gr.Textbox(label="Objek atau Makhluk yang Ditemui")
audio_fx = gr.Dropdown(audio, label="Efek Audio")
translate = gr.Checkbox(label="Terjemahkan prompt ke bahasa yang dipilih")
output = gr.Textbox(label="Prompt Final", lines=5)
generate = gr.Button("๐Ÿ”ฎ Generate Prompt")
generate.click(fn=generate_prompt,
inputs=[lang, genre, style, mood, ratio, setting, character, object, audio_fx, translate],
outputs=output)
app.launch()