amagastya commited on
Commit
bb36e7e
·
verified ·
1 Parent(s): 5f0bda0

Upload models.py

Browse files
Files changed (1) hide show
  1. models.py +40 -0
models.py ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Any, Dict, List
2
+
3
+ from pydantic import BaseModel, Field
4
+
5
+
6
+ class HeroResearchOutput(BaseModel):
7
+ hero_user: str = Field(description="The identified hero user who will benefit most from the app.")
8
+ hero_use_case: str = Field(description="The primary use case explaining why the hero user would use the app and what they aim to achieve.")
9
+ hero_journey: List[str] = Field(description="A list of steps outlining the journey the hero user will take within the app.")
10
+ # app_name: str = Field(description="Given App Name")
11
+ # app_idea: str = Field(description="Given App Idea")
12
+
13
+
14
+ class FeatureMapping(BaseModel):
15
+ step: str = Field(description="A specific step in the hero user's journey.")
16
+ features: List[Dict[str, Any]] = Field(description="A list of features from the buildcard that correspond to the journey step.")
17
+
18
+ class FeatureIntegrationOutput(BaseModel):
19
+ journey_features_mapping: List[FeatureMapping]
20
+
21
+ class ContentPlanStep(BaseModel):
22
+ step_description: str
23
+ features: List[Dict[str, Any]]
24
+
25
+ class ContentPlanOutput(BaseModel):
26
+ content_plan: List[ContentPlanStep]
27
+
28
+ class ScriptStep(BaseModel):
29
+ step_description: str
30
+ narrator: str
31
+ action: str
32
+ features: List[Dict[str, Any]]
33
+
34
+ class ScriptOutput(BaseModel):
35
+ sizzle_reel_script: List[ScriptStep]
36
+
37
+ class VideoGenerationOutput(BaseModel):
38
+ video_path: str = Field(description="Path to the generated sizzle reel video")
39
+ video_duration: float = Field(description="Duration of the generated video in seconds")
40
+ app_name: str = Field(description="Name of the app for which video was generated")