Spaces:
Running
Running
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() | |