File size: 1,930 Bytes
f4f1e64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
# core/prompt_engineering.py
def create_story_breakdown_prompt(user_idea, genre="sci-fi", mood="suspenseful"):
    return f"""
    You are an expert screenwriter and visual storyteller.
    Based on the user's idea: "{user_idea}"
    And considering the genre: "{genre}" and mood: "{mood}"

    Generate a 3-scene story breakdown. For each scene, provide:
    1. scene_number (int)
    2. setting_description (str): Vivid description of the location and atmosphere.
    3. characters_involved (list of str): Names of characters in the scene.
    4. key_action (str): The main event or action happening.
    5. visual_style_suggestion (str): e.g., "Dark and gritty, high contrast, Blade Runner-esque neon"
    6. camera_angle_suggestion (str): e.g., "Low-angle shot to emphasize power"

    Output ONLY the JSON object. Example for one scene:
    {{
      "scene_number": 1,
      "setting_description": "A dimly lit, cluttered spaceship cockpit. Warning lights flash intermittently.",
      "characters_involved": ["Captain Eva Rostova"],
      "key_action": "Eva notices an unusual energy signature on the main console.",
      "visual_style_suggestion": "Claustrophobic, practical lighting, lens flares.",
      "camera_angle_suggestion": "Close-up on Eva's face, then a point-of-view shot of the console."
    }}

    Provide the full JSON structure for 3 scenes in a list:
    [
        {{scene1_details...}},
        {{scene2_details...}},
        {{scene3_details...}}
    ]
    """

def create_image_prompt_from_scene(scene_description, visual_style):
    return f"""
    Generate a highly detailed, photorealistic image generation prompt for an AI image generator.
    The image should depict: {scene_description}
    The style should be: {visual_style}.
    Focus on cinematic composition, lighting, and mood.
    Make the prompt suitable for models like DALL-E 3 or Midjourney.
    Output only the prompt string.
    """