File size: 2,539 Bytes
11a0773
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4d52a50
 
 
11a0773
 
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68

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()